model: TroCandidate statt OpenPoint, tro_overrides nutzt model-Klassen (Schema v3)
- OpenPoint -> model.TroCandidate (type, position, belongsTo, note); TroDocument.candidates ersetzt openPoints, Schema sps_skel-tro-v3 - Positionsbehandlung von TroBase und TroCandidate im Mixin _Positioned - tro_overrides.py: eigene ConnectionSpec/OpenPoint entfallen, stattdessen model.Connection / model.TroCandidate; einheitliche Feldnamen (tro_id/separator, hosts als Liste) - Fixtures, Beispiel-JSON und Doku auf v3 nachgezogen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
de8ecb9460
commit
29077caa81
@@ -152,7 +152,7 @@ extraction, not code to execute or modify.
|
||||
Since 2026-10-09 the main path is **CSV → `tro_flow.py --json` → TRO-JSON →
|
||||
`scl_skeleton.py` → SCL**. Layer order (who may import whom): `tro_catalog.py` (TRO *types*)
|
||||
← `lib/model.py` (TRO *instances* and the TRO-JSON: `TroBase` → `DerivedTro`, `Connection`,
|
||||
`OpenPoint`, `Analysis`, `TroDocument`) ← derivation (`material_flow.py`, `tro_flow.py`) ←
|
||||
`TroCandidate`, `Analysis`, `TroDocument`) ← derivation (`material_flow.py`, `tro_flow.py`) ←
|
||||
outputs (`scl_skeleton.py`, `tro_annotate.py`, reports). `items`/`fbType` are always read
|
||||
from the catalog via the TRO type, never stored. See `doc/Python_Scripts.md` §6b.
|
||||
Inside the SCL output, `lib/scl_context.py` (TRO-JSON → render context, all derivations)
|
||||
@@ -165,7 +165,7 @@ and status: `doc/SCL_Templates.md`. Golden files in `tests/fixtures/scl/` pin th
|
||||
byte — rewrite them (`SKEL_UPDATE_GOLDEN=1`) only for a reviewed, intended change.
|
||||
|
||||
1. **`lib/tro_flow.py --json`** (implemented) — writes `<csv>_tro.json` (schema
|
||||
`sps_skel-tro-v2`, `model.TroDocument`): TROs, system boundaries `SYSn`, connections with
|
||||
`sps_skel-tro-v3`, `model.TroDocument`): TROs, system boundaries `SYSn`, connections with
|
||||
their kind, findings. See `doc/Python_Scripts.md` §4.
|
||||
2. **`lib/scl_skeleton.py`** (implemented) — reads that TRO-JSON through `TroDocument` (a
|
||||
wrong/renamed key or `items` not matching the catalog stops the run) and emits an `FB_Main` SCL
|
||||
@@ -194,7 +194,6 @@ What is **not** built out yet, relative to the original two-tool design:
|
||||
standalone files) — only `FB_Main` is generated today;
|
||||
- **type-based timing defaults** from `doc/TRO_Typen.md` and the `OVERRIDE_TIMING_JSON` CAD
|
||||
attribute (timings are emitted as `TODO(E-Planung): pruefen` placeholders for now);
|
||||
- `tro_overrides.py` using the shared `model.Connection` / `model.OpenPoint` classes;
|
||||
- `Component` classes per part type (Separator, Switch, Scanner, VarioDrive, …) on the TRO,
|
||||
driving the per-part SCL emitters in `scl_skeleton.py`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user