Architecture
Use this page for orientation. Exact package exports and dependencies come from
generated reference; durable subsystem detail lives under
docs/architecture/; accepted declarations under architecture/ remain the
editable architecture authority.
Table of Contents
Evidence order
- Accepted
architecture/**/*.atlas.yamldeclarations. - Package manifests and maintained source.
- Accepted proposals.
- Generated package, dependency, API, and Code Atlas evidence.
- Explanatory guides.
Generated files under .codeatlas/ and
apps/docs/content/reference/ report evidence. Do not hand-edit them.
Ownership layers
The arrows are conceptual composition, not import permission. Use the Dependency Graph for observed package edges.
Key boundaries:
- Core owns Scene Documents, admitted mutations, runtime projections, and Goobits behavior.
- Renderers consume immutable submissions and do not receive mutable
CoreState. - Workspace Surface packages own terminal, web, document, and directory content contracts.
- Tabby owns the complete multi-surface product and its reusable host. Workshop and custom products compose the reusable runtime without importing Tabby's product UI.
- Access owns product authorization; authentication and transport trust remain separate concerns.
Find the owner
- Check the Glossary for the canonical term.
- Use the Public Package Catalog for the package, tier, source root, and generated API page.
- Read the package manifest and
<package>/.codeatlas/atlas.txt. - Use
docs/architecture/for subsystem contracts and accepted proposals for decision history.
Conventions
- TypeScript is strict; Svelte uses runes; Rust owns WGPU and native runtime work.
- Cross-package imports use exported package entrypoints.
WGPUmeans the Rustwgpurenderer.WebGPUmeans the browser API.- Public API reference is generated from source comments, manifests, Rust metadata, and OpenAPI schemas.