Something went wrong. Try again.
[PRE-ALPHA] an open source web-based 2D/3D graphing calculator cartesium.org
Something went wrong. Try again.
README.md
Engineering documentation #
These documents describe the current implementation and outstanding work. Update the relevant owner below instead of repeating an implementation change across architecture, status, and roadmap files. Git retains implementation history; these documents are not a changelog.
| Document | Owns |
|---|---|
| Project status | Product surface and cross-project priorities; links to subsystem plans |
| Architecture | Shared mathematical/document model and the current 2D rendering pipeline |
| 3D engine | Current 3D architecture, known geometry problems, architectural priorities, and 3D compatibility gaps |
| Performance measurement | How to run renderer measurements, interpret telemetry, and maintain regression references |
| Download audit | Cold-route measurement procedure and enforced download boundaries |
| Embedding | Read-only viewers, documentation embeds, previews, and interaction protocol |
| Spaces alpha | Private remote draft identity, alpha APIs, access, and conflict semantics |
| Web application README | Development, deployment, public publication, and AppView operations |
The user-facing language reference lives in the documentation route, alongside its examples. Source constants, scenario manifests, and protocol types remain authoritative for exact limits and supported fields.
Rust verification #
The repository selects the stable Rust and Clippy toolchain in
rust-toolchain.toml. Before handing off Rust or
Wasm changes, run:
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cargo build --package cartesium-wasm --target wasm32-unknown-unknown
The Clippy command uses the default lint set and promotes warnings to errors; this is a local/release check, not a hosted CI workflow.
Maintenance rules #
- Put implementation details and limitations in their subsystem document.
A 3D meshing change normally updates only
3d-engine.md; update measurement instructions only when the harness or its interpretation changes. - Keep current behavior distinct from proposals. Replace resolved known issues with the resulting contract; do not append a sequence of completed slices.
- Keep reproducible evidence for unresolved problems, including expressions, bounds, measurement method, and the source revision used. Remove obsolete benchmark narratives and superseded plans.
- Link to scenario manifests instead of copying their counts and complete case lists. Link to operational instructions instead of duplicating commands.
- When moving or deleting a document, update all inbound links. Do not retain redundant placeholder or historical copies.