2026-03-08 23:12:54 -07:00
|
|
|
# Changelog
|
|
|
|
|
|
feat(compiler): v0.4 + v0.5 — CLI modularity, diagnostic pipeline, test suite
v0.4 — CLI Modularity:
- Split monolithic main.rs (2,038 lines) into 8 command modules + slim dispatch (107 lines)
- Add 12 JS codegen tests (signals, derived, views, events, loops, match, enums, components, interpolation, springs, tree-shaking)
v0.5 — Diagnostic Quality + Analyzer Confidence:
- Add From<ParseError> for Diagnostic (E0001) in ds-diagnostic
- Add errors_as_diagnostics() to TypeChecker (E0100–E0110)
- Wire Elm-style diagnostics through dreamstack check and build commands
- Switch incremental compiler to parse_program_resilient() for multi-error collection
- Add 12 analyzer tests (chains, fan-out, diamond deps, empty programs, conditionals, handlers, views)
- Add 2 diagnostic conversion tests
Test suite: 97 → 123 tests (26 new, 0 failures)
2026-03-10 09:09:02 -07:00
|
|
|
## [0.5.0] - 2026-03-09
|
2026-03-08 23:12:54 -07:00
|
|
|
|
|
|
|
|
### 🚀 Features
|
|
|
|
|
|
feat(compiler): v0.4 + v0.5 — CLI modularity, diagnostic pipeline, test suite
v0.4 — CLI Modularity:
- Split monolithic main.rs (2,038 lines) into 8 command modules + slim dispatch (107 lines)
- Add 12 JS codegen tests (signals, derived, views, events, loops, match, enums, components, interpolation, springs, tree-shaking)
v0.5 — Diagnostic Quality + Analyzer Confidence:
- Add From<ParseError> for Diagnostic (E0001) in ds-diagnostic
- Add errors_as_diagnostics() to TypeChecker (E0100–E0110)
- Wire Elm-style diagnostics through dreamstack check and build commands
- Switch incremental compiler to parse_program_resilient() for multi-error collection
- Add 12 analyzer tests (chains, fan-out, diamond deps, empty programs, conditionals, handlers, views)
- Add 2 diagnostic conversion tests
Test suite: 97 → 123 tests (26 new, 0 failures)
2026-03-10 09:09:02 -07:00
|
|
|
- **Particle emitters** — `create_emitter(x, y, rate, speed, spread, lifetime)`, `remove_emitter`, `set_emitter_position`, auto-spawn in `step()`
|
|
|
|
|
- **Force fields** — `create_force_field(x, y, radius, strength)`, `remove_force_field`, attract/repel applied each step
|
|
|
|
|
- **Body tags** — `set_body_tag`, `get_body_tag`, `get_bodies_by_tag` for user-defined categorization
|
|
|
|
|
- **Contact materials** — `set_contact_material(tag_a, tag_b, friction, restitution)`, `get_contact_material`
|
|
|
|
|
|
|
|
|
|
## [0.4.0] - 2026-03-09 — Collision groups/events, point/AABB query, body locking, gravity scale
|
|
|
|
|
## [0.3.0] - 2026-03-09 — Joints (spring, fixed), serialize/deserialize, velocity/force, boundaries
|
|
|
|
|
## [0.2.0] - 2026-03-09 — Body management, sensors, material properties, sleeping
|
|
|
|
|
## [0.1.0] - 2026-02-26 — Initial release
|