[PRE-ALPHA] an open source web-based 2D/3D graphing calculator cartesium.org
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.