01
Overview
The selected gameplay session and its available video, input, camera, state and event records.
Parkour and traversal across … shared frame positions. RGB, depth and surface normals are paired with camera pose, the values behind movement, look and jump controls, and recorded character-state changes. Inputs and engine events let you inspect what happened alongside each observation.
- Project and map
- unavailable
- Engine
- unavailable
- Recorded
- 2026-10-16T16:57:17.852Z
- Capture and preparation tooling
- unavailable
- Rights
- Not supplied for this sample. The displayed package grants no training or redistribution rights.
Loading manifest provenance.
02
Get started
Download the telemetry tables and inspect the frame joins in Python.
1. Download the telemetry sample
Original converter-produced tables supplied with the capture. The ZIP contains the unchanged source manifest, original converter QA, the preparation report, notes and three Parquet tables.
Download telemetry-sample.zip (≈518 KiB)- Session manifest · JSON · supplied capture manifest; streams, clock and documented conventions
- QA report · JSON · preparation validation, not a converter certificate
- Preparation report · JSON · preview preparation and table provenance, separate from source QA
The lossless depth and normals files and the full-resolution RGB aren't hosted here. Ask if you need them for evaluation.
2. Unzip it
manifest.json · unchanged source manifest · qa.json · original converter report · preparation.json · web preparation report · PREPARATION.txt · preparation notes · tables/frames.parquet · original converter table · tables/input_raw.parquet · original converter table · tables/events.parquet · original converter table
3. Read the first rows
With pyarrow and pandas installed, this reads the frames table.
first_rows.pyimport pyarrow.parquet as pq frames = pq.read_table("tables/frames.parquet").to_pandas() print(len(frames), "frames") # … print(frames[["frame_idx", "t_ns", "cam_pos_x", "cam_pos_y", "cam_pos_z"]].head())Full example: read all three tables and join them on frame
quickstart.pyimport pyarrow.parquet as pq frames = pq.read_table("tables/frames.parquet").to_pandas() inputs = pq.read_table("tables/input_raw.parquet").to_pandas() events = pq.read_table("tables/events.parquet").to_pandas() print(len(frames), "frames") # … print(frames[["frame_idx", "t_ns", "cam_pos_x", "cam_pos_y", "cam_pos_z"]].head()) # Join observations by frame index, never elapsed time. # Preserve source boundary events N; these have no matching frame row. aligned_events = events.merge(frames[["frame_idx", "t_ns"]], on="frame_idx", how="left", suffixes=("_event", "_frame")) aligned_inputs = inputs.merge(frames[["frame_idx"]], left_on="frame_next", right_on="frame_idx", how="left") print(aligned_events.head(), aligned_inputs.head(), sep="\n")
03
File structure
Supplied source files and the separate evaluation package for the selected sample.
session_…/
Supplied source files
manifest.json · original capture manifest, unchanged
qa.json · original converter report
depth/depth.mkv · supplied source media
normals/normals.mkv · supplied source media
video/prehud.mp4 · supplied source media
raw/frames.jsonl · supplied raw telemetry
raw/input_raw.jsonl · supplied raw telemetry
raw/events.jsonl · supplied raw telemetry
raw/streams.jsonl · supplied raw telemetry
tables/events.parquet · original converter table
tables/frames.parquet · original converter table
tables/input_raw.parquet · original converter table
Evaluation package
manifest.json · unchanged source manifest
qa.json · original converter report
preparation.json · web preparation report
PREPARATION.txt · preparation notes
tables/frames.parquet · original converter table
tables/input_raw.parquet · original converter table
tables/events.parquet · original converter table04
Data reference
How frames and timestamps relate, how to decode the visual streams and what a real record looks like.
Join on frame, never on time.
Media frame N is frames[N], or frame_idx = N in Parquet. Events carry the frame they happened on. Inputs carry frame_next, the first frame they could affect.
Frame alignment and playback time
Every stream shares the same frame index. This preview plays at 60 FPS; the original capture timestamps preserve the game's timing. Use frame numbers to match video with telemetry.
- Media time
- The preview video's clock: … frames at a constant 60 FPS, so … seconds.
- Capture time
- The game's own clock, which ran for … seconds because real frames weren't evenly spaced.
From a media timestamp:
N = floor(mediaTime × 60)
Don't seek video by capture time, and don't scale by the duration ratio.
Decoding and conventions
Use the selected manifest's documented stream encodings, decode formulas and coordinate conventions. Unspecified conventions are unavailable.
The videos on this page are downscaled, lossy previews. The depth preview shows the log codes as greyscale, so it's a picture of depth rather than depth values. Use the lossless source files for anything numerical.
Real records
Available records exactly as they appear in the selected sample. Use the arrow keys to move between tabs.
Loading records…
05
Capture quality and validation
Review the evidence behind the observations, geometry and actions your model will learn from.
Source capture checks
Loading the source converter report…
Preview preparation
Loading preview preparation checks… Separate preparation checks verify preview frame counts and source mapping. The original manifest, converter QA and Parquet tables remain unchanged. At missing RGB positions, the preview holds the previous recorded image; availability flags and hold provenance retain the distinction.
How it was captured
An engine plugin records viewport images, camera pose, player inputs, mapped actions and available state and events on a shared frame index. Depth and surface normals are captured from the engine's rendering buffers. The supplied manifest documents the stream encodings, camera conventions and coordinate system.
Sample scope
- One Parkour Race evaluation capture.
- No audio or post-HUD RGB in this sample.
- Downscaled, lossy web previews; use original visual files for numerical work.
- Missing RGB captures are explicit in source availability and preview hold provenance.
- Not supplied for this sample. The displayed package grants no training or redistribution rights.