mirror of
https://github.com/SK8-ENGINE/skate-3-rust-engine.git
synced 2026-10-27 19:54:40 +00:00
- AUDIO_TIMING logs voices / instances / grains per block (tools/audio-bench summary prints them). - The render path is allocation-free in real play: subscriber lists and constructor lists read in place, call parameters on the stack, instance memory and client lists from pools (render allocations per block 0.17-0.63 -> <= 0.001; full world 1.825 -> 0.004); render_alloc tests cover walks, posts, calls, globals and a retail world host. - Voices: direct PCM reads when a block provably stays inside the sample; shared scratch planes in the mixer (full world render p50 -11 to -14 %). - MixMap keeps its held-input list between ticks; Jitter processes without a per-frame Vec. - Every change byte-identical in all 84 e2e outputs; two attempted changes dropped (no real gain).
Tools
The top-level scripts here are the repository's own tooling: setup and asset preparation (setup.py,
prepare_assets.py, asset_pipeline/, owned_game/), the updater, release and build helpers, and their
tests. They are documented where they are used (the main README and the scripts' own help).
The folders below are standalone helper tools for development and research. Each has a README.md
with what it does, its inputs, usage, example output and requirements. They read your own copy of the
game; none of them contain game code or data. Default work folders are under .local/ (gitignored).
| Folder | What it is for |
|---|---|
regression-checks/ |
Map validation and collision counts, baked spawns, customiser outputs against your own baselines; a muted crash smoke test per map. |
setup-equivalence/ |
Prove a faster setup path gives identical bytes (district stream loader, native RefPack DLL). |
collision-inspect/ |
Extract a district's collision for analysis: triangles, surfaces at a point, surface ids and flags, surfaceless meshes. |
world-stream-inspect/ |
List / extract .big archives; survey the RW4 arenas of the district simulation streams; dump named trigger volumes. |
audio-file-inspect/ |
Readers for the audio formats: ABKC banks and MOIR projects, SPLC banks, .ems emitter files, .grain data; decode bank samples. |
vault-inspect/ |
Look up fields in the attribute database (converted skater collections) and class layouts in the schema. |
audio-e2e/ |
Scripted scenarios for the headless audio render and analysis of the renders (diffs, levels, voices, bus share). |
audio-bench/ |
Audio performance: hashed e2e bench runs, timing summaries, emitter bank memory. |
recomp-trace/ |
For use with the Skate 3 recomp's research hooks (research-hooks branch): read and analyse trace sessions. Reference only; you build the recomp and set up the paths yourself. |
recomp-code-search/ |
For use with the Skate 3 recomp's research hooks (research-hooks branch): search the recompiled sources and the memory image. Reference only; you build the recomp and set up the paths yourself. |
See docs/hails-additions/14-published-tools.md for the background.