Update project structure and configurations

This commit is contained in:
2026-05-23 10:19:55 +02:00
parent ab5dc7e568
commit 62efea0646
1832 changed files with 83568 additions and 51829 deletions

View File

@@ -1193,3 +1193,55 @@ cargo new entropyk --lib
---
*Architecture document complete. Ready for implementation phase.*
---
## Crate-to-Pillar Mapping
The codebase is organized into Rust crates that map directly to the 6 business-driven pillars defined in `pillars.md` and `epic-restructuring.md`.
| Crate | Pillar | Responsibility | Stories |
|-------|--------|----------------|---------|
| `entropyk-core` | **P1 Foundation** | Physical types (NewType), Component trait, Port/Connection system, SystemState, graph topology, state machine | P1-01 to P1-14 |
| `entropyk-components` | **P2 Real Components** | All thermodynamic components (compressor, HX, valve, pump, fan, pipe, boundary conditions, BPHX, flooded equipment, drums) | P2-01 to P2-39 |
| `entropyk-vendors` | **P2 Real Components** | VendorBackend trait, Copeland/Danfoss/Bitzer/SWEP parsers, equipment catalog | P2-26 to P2-30, P2-37, P2-39 |
| `entropyk-fluids` | **P3 Fluid Properties** | FluidBackend trait, CoolProp sys-crate, tabular interpolation, LRU cache, mixtures, CO2 damping, incompressible fluids, ThermoState, psychrometrics | P3-01 to P3-09 |
| `entropyk-solver` | **P4 Simulation & Solver** | Newton-Raphson, Picard, fallback strategy, inverse control, constraints, calibration, validation, JSON serialization, energy methods | P4-01 to P4-26 |
| `entropyk-cli` | **P5 User Interfaces** | CLI for batch execution, component configuration, output formatting | P5-05, P5-07 to P5-14, P5-22 to P5-41 |
| `bindings/python` | **P5 User Interfaces** | PyO3 bindings, Python API parity | P5-02, P5-06, P5-42 to P5-54 |
| `bindings/c` | **P5 User Interfaces** | C FFI via cbindgen, header generation | P5-03 |
| `bindings/wasm` | **P5 User Interfaces** | WebAssembly compilation via wasm-bindgen | P5-04, P5-55 to P5-59 |
| *(none yet)* | **P6 HVAC Applications** | Free cooling, mode switching, control applications, Eurovent, ASHRAE, calibration workflow | P6-01 to P6-14 |
### Dependency Flow (Pillar Order)
```
P1 (entropyk-core)
| \
v v
P3 (entropyk-fluids) P2 (entropyk-components + entropyk-vendors)
| / |
v v v
P4 (entropyk-solver)
|
v
P5 (entropyk-cli + bindings/*)
|
v
P6 (no dedicated crate yet — uses P5 interfaces)
```
### Cross-Chain Dependencies
| From Crate | To Crate | Nature |
|------------|----------|--------|
| `entropyk-components` | `entropyk-core` | Component trait, types, ports |
| `entropyk-components` | `entropyk-fluids` | FluidBackend for residual computation |
| `entropyk-vendors` | `entropyk-core` | VendorBackend trait |
| `entropyk-solver` | `entropyk-core` | SystemState, graph, types |
| `entropyk-solver` | `entropyk-components` | Components provide residuals/Jacobian |
| `entropyk-solver` | `entropyk-fluids` | Property evaluation during solve |
| `entropyk-cli` | `entropyk-solver` | Solve API, result types |
| `bindings/*` | `entropyk-solver` | Re-export public API |
This mapping replaces the old "Feature/Epic Mapping" table. See `pillars.md` for the authoritative story-to-pillar assignment.