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.