Some checks are pending
Lean Action CI / build (push) Waiting to run
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>
39 lines
1.1 KiB
TOML
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"
|