-
Notifications
You must be signed in to change notification settings - Fork 0
Tools
The VTX repo ships three first-party tools alongside the SDK libraries. Each is independently buildable via a CMake option. See Getting Started, CMake options.
An ImGui-based visual inspector for browsing replay files. Open a .vtx file and step through frames, expand entities, drill into properties, watch bone transforms, and diff across time.
Requires OpenGL.
dist/bin/vtx_inspector.exe
Typical uses:
- Debugging a capture that looks wrong.
- Eyeballing what a new schema actually produces.
- Scrubbing through an incident to find the frame where things went sideways.
- Teaching someone what a VTX file contains.
A JSON-based command-line inspector designed for scripting and AI-agent consumption. No GUI, no interactive prompts, just structured input and structured output.
dist/bin/vtx_cli.exe --help
dist/bin/vtx_cli.exe --json-only
Supported commands include:
-
open/close: file lifecycle. -
frame: load a specific frame. -
entities/entity: list and inspect entities. -
property: query a property by key. -
buckets: enumerate bucket contents (entity / bone / events / stats). -
types: list property types. -
diff: compute a diff between two frames. -
track: follow an entity across frames. -
search: find entities / properties by name.
Use this when you want to:
- Feed VTX state into a language model or an automated pipeline.
- Batch-process a directory of replays (stats extraction, data cleaning, training-data prep).
- Wire VTX into tooling in a language other than C++, such as Python scripts, Node tools, or shell pipelines.
The JSON protocol is deterministic and stable enough to consume from outside processes.
A GUI tool for building and maintaining the schema.json file that the writer consumes via WriterFacadeConfig::schema_json_path. A schema declares the entity structs, their properties, property types, and the bucket layout the recorder will group entities into.
dist/bin/vtx_schema_creator.exe
Typical flow:
- New Schema: creates an empty document with a default bucket list.
-
Add a struct (e.g.
Player), then add properties to it. For each property pick atypeId(Int32,Float,Vector3,String, ...), a display name, and a category. - Map structs to buckets in the Buckets window so the writer knows where each entity type is stored in a frame.
- Validate: the tool flags missing types, duplicate names, mismatched bucket mappings, etc.
- Save: produces a JSON file you point the writer at.
- Evolve: loading an existing schema captures it as the baseline. Changes are diffed against the baseline; saving "as next generation" bumps the version and refuses to proceed if the diff contains breaking changes (removed fields, incompatible type changes).
A concrete schema ready to drop into the writer is
samples/content/writer/arena/arena_schema.json. Open it in Schema Creator to see the output format.
The repo ships a samples directory with example writers, example readers, and sample replay content:
-
samples/for example programs. -
samples/content/for sample replays and schemas.
See docs/SAMPLES.md for the full tour.
VTX is an open, self-describing binary format for real-time state data. Apache-2.0. (c) 2026 Zenos Interactive.