1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! `vj-sim`: the netlist/analysis/state/scheduler/process/determinism kernel
//! (ARCHITECTURE.md §3, §6.2-6.5).
//!
//! This wave materializes only the cross-track contract surface each module
//! exposes to the others and to `vj-codegen`/`vj-runtime`/`vj-debug`
//! (types, traits, `#[repr(C)]` ABI-adjacent shapes) — the tracks that own each
//! module (state, sched, netlist, A2-process, and the determinism face-off winner)
//! fill in the real elaboration/scheduling/rollback logic in later waves. See
//! `docs/CONTRACTS.md` for the full item -> owning-track -> consumer -> ledger-id
//! table.
// Classes plan (`docs/superpowers/plans/2026-10-03-classes.md`) Task 3: the
// object heap runtime. Pure Rust, no sv-lang dependency (like `collections`
// just above) — unconditional, not behind the `frontend` feature, so
// `vj-runtime` (which depends on this crate with `default-features =
// false`) can use it once Tasks 5+ wire codegen's calls to it.
// Pattern matching (LRM 12.6): the pattern-variable discovery the declared-locals
// scans share.