Glossary

The words of the docs: KitHost, module, ABI, slot, view, hook, passport…

Source: docs/glossary.mdView Markdown source

Also read offline — CLI: grip-forge docs glossaryMCP tool: gripforge_docs { "topic": "glossary" }

Glossary #

The words of the GripForge docs, in plain English. grip-forge docs glossary, MCP gripforge_docs { topic: "glossary" }.

WordMeaning
ABIThe binary contract between the player and a presentation module: gripforge:present@1 (grip-forge docs abi, or the MCP tool gripforge_docs with topic abi). Version 1, extended only by appended variants (v1.1, v1.2).
AdapterThe implementation of a kit for one target (web, rust, godot, unity, unreal). Its status: native (runs), files (emits engine files), recipe (a checklist), planned (nothing yet).
API referenceThe generated documentation of a kit: config, hooks, events, views, services, verbs, slots, collections, mod points, module, targets, changelog, examples (guide kit-api; gripforge kit api <id>).
ArchetypeA reusable entity template of game.engine (kind, components, model slot) that scenes place as instances.
Bare playerThe Bevy player without any game or kit code: renderer, generic layers, module host (gripforge docs player).
Board (planche)The before/after capture comparison of the player: 0 = identical, under 5 = good.
CapabilityA contract a kit provides or requires (combat.health, game.engine@^1). Any kit providing it satisfies a requirement. Also the name of the service object another kit reads.
CapsBits the host announces to modules (Init::host.caps): what it draws beyond the baseline (WGSL materials, post passes, web UI…).
ClaimA module saying "I draw this entity / this part": the generic layer then leaves it alone.
CollectionA list of documents a kit owns in the project data (missions, boons, rooms), with a schema.
Command traceThe text form of the commands a module sends, one per line (meshes and textures as size + digest, floats to 4 decimals), written by the SDK harness and compared in tests (tests/<name>.trace).
Compiled presenterThe old presenters compiled into the player (player/src/kits, features builtin-presenters / legacy), removed: every kit is drawn by its module.
ConfigThe settings of a kit in a project (installed[].config), validated by its configSchema.
EventA message a kit emits on the bus when something happened (combat.died), with a payload schema. Others listen to it; scripts react to it.
FingerprintA hash of the sources of a package or module; it names the files so a cache never mixes versions.
FragmentA piece of web UI (React components or HTML templates) mounted by ui.webui over the game.
FrameIn / FrameOutThe input of a module each frame (what changed in what it declared) and its answer (the list of commands), postcard bytes.
game.engineThe kit every game is built on: scenes, content, scripts, hooks, mods, saves (gripforge docs game-engine).
Generic layerWhat the player draws for every game without a module: entities and their bound models, camera, ground, lights.
HarnessThe SDK test runner (sdk/src/harness.rs): replays snapshots through a module exactly as a host would and checks its command trace, without a GPU.
HookA decision of a kit a game or a mod may intercept before it applies (damage, purchase, spawn): change mutable fields or cancel.
InputTrackerThe part of a host that turns successive snapshots into the deltas each module declared (FrameIn); every host has one (a port for a non-Bevy host).
Kit host (Rust)The Rust mirror of the TypeScript KitHost, same kits and same contract, used natively and for parity tests.
KitA brick of gameplay or presentation (combat.core, world.rooms): manifest, runtime, README, API notes.
KitHostThe runtime that runs the kits of a game: TypeScript in the page (web), Rust (gripforge-kithost) natively. It makes a snapshot each frame.
LibraryThe workspace store of assets (models, textures, sounds, VFX) of the GripForge site; slots bind its items.
Live settingsValues of a kit's <capability>.settings service a game or a reaction may change while the game runs (engine.moddable.settings).
ManifestThe declaration of a kit (manifest.ts): id, version, capabilities, config schema, events, hooks, slots… Its hash locks the version.
Mod pointsWhat a kit lets mods change (engine.moddable): config keys, collections, live settings, registries.
ModA gripforge.mod/1 JSON document applied over a project before the kits mount: config, collections, hooks, scripts. Data only, never code.
Module (presentation module)The drawing of one kit, in plain Rust compiled to .wasm, run by the module host. It reads its needs and answers commands.
Module hostThe part of the player that runs modules and applies their commands, by family (mesh, material, node, scene, fx, ui, skeleton, camera/post/audio).
nagaThe shader translator the hosts use to validate WGSL and turn it into GLSL ES 3.0 (WebGL2), HLSL, SPIR-V or MSL.
NeedsWhat a module declares it reads: components, events, data, views of services, settings, shared keys, commands it may send.
Parity fixtureA list of operations played on the TypeScript and on the Rust kit host to prove they behave the same (gripforge-kithost/parity/*.json).
Passport (mesh passport)What an asset says about itself: real size, orientation, skeleton, colliders, clips, plus sections kits own (lod for render.lod). Made by the studios, carried by the game in the asset_passports collection of asset.meta; kits read it instead of guessing from the file.
PortAn interface a kit runtime gets from its host instead of importing an engine: physics, assets (ctx.physics, ctx.assets), so the same kit code runs headless.
postcardThe compact binary encoding (a Rust serde format) of every ABI payload; field order is encoding order.
PresetA genre template: the kits, configs, data and control scheme a new game of that genre starts with.
RegistryA collection of things "by type" (enemy types, weapons) where a document may extends another.
Role (of a kit)How a kit plugs into game.engine: world (builds a scene's ground), layer (dresses a scene), content (vocabulary: components, verbs, collections), actor (places actors), view (shows content), flow (game life cycle, saves), service (a pure service).
SceneA place of a game in game.engine: its world kit document, its layers, its instances and its data; a game moves between scenes.
ShareState computed by a module and published to other modules (out.share). Never a copy of a kit view.
SlotA named place where a kit draws a Library item (player_model, ground_texture), bound by the project.
SnapshotWhat the KitHost sends the player each frame: entities, views, vars, new events.
Start packWhat game.engine hands an agent when a project starts: the content order, where custom code goes, what to fill next.
StdMaterialThe baseline material of the ABI (glTF metallic-roughness or unlit) every host must reproduce.
TapOne interception of a hook (a hooks document): { hook, match?, if?, set?, add?, mul?, cancel? }.
Trigger DSL / scriptRules { when: <condition>, then: [<actions>] } of game.engine that react to events and state; kits add verbs to it.
ui.webuiThe kit that carries every HUD and menu of the web player as DOM.
VarA GameState path a kit publishes (player.health), readable by the HUD and scripts.
VerbAn action or condition of the script language a kit provides (give_item, has_item).
View(1) A web interface of a kit, declared in its manifest (webViews). (2) A method of a service a module polls (world.atmosphere.sky).
wasmtime / AOT / .cwasm / wasmi / PulleyNative WebAssembly runtimes: wasmtime compiles modules ahead of time (AOT) into .cwasm files; wasmi and Pulley interpret them where compiling is not allowed (iOS). Planned for the native hosts.
WebGL2 fallbackEvery web player package holds WebGPU and WebGL2 and switches by itself; mandatory.
WGSL dialectThe subset of WGSL a module may send: plain functions, no imports, no bindings, no compute.