Skip to content

Agent documentation: index

Sparklight is operated by agents. Every page here is a reference an agent reads once and then uses; each starts with a quick start that can be pasted. The machine-readable parts are not in these pages: commands are listed by spark commands --brief (with schemas by spark commands) and sit in schemas/commands/; file formats are spark schema list and schemas/; error codes are spark schema errors. Short map for crawlers: ../../llms.txt.

I want to … Read Entry point
Connect to the engine and call commands commands.md spark mcp, spark serve, spark call <command> '<json>'
Step a scene deterministically and hash it runtime.md spark headless <scene> --frames 600
Author a 2D scene, prefab, clip, tile map ../GUIDE.md, ../LUA_API.md spark validate <file>, spark schema scene
Author a 3D scene and drive it space3d.md space3d.load, space3d.step, space3d.capture
Test a feature without looking testing.md spark test <scenario>; *.scenario.json (2D), *.scenario3d.json (3D)
Record or check a golden image testing.md, space3d.md (goldens) golden.check, --update-goldens after looking
Physics, joints, ragdolls, destruction physics.md space3d.set of Body, Joint, Ragdoll, Destructible
Vehicles, impact damage vehicles.md Vehicle, VehicleDamage, space3d.vehicle.*
Characters and animation animation3d.md Skeleton, Animator, space3d.anim.*
Characters: morph targets, face, hair, cloth, retargeting, foot placement characters.md Character, MorphSet, FaceDef, GroomDef, Retargeter, character.*
Materials and shaders shaders.md, rendering.md shader.*, *.material.json
Effects, particles, decals, trails vfx.md vfx.*
Global illumination: probe GI, screen-space GI, baked lightmaps gi.md gi.set, gi.tier, gi.bake, space3d.capture
Virtual geometry (cluster DAG meshes, GPU culling, streaming) virtual-geometry.md vgeo.*
Cinematics cinema.md cinema.*, *.sequence.json
Sound, music, spatial audio audio.md audio.*
Navigation, crowds, AI navigation.md nav.*, ai.*
Menus, HUD and other retained UI as data ui.md ui.*
Texts in several languages, plural forms, case forms localization.md Localization, {n:@key}, {@key:gen}
See what the frame is made of and how components are stored ecs.md schedule.explain, ecs.stats, space3d.schedule.explain, space3d.ecs.stats
Profile, find hitches, assert frame-time budgets performance.md perf.start, perf.report, perf.budget; frame_budget assertion
Terrain, foliage, sky, fog, world streaming world.md terrain.*, world.stream.*, world.atmosphere.*
Clouds, rain, snow, wet surfaces, lightning, wind weather.md weather.*, sky.*
Online play, bots, prediction netcode.md spark serve-game, spark join-game
Import textures and models assets.md assets.import, assets.report
Extend the engine plugins.md plugin.json, Lua plugin
Drive the editor editor.md spark call --connect
Run on another platform (Linux, Windows, iOS, Android) platforms.md what was built and run where, the downlevel renderer, touch
Reach Gameway ../gameway.md start-up gate, sparklight.gameway.*
Show the “Made with Sparklight” splash at game start splash.md <assets>/splash.json, spark run --splash
Make a game in its own repository rules/README.md spark new <name>, the sparklight crate
  • A command id is area.verb (space3d.step); as an MCP tool it is area_verb. Errors carry a stable code (E_...) and a hint.
  • Everything is muted and headless by default for agents; outputs go below .gwdev/out; hashes name states (equal hash, equal state).
  • crates/sparklight-cli/tests/docs.rs fails when a link in this index, llms.txt, the plan, the architecture or the rule pages points nowhere.