Update project structure and configurations
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user