fix: align workflow material resolution with scene manifest
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
# Current Execution Batch
|
||||
|
||||
Stand: April 9, 2026
|
||||
|
||||
Dieses Batch zerlegt die verbleibende Workflow-Paritätsarbeit in 12 direkt umsetzbare Blöcke. Ziel bleibt unverändert:
|
||||
|
||||
- `/workflows` produktionsfähig machen
|
||||
- den Legacy-Workflow jederzeit funktionsfähig halten
|
||||
- Tests und Browser-Verifikation gezielt und sequenziell fahren, damit der lokale Stack nicht durch RAM-Last kippt
|
||||
|
||||
## Reihenfolge
|
||||
|
||||
### Block 1: Shared Authoring Surface
|
||||
|
||||
Ziel:
|
||||
Die Authoring-Logik für Canvas-Menu und Sidebar auf eine gemeinsame Grundlage ziehen, damit neue Node-Organisation, Stage-Führung und spätere Output-Type-Deep-Links nicht doppelt implementiert werden.
|
||||
|
||||
Primäre Dateien:
|
||||
|
||||
- `frontend/src/components/workflows/NodeCommandMenu.tsx`
|
||||
- `frontend/src/components/workflows/NodeDefinitionsPanel.tsx`
|
||||
- `frontend/src/components/workflows/**`
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- ein gemeinsames Authoring-Modell statt verteilter UI-spezifischer Sonderlogik
|
||||
- keine Regression bei Right-Click-Insert, Module/Path-Inserts oder Starter-Steps
|
||||
|
||||
### Block 2: Node Organization Hardening
|
||||
|
||||
Ziel:
|
||||
Die Node-Library nach Family, Stage und Module weiter verdichten, damit große Produktionsgraphen schneller gebaut werden können.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- schnellere Auffindbarkeit
|
||||
- weniger UI-Rauschen
|
||||
- sauberere Trennung zwischen Legacy-, Bridge- und Graph-Nodes
|
||||
|
||||
### Block 3: CAD Operational Guidance
|
||||
|
||||
Ziel:
|
||||
CAD-Workflows dieselbe operative Führung geben wie der Still-Graph heute schon hat, inklusive Stage-Status und klarer Baseline-Pfade.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- CAD-Familie wirkt nicht mehr wie ein Sonderfall
|
||||
- Intake-Graphen sind ohne Trial-and-Error zusammensetzbar
|
||||
|
||||
### Block 4: Run Inspection Completion
|
||||
|
||||
Ziel:
|
||||
Run-, Node- und Comparison-Ansichten so vervollständigen, dass graphische Fehlläufe direkt im Editor debuggt werden können.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- Fehlerursachen sind ohne DB-Inspektion sichtbar
|
||||
- Preflight, Dispatch und Run-Ergebnis greifen sichtbar ineinander
|
||||
|
||||
### Block 5: Context Flow Simplification
|
||||
|
||||
Ziel:
|
||||
Dispatch-/Preflight-Kontextauswahl vereinfachen, besonders bei vielen Order-Lines und Workflow-Varianten.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- weniger Fehlbedienung
|
||||
- klarere Zuordnung zwischen Workflow, Kontext und Ausführungsmodus
|
||||
|
||||
### Block 6: Output-Type Contract Closure
|
||||
|
||||
Ziel:
|
||||
Output-Type-Erstellung und -Bearbeitung noch stärker auf Workflow-Verträge und Invocation-Profile zwingen.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- neue Output-Types lassen sich stabil anlegen
|
||||
- Family- und Artifact-Mismatch wird früher blockiert
|
||||
|
||||
### Block 7: Canonical Blueprints And Seeds
|
||||
|
||||
Ziel:
|
||||
Starter-Blueprints, Seed-Workflows und Frontend-Neuanlage konsistent auf die kanonischen Family-sicheren Graphen bringen.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- weniger Drift zwischen Seed, Editor und Runtime
|
||||
- bestehende Golden-/Smoke-Workflows bleiben reparierbar
|
||||
|
||||
### Block 8: Still Smoke Harness Stabilization
|
||||
|
||||
Ziel:
|
||||
Den non-legacy Still-Workflow als wiederholbaren Smoke-Pfad härten, ohne den Legacy-Fallback zu schwächen.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- eindeutiges Pass/Fail-Signal für den kanonischen Still-Graph
|
||||
- belastbarer Startpunkt für echten E2E-Abgleich
|
||||
|
||||
### Block 9: CAD/Material Parity
|
||||
|
||||
Ziel:
|
||||
Materialzuweisung, Instances und Geometrie-Identität zwischen Preview, GLTF-Viewer und Workflow-Verbrauch weiter angleichen.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- weniger manuelle Materialreparatur
|
||||
- Vorschau und Renderpfad greifen auf denselben vertrauenswürdigen Zustand zu
|
||||
|
||||
### Block 10: Rollout And Fallback Controls
|
||||
|
||||
Ziel:
|
||||
Rollout, Shadow und Graph-Freigabe sauber pro Workflow und pro Output-Type steuerbar halten.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- sichere Aktivierung
|
||||
- klarer Fallback- und Rückrollpfad
|
||||
|
||||
### Block 11: Repo Hygiene
|
||||
|
||||
Ziel:
|
||||
Hilfsskripte, Test-Utilities und neue Workflow-Helfer konsolidieren, damit Folgearbeit nicht auf provisorischen Strukturen aufbaut.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- weniger Einweglogik
|
||||
- besser lesbare Diff-Basis für Restarbeiten
|
||||
|
||||
### Block 12: Sequential E2E Gates
|
||||
|
||||
Ziel:
|
||||
Die wichtigsten Smoke- und Browser-Gates dokumentiert und gezielt ausführbar machen, ohne den Rechner parallel zu überlasten.
|
||||
|
||||
Ergebnis:
|
||||
|
||||
- klarer Minimal-Satz an E2E-Prüfungen
|
||||
- reproduzierbare Freigabegates für `/workflows`
|
||||
|
||||
## Aktuelle Ausführung
|
||||
|
||||
- Abgeschlossen: Block 1
|
||||
- Abgeschlossen: Block 2
|
||||
- Abgeschlossen: Block 3
|
||||
- Abgeschlossen: Block 4
|
||||
- Abgeschlossen: Block 5
|
||||
- Abgeschlossen: Block 6
|
||||
- Abgeschlossen: Block 7
|
||||
- Abgeschlossen: Block 8
|
||||
- In Arbeit: Block 9
|
||||
- Nächster geplanter Folgeblock: Block 9
|
||||
|
||||
## Letzte Verifikation
|
||||
|
||||
- `python3 scripts/test_render_pipeline.py --workflow-still-smoke --execution-mode shadow`
|
||||
- Ergebnis: Live-Smoke erfolgreich; Shadow-Comparison stabilisiert auf `WARN` mit `mean_pixel_delta=0.000257`, Legacy bleibt dadurch weiterhin authoritative
|
||||
- `./backend/.venv/bin/pytest -q backend/tests/domains/test_workflow_runtime_services.py -k 'resolve_order_line_template_context_uses_exact_template_and_override or resolve_order_line_material_map_prefers_line_override_over_output_override or resolve_order_line_material_map_allows_node_override or prefers_authoritative_scene_manifest_assignments or keeps_legacy_source_name_fallback_without_scene_manifest'`
|
||||
- Ergebnis: 5 Tests grün; autoritative Scene-Manifest-Zuweisungen werden nun im Workflow-Renderpfad auf `part_key` und `source_name` gespiegelt, Legacy-Fallback bleibt unverändert
|
||||
- `./backend/.venv/bin/pytest backend/tests/test_part_key_service.py -q`
|
||||
- Ergebnis: 1 Test grün; part-key-basierte Manifest-Auflösung bleibt konsistent
|
||||
- `cd frontend && npx vitest run src/__tests__/components/workflowEditorUi.test.tsx src/__tests__/api/outputTypes.test.ts --pool forks --poolOptions.forks.singleFork=true`
|
||||
- Ergebnis: 20 Tests grün, sequenziell ausgeführt
|
||||
Reference in New Issue
Block a user