# Q Framebuilder - Strategisch Ontwikkelingsplan

**Versie:** 1.0  
**Datum:** 25 april 2026  
**Auteur:** Q Branch AI Agent  
**Organisatie:** XGI

---

## 1. Executive Summary

Q Framebuilder is een innovatieve VR-native CAD-applicatie voor het ontwerpen van framestructuren. De applicatie combineert immersieve Virtual Reality interactie met spraakbesturing, standaard profielbibliotheken en AI-gestuurde workflows. Dit document beschrijft het strategisch ontwikkelingsplan voor de volledige realisatie van Q Framebuilder.

**Kernpunten:**
- VR-first design: volledige 3D-interactie via VR-headsets (Meta Quest 3 tot Varjo XR-4)
- Spraakgestuurde interface met lokale verwerking op Raspberry Pi 5
- Standaard profielbibliotheken conform NEN-EN normen
- Multi-LOD systeem voor VR-performance en fotorealistische rendering
- AI-integratie via Claude API/MCP voor dynamische subtool-generatie
- STEP-export voor CAD-software en Blender-export voor rendering

---

## 2. Visie & Doelstellingen

### 2.1 Visie

Q Framebuilder herdefinieeert het ontwerpen van framestructuren door de volledige gebruikerservaring in Virtual Reality te plaatsen. In plaats van traditionele 2D-scherminteractie werkt de gebruiker direct in een 3D-omgeving, ondersteund door spraakbesturing en AI-assistentie.

### 2.2 Primaire Doelstellingen

1. **Immersieve ontwerpervaring**: Volledige VR-interactie voor het bouwen van framestructuren zonder traditioneel beeldscherm.
2. **Spraakgestuurde workflows**: Handsfree ontwerpen met contextuele spraakcommando's.
3. **Industriestandaard compatibiliteit**: Export naar STEP (Fusion 360, Inventor) en Blender.
4. **AI-gestuurde extensibility**: Dynamisch nieuwe tools genereren op basis van gebruikersbehoeften.
5. **Standalone deployment**: Dedicated Raspberry Pi 5 als altijd beschikbare ontwerpserver.

### 2.3 Doelgroep

- Ingenieurs en ontwerpers die framestructuren bouwen
- Prototyping teams die snel frames willen samenstellen
- Architecten en designers die fotorealistische renders nodig hebben van frameconstructies

---

## 3. Systeemarchitectuur

### 3.1 Architectuuroverzicht

```
+-------------------+          WebSocket          +-------------------+
|                   |<-------------------------->|                   |
|   WebXR Client    |          HTTPS             |   Python Server   |
|   (three.js)      |<-------------------------->|   (FastAPI)       |
|                   |                            |                   |
|   - VR Rendering  |                            |   - Project Mgmt  |
|   - UI/UX         |                            |   - Profiel DB    |
|   - Controller    |                            |   - CAD Kernel    |
|   - Spraak I/O    |                            |   - Export Engine |
|                   |                            |   - AI Engine     |
+-------------------+                            +-------------------+
        |                                                |
        v                                                v
+-------------------+                            +-------------------+
|   VR Headset      |                            |   Raspberry Pi 5  |
|   - Quest 3       |                            |   - 16GB RAM      |
|   - Varjo XR-4    |                            |   - SSD Storage   |
+-------------------+                            +-------------------+
```

### 3.2 Componenten

#### 3.2.1 Server Layer (Python / FastAPI)
- **Projectbeheer**: CRUD-operaties voor Q Framebuilder projecten
- **Profielbibliotheek**: JSON-gebaseerde database met NEN-EN conforme profielen
- **Skeleton Engine**: 3D-skeletberekeningen en constraint-solving
- **CAD Kernel**: Open CASCADE via CadQuery voor BREP-modellering
- **Export Pipeline**: STEP en Blender export generatie
- **AI Engine**: Claude API/MCP integratie voor subtool-generatie

#### 3.2.2 WebXR Client (three.js)
- **VR Rendering**: Stereoscopische rendering met adaptieve LOD
- **Gebruikersinterface**: Minimalistische, professionele UI met rustige kleuren
- **Controller Input**: VR controller interactie voor selectie, plaatsing en bewerking
- **Spraak I/O**: Lokale STT/TTS integratie voor handsfree bediening

#### 3.2.3 Spraakmodule
- **Speech-to-Text**: Whisper of Vosk, lokaal op Raspberry Pi
- **Text-to-Speech**: Piper TTS, lokaal, met natuurlijke stemmen
- **Command Parser**: Contextueel spraakcommando systeem

#### 3.2.4 AI Engine
- **Claude API**: Directe integratie voor complexe taken
- **MCP Server**: Model Context Protocol voor tool-gebruik
- **Multi-Agent**: Orchestratie van meerdere AI-agents voor parallelle taken
- **Subtool Generator**: Dynamisch genereren van nieuwe framebuilder tools

---

## 4. Ontwikkelingsfasen

### Fase 1: Foundation & Infrastructure (Stap 1)

**Doel:** Opzetten van de basisinfrastructuur en ontwikkelomgeving.

**Deliverables:**
- [ ] Python server setup met virtual environment op Raspberry Pi 5
- [ ] FastAPI backend met WebSocket ondersteuning
- [ ] WebXR/three.js project scaffolding met basisscene
- [ ] Client-server communicatieprotocol (WebSocket + REST)
- [ ] Dataformaten en projectstructuur gedefinieerd
- [ ] CI/CD pipeline voor automatische deployment naar Pi
- [ ] Lokale STT engine (Whisper/Vosk) geinstalleerd en getest
- [ ] Lokale TTS engine (Piper) geinstalleerd en getest
- [ ] Basis VR-navigatie (teleportatie, schalen, roteren)

**Validatiecriteria:**
- Gebruiker kan via VR-headset verbinden met de server
- Basale 3D-scene is zichtbaar in VR
- Spraakcommando's worden herkend en bevestigd via TTS
- Projecten kunnen worden aangemaakt en opgeslagen

---

### Fase 2: Skeleton Engine (Stap 2)

**Doel:** Kernfunctionaliteit voor het bouwen en beheren van skeletstructuren.

**Deliverables:**
- [ ] 3D-skelet datamodel met nodes en edges
- [ ] Nauwkeurige dimensionering (mm-precisie)
- [ ] VR-interactie: punten plaatsen in 3D-ruimte
- [ ] VR-interactie: lijnen trekken tussen punten
- [ ] Snapping systeem (grid, punt, lijn, vlak)
- [ ] Constraint systeem (loodrecht, parallel, afstand)
- [ ] Dimensionering weergave in VR
- [ ] Spraakcommando's voor skeletoperaties
- [ ] Undo/redo systeem met volledige geschiedenis
- [ ] Projectbeheer: opslaan, laden, versiebeheer
- [ ] Meerdere projecten gelijktijdig beheren

**Validatiecriteria:**
- Gebruiker kan een compleet 3D-skelet opbouwen in VR
- Alle afmetingen zijn nauwkeurig en meetbaar
- Spraakcommando's functioneren betrouwbaar
- Projecten persisteren correct na server herstart

---

### Fase 3: Profielbibliotheken & Toewijzing (Stap 3)

**Doel:** Standaard profielen, doorsneden en variabel detailniveau.

**Deliverables:**
- [ ] JSON profieldatabase inladen (NEN-EN 10219-2, NEN-EN 10210-2)
- [ ] Profielbrowser in VR met zoek- en filterfunctie
- [ ] Profiel doorsnede visualisatie in VR
- [ ] Multi-LOD geometrie generator:
  - LOD 0: Draadmodel (skeleton view)
  - LOD 1: Vereenvoudigde extrusie (VR werkmodel)
  - LOD 2: Volledige geometrie met afrondingen (rendering)
- [ ] Profieltoewijzing aan skeletlijnen via VR controller
- [ ] Profieltoewijzing via spraakcommando
- [ ] Materiaalvisualisatie (staal, aluminium, hout, kunststof)
- [ ] Q Sheets integratie voor profieldata beheer
- [ ] Parametrische profielaanpassing (custom afmetingen)
- [ ] Profiel-editor voor nieuwe doorsneden

**Validatiecriteria:**
- Alle standaard NEN-EN profielen zijn beschikbaar en correct weergegeven
- LOD-wisseling is vloeiend en performant in VR
- Profielen zijn correct toegewezen aan skeletlijnen
- Custom profielen kunnen worden aangemaakt en opgeslagen

---

### Fase 4: Bewerkingen & Componenten (Stap 4)

**Doel:** Geavanceerde profielbewerkingen en standaardcomponenten.

**Deliverables:**
- [ ] Profiel inkorten op exacte maat
- [ ] Afschuinen van profieluiteinden (mitre cuts)
- [ ] Perforeren met parametrische geometrieën
- [ ] Boringen plaatsen met diameter en diepte
- [ ] Boolean bewerkingen op profielgeometrie
- [ ] Componentenbibliotheek:
  - Rose & Krieger QUAD klemblokken
  - Standaard verbindingselementen
  - Onafhankelijke standaardcomponenten
- [ ] Automatische knooppuntdetectie
- [ ] Automatische klemblokplaatsing op knooppunten
- [ ] Spraakgestuurde bewerkingsworkflows
- [ ] Bewerkingspreview in VR voor bevestiging

**Validatiecriteria:**
- Alle bewerkingen produceren correcte geometrie
- Componenten snappen correct op knooppunten
- Bewerkingen zijn reversibel (undo/redo)
- Complexe frames met meerdere bewerkingen blijven performant

---

### Fase 5: Export & Rendering (Stap 5)

**Doel:** Industriestandaard export en fotorealistische rendering pipeline.

**Deliverables:**
- [ ] STEP-export met correcte geometrie (Open CASCADE)
- [ ] STEP-validatie tegen Fusion 360 / Inventor import
- [ ] Blender-export met hoge detail geometrie (LOD 2)
- [ ] Materiaal- en textuurmapping voor Blender
- [ ] Automatische Blender scene setup (belichting, camera)
- [ ] Automatische stuklijst (BOM) generatie
- [ ] BOM-export als CSV/JSON/PDF
- [ ] 2D-tekening extractie (aanzichten) uit 3D-model
- [ ] Batch export voor meerdere formaten tegelijk
- [ ] Rendering preview in VR (lowres)

**Validatiecriteria:**
- STEP-bestanden openen correct in Fusion 360 en Inventor
- Blender-renders zijn fotorealistisch met correcte materialen
- BOM bevat alle onderdelen met juiste specificaties
- Export workflow is betrouwbaar en reproduceerbaar

---

### Fase 6: AI & Extensibility (Stap 6)

**Doel:** AI-integratie en dynamische tool-generatie.

**Deliverables:**
- [ ] Claude API integratie voor conversational assistance
- [ ] MCP server met Q Framebuilder tools
- [ ] Multi-agent orchestratie voor complexe ontwerptaken
- [ ] Subtool-specificatie framework
- [ ] Dynamische subtool-generatie vanuit specificatie
- [ ] Skill-framework voor herbruikbare AI-workflows
- [ ] Contextbewuste AI-assistentie in VR
- [ ] AI-gestuurde ontwerpvoorstellen
- [ ] Gebruikersdocumentatie en onboarding
- [ ] Tutorial systeem met interactieve walkthroughs

**Validatiecriteria:**
- AI kan nieuwe tools genereren op basis van natuurlijke taal
- Multi-agent taken worden correct georkestreerd
- AI-assistentie is contextueel relevant in VR-sessies
- Nieuwe gebruikers kunnen zelfstandig starten met het tutorial systeem

---

## 5. Technology Stack

| Component | Technologie | Motivatie |
|-----------|-------------|-----------|
| Server | Python 3.12+ / FastAPI | Snelle async API, uitgebreide CAD/math bibliotheken |
| Realtime Communicatie | WebSocket (via FastAPI) | Lage latentie voor VR-interactie |
| 3D Engine | three.js + WebXR API | Industrie-standaard voor web-based VR/AR |
| VR Headsets | Meta Quest 3, Varjo XR-4 | Consumer tot professioneel spectrum |
| Hardware | Raspberry Pi 5 (16GB, SSD) | Dedicated, energiezuinig, altijd beschikbaar |
| Spraak STT | Whisper (lokaal) / Vosk | Offline, privacy-vriendelijk, meertalig |
| Spraak TTS | Piper TTS | Lokaal, snel, natuurlijke stem |
| CAD Kernel | Open CASCADE (via CadQuery) | STEP-export, boolean ops, BREP modellering |
| Profiel Data | JSON (NEN-EN conform) | Q Sheets compatibel, eenvoudig uitbreidbaar |
| AI Integratie | Claude API / MCP | Multi-agent, tool-gebruik, subtool generatie |
| Rendering | Blender (via bpy / CLI) | Industrie-standaard fotorealistische rendering |
| Versiebeheer | Git | Standaard voor broncodebeheer |
| Deployment | Docker + systemd | Reproduceerbare deployment op Raspberry Pi |

---

## 6. Risico's & Mitigatie

### 6.1 Hoog Risico

#### Raspberry Pi 5 Performance
- **Risico:** De Pi 5 kan bottleneck worden bij complexe 3D-berekeningen en CAD kernel operaties.
- **Impact:** Trage gebruikerservaring, onbruikbare VR-interactie bij complexe modellen.
- **Mitigatie:**
  - Server-side geometrie caching
  - Agressief LOD-systeem (LOD 0 voor interactie, LOD 2 alleen voor export)
  - Asynchrone berekeningen voor zware operaties
  - Geometrie pre-computing bij profielwijzigingen
  - Performance monitoring en budgettering per frame

#### WebXR Browser Compatibiliteit
- **Risico:** WebXR implementaties varieren sterk tussen browsers en headsets.
- **Impact:** Functionaliteit werkt niet consistent op alle doelplatformen.
- **Mitigatie:**
  - Quest browser als primaire target (grootste VR-browser marktaandeel)
  - Varjo als secundaire target met dedicated testing
  - Feature detection en graceful degradation
  - Abstractielaag voor platform-specifieke code
  - Regelmatige compatibiliteitstests bij browser-updates

### 6.2 Medium Risico

#### Spraakherkenning Nauwkeurigheid
- **Risico:** Technische termen, profielnamen en afmetingen worden slecht herkend.
- **Impact:** Frustrerende gebruikerservaring, verkeerde commando-interpretatie.
- **Mitigatie:**
  - Domeinspecifiek vocabulary trainen/fine-tunen
  - Fallback naar controller-input bij lage confidence
  - Bevestigingsstap bij kritieke of destructieve commando's
  - Visuele feedback van herkende tekst in VR

#### STEP Export Complexiteit
- **Risico:** Correcte STEP-export van complexe profielgeometrie met bewerkingen is technisch uitdagend.
- **Impact:** Geexporteerde bestanden openen niet correct in CAD-software.
- **Mitigatie:**
  - CadQuery/Open CASCADE als bewezen CAD-kernel
  - Uitgebreide validatietests met Fusion 360 en Inventor
  - Incrementele export-ontwikkeling (simpele profielen eerst)
  - Fallback naar mesh-export (OBJ/STL) indien BREP faalt

### 6.3 Laag Risico

#### Profiel Data Integriteit
- **Risico:** JSON profielbibliotheken bevatten inconsistenties bij handmatige PDF-conversie.
- **Mitigatie:** Validatieschema's, geautomatiseerde checks, vergelijking met brondata.

#### AI API Beschikbaarheid
- **Risico:** Externe AI API's kunnen onbeschikbaar zijn.
- **Mitigatie:** Graceful degradation, core functionaliteit onafhankelijk van AI, lokale fallback.

---

## 7. Kwaliteitsbewaking

### 7.1 Testing Strategie
- **Unit tests:** Alle server-side berekeningen en datamodellen
- **Integratie tests:** Client-server communicatie, export pipelines
- **VR User tests:** Regelmatige sessies met testgebruikers in VR
- **Performance tests:** Frame rate monitoring, geheugengebruik, latentie
- **Compatibiliteitstests:** Meerdere headsets en browsers

### 7.2 Code Kwaliteit
- Type hints (Python) en TypeScript (client)
- Automated linting en formatting
- Code review bij elke merge
- Documentatie bij publieke API's

### 7.3 Performance Budgetten
- **VR Frame rate:** Minimaal 72 FPS (Quest 3), 90 FPS (Varjo)
- **Interactie latentie:** < 50ms voor controller-input response
- **Spraak latentie:** < 500ms voor commando-herkenning
- **Server response:** < 100ms voor standaard API calls

---

## 8. Ontwikkelingsroadmap

```
Stap 1 & 2      Stap 3          Stap 4          Stap 5 & 6
|───────────────|───────────────|───────────────|───────────────|
|  Fase 1 & 2   |  Fase 3       |  Fase 4       |  Fase 5 & 6   |
|  Foundation    |  Profielen    |  Bewerkingen  |  Export & AI   |
|  + Skeleton    |  + LOD        |  + Componenten|  + Release     |
|                |               |               |               |
| M1: Basis VR  | M2: Skeleton  | M3: Bewrk.   | M4: v1.0      |
|    omgeving   |    + Profiel  |    + Comp.    |    Release    |
```

**Milestone 1 (na Stap 1-2):** Werkende VR-omgeving met basis skeleteditor  
**Milestone 2 (na Stap 3):** Volledig skelet + profieltoewijzing met LOD  
**Milestone 3 (na Stap 4):** Alle bewerkingen + componentenbibliotheek  
**Milestone 4 (na Stap 5-6):** Export, AI-integratie en v1.0 release  

---

## 9. Aanbevelingen

### 9.1 Directe Aanbevelingen
1. **Start met Fase 1** focus op server-client communicatie en basis VR-scene.
2. **Kies Whisper** voor STT vanwege superieure nauwkeurigheid op de Pi 5.
3. **Gebruik CadQuery** als CAD-kernel - het biedt Python-native BREP modellering.
4. **Ontwikkel een LOD-framework vroeg** - dit beinvloedt alle latere geometriebeslissingen.

### 9.2 Strategische Aanbevelingen
1. **Iteratief ontwikkelen** - elke fase moet een werkend product opleveren.
2. **VR-first testen** - test elke feature eerst in VR, niet op desktop.
3. **Performance monitoren** - stel performance budgetten in vanaf dag 1.
4. **Gebruikersfeedback** - betrek testgebruikers vanaf Milestone 1.

---

*Dit strategisch plan is gegenereerd door Q Branch AI Agent op 25 april 2026.*
*Versie 1.0 - Q Framebuilder Strategisch Ontwikkelingsplan*
