Glossary
Engine Terms
bevy_ecs : Entity-Component-System framework extracted from the Bevy game engine. Used standalone in SiliconGhetto for game state management. See ADR-004.
Component
: A plain data struct attached to an entity. Components hold state (position, velocity, health) but no behavior. Derive bevy_ecs::prelude::Component to use as a component.
Entity : A unique identifier (integer) in the ECS world. Entities have no data or behavior of their own — they are defined by the components attached to them.
Fixed Timestep : A game loop technique where physics/logic updates run at a fixed rate (e.g., 60Hz) regardless of the display refresh rate. Ensures deterministic behavior across different hardware.
Game Loop
: The core requestAnimationFrame cycle: process input, run fixed-step updates, render frame, present. See Architecture Overview.
Game Manifest
: The sg-game.toml file in each game project. Declares metadata (title, author, version), viewport settings, input requirements, and tags. See Asset Pipeline Reference.
glam
: Rust math library providing Vec2, Vec3, Vec4, Mat4, and other types optimized for game development. Used throughout SiliconGhetto for all vector/matrix math.
Query
: A bevy_ecs Query<> that iterates over entities matching a given component pattern. For example, Query<(&Transform2D, &Sprite)> iterates all entities that have both Transform2D and Sprite components.
SpriteBatch
: The sg_render::SpriteBatch struct that collects sprite draw calls into a single GPU instance buffer. Enables rendering thousands of sprites in one draw call.
System : A function that operates on ECS components via queries. Systems implement game behavior (movement, collision, rendering). In the current architecture, systems are called manually from the game loop.
World
: The bevy_ecs::World struct that stores all entities, components, and resources. Each game has one world instance.
wgpu : Rust implementation of the WebGPU API. Provides GPU access that maps to WebGPU in the browser and Vulkan/Metal/DX12 natively. See ADR-001.
WGSL : WebGPU Shading Language. The shader language used by WebGPU (and therefore wgpu). All SiliconGhetto shaders are written in WGSL.
Browser/Web Terms
COEP (Cross-Origin-Embedder-Policy)
: HTTP header that controls whether a page can load cross-origin resources. Set to require-corp in SiliconGhetto. See Cross-Origin Isolation Reference.
COOP (Cross-Origin-Opener-Policy)
: HTTP header that controls whether a page shares a browsing context with cross-origin popups. Set to same-origin in SiliconGhetto.
Cross-Origin Isolation
: A browser security mode enabled by COOP and COEP headers. Required for SharedArrayBuffer and WASM threading. See ADR-003.
CSP (Content Security Policy) : HTTP header defining which resources a page can load. SiliconGhetto uses restrictive CSP for published games. See Security.
OffscreenCanvas : Browser API that allows canvas rendering in a Web Worker. The canvas is “transferred” from the main thread to the worker, where wgpu renders to it.
SharedArrayBuffer : A JavaScript object representing raw shared memory between threads. Required for WASM multithreading. Only available when cross-origin isolated.
wasm-bindgen : Rust/WASM interop tool that generates JavaScript glue code for calling between Rust/WASM and JavaScript. Used to expose Rust functions to the browser and access Web APIs from Rust.
wasm-pack : Build tool for Rust-generated WASM. Compiles Rust to WASM, runs wasm-bindgen, and optionally runs wasm-opt. Output is a ready-to-use npm-compatible package.
WebGL2 : The OpenGL ES 3.0 API exposed in browsers. Used as a fallback when WebGPU is unavailable. wgpu handles the abstraction transparently.
WebGPU : Modern GPU API for the web, providing access to GPU compute and rendering. Successor to WebGL. SiliconGhetto’s primary rendering target.
Platform Terms
Artifact Store
: Storage backend for published game bundles. Defined by the ArtifactStore trait in sg_platform_contracts. Uses S3-compatible storage in production.
Game Bundle : The complete set of files for a published game: WASM binary, JS glue, assets, HTML shell, and manifest. Stored as a compressed archive in the artifact store.
Gateway : The platform’s HTTP API entry point. Handles game upload, publishing, catalog queries, and subdomain resolution.
Registry : The game catalog. SQLite database storing metadata about published games (title, author, slug, status, timestamps).
Slug
: URL-safe identifier for a published game. Used as the subdomain: {slug}.games.siliconghetto.com.
Infrastructure Terms
Caddy : Web server with automatic HTTPS. One of two supported reverse proxy options for deployment.
Hetzner cax11 : ARM64 cloud server (2 vCPU Ampere, 4GB RAM, 40GB SSD, ~€3.29/month). The target deployment platform.
Nginx : Web server and reverse proxy. One of two supported options for deployment.