Phase 3 — Constraint Layout: - ds-layout crate: Gaussian elimination constraint solver - eq, gte, lte, sum_eq, ratio constraints with strength priority - get_rect() for resolving absolute (x,y,w,h) layouts - 7 tests: simple eq, two-var eq, sums, rects, gte, ratio, 3-panel Phase 4 — Type System: - ds-types crate: Signal<T>, Derived<T>, Stream<T>, Spring<T>, View - Effect types: Http, Storage, Time, Dom, Custom(name) - Hindley-Milner type checker with signal-awareness - Elm-inspired error messages (TYPE MISMATCH, UNHANDLED EFFECT, etc.) - 11 tests: type display, reactive checks, mismatch errors, etc. Total: 34 tests passing across 6 crates
22 lines
518 B
TOML
22 lines
518 B
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"compiler/ds-parser",
|
|
"compiler/ds-analyzer",
|
|
"compiler/ds-codegen",
|
|
"compiler/ds-layout",
|
|
"compiler/ds-types",
|
|
"compiler/ds-cli",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "MIT"
|
|
|
|
[workspace.dependencies]
|
|
ds-parser = { path = "compiler/ds-parser" }
|
|
ds-analyzer = { path = "compiler/ds-analyzer" }
|
|
ds-codegen = { path = "compiler/ds-codegen" }
|
|
ds-layout = { path = "compiler/ds-layout" }
|
|
ds-types = { path = "compiler/ds-types" }
|