cubical-transport-hott-lean4/native/canvas-rs/Cargo.toml
Maximus Gorog c2e3ecb3e3
Some checks are pending
Lean Action CI / build (push) Waiting to run
Initial commit: topolei — cubical-transport HoTT in Lean 4 + Rust FFI
Implements the cells-spec vision: a computation space that preserves
auditability, correctness, interactivity. Phase 1 (Lean kernel +
naga-IR Rust backend) is closed; foundation hypothesis stack
(Selection H1+H2, Subobject H3, Trace H5, Obs.Ctx C2, Cubical.Trace)
landed.

Highlights:
- Cubical-HoTT syntax + value/eval/readback in Lean
- naga-IR pipeline (no GLSL string crosses FFI; 17/17 probes pass)
- Honesty audit: every non-transport (sealed cells, vertex shader,
  Y-flip, presentation conventions) is documented as such
- Polymorphic Trace α as free monoid; Cubical.Trace gives
  CTerm → Trace CTerm by structural fold (homomorphism = definition)
- Selection as Huet zipper; Subobject as Boolean algebra over WCell
- All theorems proven; the proof IS the implementation

See STATUS.md for the resume guide.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 20:40:45 -06:00

39 lines
1.1 KiB
TOML

[package]
name = "topolei-canvas"
version = "0.1.0"
edition = "2021"
rust-version = "1.76"
description = "wgpu + winit canvas for topolei. Builds fragment shaders as `naga::Module` directly from Lean `EMLPath` inductives — no GLSL string intermediary on the path-render side."
license = "MIT"
publish = false
[lib]
name = "topolei_canvas"
crate-type = ["staticlib"]
[dependencies]
# `naga-ir` enables `wgpu::ShaderSource::Naga(...)` for the fragment
# stage. Default features cover WGSL (used for the small
# fullscreen-triangle vertex shader) + Vulkan / Metal / DX12 backends.
wgpu = { version = "22.1", features = ["naga-ir"] }
# X11-only winit — disables Wayland backend to sidestep dlopen(libwayland)
# TLS symbols that collide with Lean's static linker on NixOS.
winit = { version = "0.30", default-features = false, features = ["x11", "rwh_06"] }
pollster = "0.3"
bytemuck = { version = "1.15", features = ["derive"] }
log = "0.4"
env_logger = "0.11"
raw-window-handle = "0.6"
[build-dependencies]
cc = "1.0"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
[profile.dev]
opt-level = 0
panic = "abort"