Skip to content

Project Map ​

This page helps contributors find the maintained source for each part of Kvas. Confirm current symbols and ownership in the checkout; this map is a navigation aid, not a substitute for code inspection.

Rust workspace ​

CrateResponsibilityStart here
kvas_ecsEntity/component storage and world queriescrates/kvas_ecs/src/
kvas_engineRuntime, scenes, components, assets, physics, scripting, materials and shared APIscrates/kvas_engine/src/
kvas_renderwgpu rendering, render resources, WGSL and shader validationcrates/kvas_render/src/
kvas_audioPlayback, spatial audio and audio-facing APIscrates/kvas_audio/src/
kvas_editorEditor shell, panels, project workflows, localization and code toolscrates/kvas_editor/src/
kvas_playerStandalone player entry point and packaged-project runtimecrates/kvas_player/src/

Inspect each crate's Cargo.toml for its dependency, feature, example, and test boundaries. Integration tests usually live in tests/, unit tests alongside source, and examples in examples/.

Projects, docs, and tooling ​

  • games/demo/: primary getting-started project.
  • games/showcase/: larger showcase and rendering example.
  • games/library_check/: validation project for built-in script examples.
  • Other games/*/ projects: regression fixtures and sample content. Check asset provenance before copying content between projects.
  • docs/: VitePress docs, English under docs/en/, Russian at the root/localized sections, and shared images/assets.
  • tools/: project verification and content/library generators.
  • .github/workflows/: pull request CI and documentation publication.
  • .githooks/: repository-local hooks used when core.hooksPath is configured.
  • third_party/: vendored dependencies; each component has its own license and update policy.

Core design constraints ​

  • Component/script Field reflection feeds the inspector, scene serialization, and undo behavior; extend the common mechanism instead of creating parallel field maps.
  • Route project and packaged-game asset reads through the shared asset abstraction.
  • Keep editor Play mode and the standalone player on the same runtime behavior.
  • Keep the same renderer responsible for editor scene previews and game rendering.
  • Play mode operates on a scene copy so Stop can discard runtime changes.

See AGENTS.md for change constraints and DEVELOPMENT.md for build/test commands.

Kvas Engine