Spaces:
Running
Running
Engine-Assembly Milestone (Concept)
Goal
Support high-detail assemblies (example: engine block + major subsystems) without relying on a single one-shot prompt-to-code pass.
Why
Single-pass generation is strong for parts and simple assemblies, but detailed mechanical assemblies need decomposition, validation, and staged execution.
Proposed architecture (multi-stage)
Intent + Scope Pass
- Parse user request into complexity level and target detail level (L1/L2/L3).
- Confirm assumptions if needed (internal channels, bolt patterns, tolerances, etc.).
Assembly Plan JSON
- Generate a strict JSON plan:
- parts list
- param schema per part
- mating/constraint relationships
- units + coordinate conventions
- Validate against a JSON schema before any CAD execution.
- Generate a strict JSON plan:
Per-Part CAD Generation
- Generate build123d code per part (isolated runs).
- Validate and export each part independently.
- Retry/fix only failed parts, not the whole assembly.
Assembly Build Pass
- Compose validated parts into final assembly.
- Run constraint checks and collision checks where possible.
Output Profiles
- L1: concept massing
- L2: manufacturing-relevant external features
- L3: high-detail subsystem geometry
- Export: STEP/STL (+ optional linework outputs later)
Guardrails
- Per-part complexity cap and timeout.
- Max part count per run (configurable).
- Graceful degrade path (drop to L2 if L3 is too heavy).
- User-facing messages should explain what detail was delivered.
Success criteria
- Higher success rate for detailed prompts.
- Better partial recovery (single part fail does not kill full job).
- More predictable latency and compute cost.
- Clear user control over detail level.
Suggested implementation order
- Define JSON schema + validator.
- Add planner stage (returns plan only).
- Add per-part execution loop with retries.
- Add assembly compose stage.
- Add detail profile controls in UI.