DocsAPI reference

API reference

Generated by tools/gen_api_docs.py from the docstrings in cinder/; do not edit by hand.

cinder.anim #

  • cinder.anim: Skeletal animation: skeletons, clip sampling, blend trees, animators with crossfades, root motion and events, and a job-parallel system publishing joint palettes to the ECS.
  • cinder.anim.animator: Animator: states (blend trees) with crossfades, animation events and root motion.
  • cinder.anim.blend: Blend trees: clips, 1D and 2D blend nodes, evaluated phase-synchronised.
  • cinder.anim.sampling: Clip sampling: step, linear and cubic-spline keyframes into a local pose.
  • cinder.anim.skeleton: Skeletons: a bone hierarchy with rest pose, the skin's joint list and inverse bind matrices.
  • cinder.anim.system: The animation system: animators stored in a pool, advanced in parallel on the job system, and published to the ECS as JointPalette components for the render bridge.

cinder.app #

  • cinder.app: Application runtime: subsystems, the fixed-step game loop, windowed and headless modes.
  • cinder.app.app: The application runtime: owns every subsystem, runs the fixed-step game loop and renders.
  • cinder.app.cli: Command-line options shared by every Cinder executable (--headless for tests and benchmarks).

cinder.assets #

  • cinder.assets: Assets: glTF import into engine meshes, materials, textures, skins and scenes.
  • cinder.assets.cook: The asset cooker: glTF sources become cooked meshes, materials and animation clips.
  • cinder.assets.cooked: Cooked asset formats (little-endian binary, versioned, bounds-checked on read).
  • cinder.assets.gltf: glTF 2.0 import through cgltf: meshes (with tangents, second UV set, skinning, morph targets), metallic-roughness materials (KHR_texture_transform, KHR_materials_emissive_strength), images (file, data URI or GLB buffer view), nodes, skins and scenes.
  • cinder.assets.runtime: Runtime asset server: asynchronous loading of cooked assets on the job system, reference counting, and hot reload.
  • cinder.assets.textures: KTX2 textures: cooking (BasisU ETC1S or UASTC with full mip chains) and runtime loading (transcode to BC7 when the device has block compression, otherwise to RGBA8), through libktx.

cinder.audio #

  • cinder.audio: Audio over miniaudio: buses, decoded and streamed sounds, one-shots, 3D spatialisation, a listener, and the ECS bridge that follows entities and the camera.
  • cinder.audio.engine: Audio over miniaudio: buses, decoded and streamed sounds, one-shots, 3D spatialisation and a listener.
  • cinder.audio.sync: ECS <-> audio: AudioSource entities position their sounds, AudioListener places the listener (attach it to the camera entity so the listener follows the camera).

cinder.core #

cinder.ecs #

cinder.gfx #

  • cinder.gfx: Safe, typed layer over wgpu-native.
  • cinder.gfx.commands: Command recording: encoders, render and compute passes, copies, submission and readback.
  • cinder.gfx.debug_draw: Immediate-mode debug lines: segments, boxes, spheres, axes and grids drawn in one line-list pass.
  • cinder.gfx.device: Gfx: instance, adapter, device and queue, with every wgpu callback pulled from the shim queue.
  • cinder.gfx.pipeline: Typed descriptors for bind group layouts, bind groups, pipeline layouts and pipelines.
  • cinder.gfx.resources: Typed GPU resources: one handle type per kind, pooled records, ownership and leak tracking.
  • cinder.gfx.shaders: ShaderManager: WGSL modules from files, compile diagnostics with file:line:column, hot reload.
  • cinder.gfx.swapchain: Swapchain: surface configuration, per-frame texture acquisition and presentation.
  • cinder.gfx.util: Small conversions shared by the gfx modules.

cinder.input #

  • cinder.input: Input: action and axis mapping over keyboard, mouse and gamepad, rebindable and saved to disk.
  • cinder.input.map: Input mapping: named actions (buttons) and axes over keyboard, mouse and gamepad, rebindable at runtime and saved as a diffable text file.

cinder.physics #

  • cinder.physics: Physics over Jolt: rigid-body world, queries, character controller and ECS synchronisation.
  • cinder.physics.character: Character controller over Jolt's CharacterVirtual: slopes, steps and moving platforms.
  • cinder.physics.sync: ECS <-> physics synchronisation with interpolation.
  • cinder.physics.world: Rigid-body world over Jolt (joltc): layers, shapes, bodies, queries and queued events.

cinder.platform #

cinder.render #

cinder.scene #

  • cinder.scene: Scene files: versioned text and binary formats with migrations, over the ECS world.
  • cinder.scene.format: Scene serialisation: a human-diffable text format and a binary format, versioned, with migrations.
  • cinder.scene.gltf_spawn: Spawning a glTF asset into the ECS: one entity per node (transform hierarchy) and one child entity per mesh primitive (MeshRenderer), plus static collision triangles for level geometry.
  • cinder.scene.render_sync: Bridge from the ECS world to a RenderScene: render components and their collection.

cinder.tools #

  • cinder.tools: Developer tools: the ImGui debug overlay (frame graph, inspector, assets, render graph, log).
  • cinder.tools.cstrings: Frame-scoped C strings for immediate-mode UI calls.
  • cinder.tools.debug_ui: The ImGui debug overlay: frame-time graph and render stats, entity inspector (view and edit components through the scene registry), asset browser, render graph view and log console.
View as MarkdownSource: docs/api/README.md