docs: update requirements v3 – KI Copilot, API-First/Modularity, Q-03 resolved (SQLite), AI architecture research
This commit is contained in:
+167
-41
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
**Project:** web-cad – Web-basiertes 2D-CAD für Event-Bestuhlungspläne
|
**Project:** web-cad – Web-basiertes 2D-CAD für Event-Bestuhlungspläne
|
||||||
**Phase:** 1 (Intake)
|
**Phase:** 1 (Intake)
|
||||||
**Date:** 2026-06-19 (updated 2026-06-19)
|
**Date:** 2026-06-19 (updated v3)
|
||||||
**Status:** Draft v2 – ready for user review
|
**Status:** Draft v3 – ready for user review
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -18,9 +18,12 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
- performant im Browser läuft – auch bei großen Projekten
|
- performant im Browser läuft – auch bei großen Projekten
|
||||||
- später auf Docker und Coolify deploybar ist
|
- später auf Docker und Coolify deploybar ist
|
||||||
- **ausschließlich Open-Source-Komponenten** verwendet und selbst als Open Source lizenziert wird
|
- **ausschließlich Open-Source-Komponenten** verwendet und selbst als Open Source lizenziert wird
|
||||||
|
- **KI Copilot als Kern-Feature** integriert hat – von Anfang an, nicht als Afterthought
|
||||||
|
- **API-first & modular** designed ist – an andere Software anhängbar
|
||||||
|
|
||||||
**Referenz-UI:** AutoCAD Web (siehe Section 12 – AutoCAD Web Feature-Referenz)
|
**Referenz-UI:** AutoCAD Web (siehe Section 12 – AutoCAD Web Feature-Referenz)
|
||||||
**Referenz-Architektur (Kollaboration):** Figma / Onshape (Cloud-native, Single Source of Truth)
|
**Referenz-Architektur (Kollaboration):** Figma / Onshape (Cloud-native, Single Source of Truth)
|
||||||
|
**Referenz-Architektur (KI Copilot):** AutoCAD 2026/2027 AI Features + LLM Function Calling / Tool Use Pattern
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -28,10 +31,11 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
|
|
||||||
| Rolle | Beschreibung |
|
| Rolle | Beschreibung |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **Planer** | Erstellt und bearbeitet Bestuhlungspläne, nutzt CAD-Grundfunktionen und Bestuhlungs-Tools |
|
| **Planer** | Erstellt und bearbeitet Bestuhlungspläne, nutzt CAD-Grundfunktionen, Bestuhlungs-Tools und KI Copilot |
|
||||||
| **Betrachter** | Kann Pläne ansehen, kommentieren, aber nicht bearbeiten (Read-Only-Zugriff) |
|
| **Betrachter** | Kann Pläne ansehen, kommentieren, aber nicht bearbeiten (Read-Only-Zugriff) |
|
||||||
| **Admin** | Verwaltung von Projekten, Nutzern, Berechtigungen und Bibliothek |
|
| **Admin** | Verwaltung von Projekten, Nutzern, Berechtigungen, Bibliothek und KI-Konfiguration |
|
||||||
| **Gast** | Temporärer Zugriff auf spezifische Pläne ohne Account (z. B. für Kundenfreigabe) |
|
| **Gast** | Temporärer Zugriff auf spezifische Pläne ohne Account (z. B. für Kundenfreigabe) |
|
||||||
|
| **KI Copilot** | Software-Agent, der per Text/Sprache gesteuert wird und CAD-Operationen ausführt |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -91,7 +95,7 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| F-EVT-01 | **Reihen-Bestuhlung:** Automatische Platzierung von Stühlen in einer Reihe mit konfigurierbarem Abstand, Anzahl und Ausrichtung | Reihe wird mit korrekter Anzahl, Abstand und Ausrichtung generiert; Parameter sind im Nachhinein änderbar |
|
| F-EVT-01 | **Reihen-Bestuhlung:** Automatische Platzierung von Stühlen in einer Reihe mit konfigurierbarem Abstand, Anzahl und Ausrichtung | Reihe wird mit korrekter Anzahl, Abstand und Ausrichtung generiert; Parameter sind im Nachhinein änderbar |
|
||||||
| F-EVT-02 | **Block-Bestuhlung:** Automatische Platzierung von Stuhl-Blöcken in einem rechteckigen Bereich mit konfigurierbaren Reihen, Spalten, Abständen | Block wird mit korrekter Reihe/Spalte-Anzahl und Abständen generiert; Parameter im Nachhinein änderbar |
|
| F-EVT-02 | **Block-Bestuhlung:** Automatische Platzierung von Stuhl-Blöcke in einem rechteckigen Bereich mit konfigurierbaren Reihen, Spalten, Abständen | Block wird mit korrekter Reihe/Spalte-Anzahl und Abständen generiert; Parameter im Nachhinein änderbar |
|
||||||
| F-EVT-03 | **Bestuhlungs-Parameter:** Stuhl-Typ (aus Bibliothek), Reihe/Spalte-Anzahl, Abstand, Versatz, Ausrichtung, Block-Konfiguration | Alle Parameter können konfiguriert werden; Änderungen aktualisieren die Bestuhlung in Echtzeit |
|
| F-EVT-03 | **Bestuhlungs-Parameter:** Stuhl-Typ (aus Bibliothek), Reihe/Spalte-Anzahl, Abstand, Versatz, Ausrichtung, Block-Konfiguration | Alle Parameter können konfiguriert werden; Änderungen aktualisieren die Bestuhlung in Echtzeit |
|
||||||
| F-EVT-04 | **Bestuhlung bearbeiten:** Generierte Bestuhlung kann nachträglich modifiziert werden (Stühle hinzufügen/entfernen, verschieben) | Einzelne Stühle können hinzugefügt, entfernt oder verschoben werden; Gesamtbestuhlung aktualisiert sich |
|
| F-EVT-04 | **Bestuhlung bearbeiten:** Generierte Bestuhlung kann nachträglich modifiziert werden (Stühle hinzufügen/entfernen, verschieben) | Einzelne Stühle können hinzugefügt, entfernt oder verschoben werden; Gesamtbestuhlung aktualisiert sich |
|
||||||
| F-EVT-05 | **Bestuhlungs-Zählung:** Automatische Zählung der platzierten Stühle pro Reihe, Block und Gesamt | Zähler wird in Echtzeit aktualisiert und kann im Eigenschaften-Panel abgelesen werden |
|
| F-EVT-05 | **Bestuhlungs-Zählung:** Automatische Zählung der platzierten Stühle pro Reihe, Block und Gesamt | Zähler wird in Echtzeit aktualisiert und kann im Eigenschaften-Panel abgelesen werden |
|
||||||
@@ -134,6 +138,8 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
| F-UI-06 | **Theme-Unterstützung:** Dark- und Light-Mode | Theme kann umgeschaltet werden; alle UI-Elemente passen sich an |
|
| F-UI-06 | **Theme-Unterstützung:** Dark- und Light-Mode | Theme kann umgeschaltet werden; alle UI-Elemente passen sich an |
|
||||||
| F-UI-07 | **Sidebar-Panels:** Tabs für Blocks, Layers, Eigenschaften (wie AutoCAD Web Side Panel) | Side-Panel-Tabs sind erreichbar und zeigen entsprechenden Inhalt |
|
| F-UI-07 | **Sidebar-Panels:** Tabs für Blocks, Layers, Eigenschaften (wie AutoCAD Web Side Panel) | Side-Panel-Tabs sind erreichbar und zeigen entsprechenden Inhalt |
|
||||||
| F-UI-08 | **Streamlined UI:** UI fokussiert auf 2D-Drafting – nicht überladen wie Desktop-CAD | Wesentliche Werkzeuge sichtbar; erweiterte Funktionen in Untermenüs oder ausblendbar |
|
| F-UI-08 | **Streamlined UI:** UI fokussiert auf 2D-Drafting – nicht überladen wie Desktop-CAD | Wesentliche Werkzeuge sichtbar; erweiterte Funktionen in Untermenüs oder ausblendbar |
|
||||||
|
| F-UI-09 | **KI Copilot Panel:** Eingebettetes Chat/Command-Panel für KI-Interaktion | KI-Panel ist sichtbar; Nutzer kann Texteingaben machen; Antworten und Aktionen werden angezeigt |
|
||||||
|
| F-UI-10 | **Voice Input:** Spracheingabe für KI Copilot (optional, Web Speech API) | Spracheingabe kann aktiviert werden; erkannter Text wird an KI Copilot gesendet |
|
||||||
|
|
||||||
### 3.9 Erweiterbarkeit & Plugin-System
|
### 3.9 Erweiterbarkeit & Plugin-System
|
||||||
|
|
||||||
@@ -158,6 +164,39 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
| F-AUTH-04 | **Benutzerverwaltung:** Admin kann Nutzer erstellen, bearbeiten, löschen, Rollen zuweisen | Alle Operationen funktionieren; Rollenänderungen sind sofort wirksam |
|
| F-AUTH-04 | **Benutzerverwaltung:** Admin kann Nutzer erstellen, bearbeiten, löschen, Rollen zuweisen | Alle Operationen funktionieren; Rollenänderungen sind sofort wirksam |
|
||||||
| F-AUTH-05 | **Gast-Zugang:** Admin kann temporäre Gast-Zugänge für spezifische Pläne erstellen | Gast-Link funktioniert; Gast hat nur Zugriff auf freigegebene Pläne; Link kann widerrufen werden |
|
| F-AUTH-05 | **Gast-Zugang:** Admin kann temporäre Gast-Zugänge für spezifische Pläne erstellen | Gast-Link funktioniert; Gast hat nur Zugriff auf freigegebene Pläne; Link kann widerrufen werden |
|
||||||
|
|
||||||
|
### 3.11 KI Copilot
|
||||||
|
|
||||||
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|
|---|---|---|
|
||||||
|
| F-AI-01 | **CAD-Steuerung per Text/Sprache:** Der KI Copilot kann alle CAD-Grundfunktionen per Text- oder Spracheingabe steuern (z. B. "Zeichne eine Linie von A nach B", "Rotiere das ausgewählte Element um 45 Grad") | KI-Interpreter übersetzt natürliche Sprache in CAD-Befehle; Befehle werden korrekt ausgeführt; Ergebnis ist sichtbar auf dem Canvas |
|
||||||
|
| F-AI-02 | **Zeichnungen erstellen & bearbeiten:** Der KI Copilot kann Zeichnungen aktiv erstellen und bearbeiten – Linien, Kreise, Polygone, Rechtecke, Bögen, Polylinien, Text, Bemaßungen, Schraffuren | KI-generierte Elemente erscheinen korrekt auf dem Canvas; Eigenschaften (Position, Größe, Farbe) entsprechen der Anweisung |
|
||||||
|
| F-AI-03 | **Bestuhlungs-Tools bedienen:** Der KI Copilot kann Bestuhlungs-Tools steuern – Reihen und Blöcke erstellen, Parameter setzen (Anzahl, Abstand, Ausrichtung), Bestuhlung modifizieren | KI-generierte Bestuhlung entspricht den Parametern; Stuhlanzahl und -anordnung sind korrekt |
|
||||||
|
| F-AI-04 | **Layer & Bibliothek verwalten:** Der KI Copilot kann Layer erstellen/löschen/umschalten und Blöcke aus der Bibliothek einfügen/organisieren | KI-Befehle für Layer- und Bibliotheksoperationen werden korrekt ausgeführt; Änderungen sind sichtbar |
|
||||||
|
| F-AI-05 | **Import/Export auslösen:** Der KI Copilot kann Import- und Export-Operationen auslösen (z. B. "Exportiere als DXF", "Importiere die SVG-Datei") | KI-gesteuerter Import/Export funktioniert; Dateien werden korrekt generiert/geladen |
|
||||||
|
| F-AI-06 | **KI-Architektur von Anfang an:** Die KI-Copilot-Architektur muss von Anfang an in den Core integriert sein – keine nachträgliche Anbindung, sondern native Hooks/Schnittstellen | KI-Hooks sind Teil der Core-Architektur; CAD-Operationen sind als "Functions/Tools" registriert und vom KI-System aufrufbar |
|
||||||
|
| F-AI-07 | **Kontext-Verständnis:** Der KI Copilot versteht den aktuellen Kontext – aktuelle Zeichnung, ausgewählte Elemente, aktive Ebene, Zoom-Bereich, Maßstab | KI antwortet kontextbezogen; "Rotiere das um 90 Grad" bezieht sich auf das ausgewählte Element; "Füge hier einen Stuhl hinzu" verwendet Cursor-Position |
|
||||||
|
| F-AI-08 | **Vorschläge & Empfehlungen:** Der KI Copilot kann Vorschläge machen (z. B. Bestuhlungs-Vorschläge basierend auf Raumgröße, Optimierungsvorschläge für Bestuhlungsanordnung) | KI generiert sinnvolle Vorschläge; Nutzer kann Vorschläge akzeptieren/ablehnen; akzeptierte Vorschläge werden auf Canvas umgesetzt |
|
||||||
|
| F-AI-09 | **Mehrschritt-Operationen:** Der KI Copilot kann komplexe, mehrschrittige Operationen ausführen (z. B. "Erstelle einen rechteckigen Raum 20x30m und bestuhle ihn mit 10 Reihen à 15 Stühlen") | KI führt alle Teilschritte korrekt aus; Zwischenergebnisse sind sichtbar; Gesamtoperation ist korrekt |
|
||||||
|
| F-AI-10 | **Fehlerbehandlung & Feedback:** Der KI Copilot gibt klare Fehlermeldungen bei missverständlichen oder nicht ausführbaren Anweisungen und fragt nach | KI gibt verständliche Fehlermeldungen; fragt bei Mehrdeutigkeit nach; schlägt Alternativen vor |
|
||||||
|
| F-AI-11 | **Undo für KI-Operationen:** Alle KI-gesteuerten Operationen können rückgängig gemacht werden | KI-Operationen appearieren in der Undo-Historie; können einzeln oder als Gruppe rückgängig gemacht werden |
|
||||||
|
| F-AI-12 | **KI-Modell konfigurierbar:** Das verwendete KI-Modell kann vom Admin konfiguriert werden (lokal oder remote, Modell-Auswahl) | Admin kann KI-Backend in Einstellungen konfigurieren; Wechsel zwischen lokal/remote ist möglich |
|
||||||
|
| F-AI-13 | **Open-Source KI-Backend:** KI-Backend verwendet Open-Source-Modelle/APIs (Ollama, vLLM, llama.cpp mit Llama/Qwen/DeepSeek-Modellen) | KI funktioniert mit Open-Source-Modellen; keine proprietäre Abhängigkeit |
|
||||||
|
| F-AI-14 | **Function Calling / Tool Use:** KI-Backend verwendet Function Calling / Tool Use Pattern – CAD-Operationen sind als Functions registriert, die das LLM aufrufen kann | LLM generiert Function Calls; Functions werden ausgeführt; Ergebnisse an LLM zurückgegeben; CAD-Zustand aktualisiert |
|
||||||
|
| F-AI-15 | **Sicherheits-Guardrails:** KI Copilot kann keine destruktiven Operationen ohne Bestätigung ausführen (z. B. "Lösche alles") | Destruktive Befehle erfordern Bestätigung; Safety-Checks sind implementiert |
|
||||||
|
|
||||||
|
### 3.12 Integration & Modularität (API-First)
|
||||||
|
|
||||||
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|
|---|---|---|
|
||||||
|
| F-INT-01 | **REST-API:** Alle Kern-Funktionen sind über eine REST-API erreichbar (Projekte, Zeichnungen, Layer, Blöcke, Bibliothek, Export/Import) | API-Endpunkte sind dokumentiert (OpenAPI/Swagger); externe Clients können CRUD-Operationen ausführen |
|
||||||
|
| F-INT-02 | **API-First-Architektur:** Die Software ist API-first designed – das Backend ist ein API-Server, die Web-UI ist ein API-Client | Backend-Logik ist vollständig über API nutzbar; UI verwendet dieselbe API wie externe Clients |
|
||||||
|
| F-INT-03 | **Webhook-Support:** Webhooks für Events (z. B. Zeichnung geändert, Projekt erstellt, Export fertig) | Webhooks können konfiguriert werden; Events werden an registrierte URLs gesendet |
|
||||||
|
| F-INT-04 | **Modulare Architektur:** Core, Plugins, KI-Backend und UI sind lose gekoppelte Module mit definierten Schnittstellen | Module können unabhängig entwickelt und ausgetauscht werden; Schnittstellen sind dokumentiert |
|
||||||
|
| F-INT-05 | **Anbindung an andere Software:** Die Software kann an andere Systeme angebunden werden (z. B. Event-Management-Systeme, CRM, Buchhaltung) | Integration via REST-API oder Webhooks ist möglich; Beispiel-Integration dokumentiert |
|
||||||
|
| F-INT-06 | **Datenbank-Agnostisch:** Persistenz-Schicht ist abstrahiert; Datenbank kann ausgetauscht werden (SQLite default, PostgreSQL/MySQL möglich) | Datenbank-Backend ist konfigurierbar; Wechsel erfordert nur Konfiguration, keinen Code-Change |
|
||||||
|
| F-INT-07 | **Headless-Modus:** Software kann ohne UI betrieben werden (nur API) – nützlich für Automatisierung und Integration | Headless-Modus startet ohne UI; API ist voll funktionsfähig; Automatisierung möglich |
|
||||||
|
| F-INT-08 | **KI-API:** KI-Copilot-Funktionen sind über die API erreichbar (für externe Automatisierung) | KI-Befehle können via API gesendet werden; Ergebnisse werden als JSON zurückgegeben |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 4. Nicht-funktionale Anforderungen
|
## 4. Nicht-funktionale Anforderungen
|
||||||
@@ -170,6 +209,7 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
| NF-PERF-02 | **Ladezeit:** Initiale Ladezeit < 3 Sekunden bei Standard-Internetverbindung | Lighthouse-Performance-Score >= 80; First Contentful Paint < 1,5s |
|
| NF-PERF-02 | **Ladezeit:** Initiale Ladezeit < 3 Sekunden bei Standard-Internetverbindung | Lighthouse-Performance-Score >= 80; First Contentful Paint < 1,5s |
|
||||||
| NF-PERF-03 | **Speicher-Effizienz:** Browser-Speicherverbrauch bleibt < 500MB bei 50.000 Elementen | Speicherverbrauch wird überwacht und bleibt unter 500MB |
|
| NF-PERF-03 | **Speicher-Effizienz:** Browser-Speicherverbrauch bleibt < 500MB bei 50.000 Elementen | Speicherverbrauch wird überwacht und bleibt unter 500MB |
|
||||||
| NF-PERF-04 | **Kollaborations-Latenz:** Echtzeit-Synchronisation < 1 Sekunde bei normaler Netzwerkverbindung | Latenz wird gemessen und bleibt unter 1 Sekunde |
|
| NF-PERF-04 | **Kollaborations-Latenz:** Echtzeit-Synchronisation < 1 Sekunde bei normaler Netzwerkverbindung | Latenz wird gemessen und bleibt unter 1 Sekunde |
|
||||||
|
| NF-PERF-05 | **KI-Antwortzeit:** KI Copilot antwortet < 3 Sekunden auf einfache Befehle | Antwortzeit wird gemessen; einfache Befehle (< 3s); komplexe Operationen zeigen Fortschritt |
|
||||||
|
|
||||||
### 4.2 Rendering-Technologie (Architektur-Empfehlung – Open Source)
|
### 4.2 Rendering-Technologie (Architektur-Empfehlung – Open Source)
|
||||||
|
|
||||||
@@ -193,17 +233,41 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| **Persistenz** | Server-seitige Persistenz der CRDT-Dokumente | Single Source of Truth; Versionshistorie; Offline-Sync bei Reconnect | y-leveldb (MIT), IndexedDB client-side |
|
| **Persistenz** | Server-seitige Persistenz der CRDT-Dokumente | Single Source of Truth; Versionshistorie; Offline-Sync bei Reconnect | y-leveldb (MIT), IndexedDB client-side |
|
||||||
| **Skalierung** | WebSocket-Server mit Pub/Sub pro Raum (Zeichnung) | Mehrere Zeichnungen parallel; isolierte Räume; horizontale Skalierung möglich | Redis Pub/Sub (BSD) für Multi-Server-Skalierung |
|
| **Skalierung** | WebSocket-Server mit Pub/Sub pro Raum (Zeichnung) | Mehrere Zeichnungen parallel; isolierte Räume; horizontale Skalierung möglich | Redis Pub/Sub (BSD) für Multi-Server-Skalierung |
|
||||||
|
|
||||||
### 4.4 Open-Source-Lizenz & Komponenten
|
### 4.4 KI-Copilot-Architektur (Open Source)
|
||||||
|
|
||||||
|
| Aspekt | Empfehlung | Begründung | Open-Source-Verfügbarkeit |
|
||||||
|
|---|---|---|---|
|
||||||
|
| **KI-Backend** | Ollama (MIT) oder vLLM (Apache-2.0) als lokaler Model-Server | Läuft auf eigenem Server; keine Cloud-Abhängigkeit; volle Kontrolle | Ollama (MIT), vLLM (Apache-2.0) |
|
||||||
|
| **KI-Modelle** | Llama 3/4 (Llama License), Qwen 2.5 (Apache-2.0), DeepSeek (MIT) | Open-Source LLMs mit Function-Calling-Unterstützung | Verschiedene OSS-Modelle verfügbar |
|
||||||
|
| **Function Calling** | LLM Function Calling / Tool Use Pattern | CAD-Operationen werden als Functions registriert; LLM ruft Functions auf; Ergebnisse zurück an LLM | Standard-Pattern, framework-unabhängig |
|
||||||
|
| **KI-Transport** | REST-API oder WebSocket zwischen Frontend und KI-Backend | Frontend sendet KI-Anfrage; Backend leitet an LLM weiter; LLM generiert Function Calls; Backend führt aus | Express/Fastify (MIT) oder FastAPI (MIT) |
|
||||||
|
| **CAD-Function-Registry** | Zentrales Verzeichnis aller CAD-Operationen als aufrufbare Functions | LLM kann nur registrierte Functions aufrufen;安全; erweiterbar durch Plugins | Custom Implementation (MIT) |
|
||||||
|
| **Context Injection** | Aktueller CAD-Zustand (Zeichnung, Selektion, Layer, Zoom) wird als Context an LLM gesendet | LLM hat Kontext; kann kontextbezogene Antworten geben | Custom Implementation |
|
||||||
|
| **Guardrails** | Safety-Layer für destruktive Operationen | Verhindert ungewolltes Löschen; erfordert Bestätigung | Custom Implementation |
|
||||||
|
|
||||||
|
**Architektur-Pattern:**
|
||||||
|
```
|
||||||
|
User Input (Text/Sprache)
|
||||||
|
→ KI-Backend (Ollama/vLLM)
|
||||||
|
→ LLM generiert Function Call (z. B. draw_line(x1, y1, x2, y2))
|
||||||
|
→ CAD-Function-Registry führt Function aus
|
||||||
|
→ Canvas aktualisiert sich
|
||||||
|
→ Ergebnis an LLM zurück ("Linie gezeichnet von A nach B")
|
||||||
|
→ LLM generiert Bestätigung an User
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.5 Open-Source-Lizenz & Komponenten
|
||||||
|
|
||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| NF-OSS-01 | **Open-Source-Lizenz:** web-cad wird als Open Source veröffentlicht (Lizenz: AGPL-3.0 oder MIT, siehe Q-01) | Lizenz-Datei (LICENSE) im Repo; alle Quellen öffentlich |
|
| NF-OSS-01 | **Open-Source-Lizenz:** web-cad wird als Open Source veröffentlicht (Lizenz: AGPL-3.0 oder MIT, siehe Q-01) | Lizenz-Datei (LICENSE) im Repo; alle Quellen öffentlich |
|
||||||
| NF-OSS-02 | **Nur Open-Source-Komponenten:** Alle verwendeten Libraries, Tools und Frameworks müssen Open-Source-Lizenzen haben (MIT, Apache-2.0, BSD, ISC, LGPL, AGPL) | Keine proprietären Abhängigkeiten; Lizenz-Audit in CI/CD |
|
| NF-OSS-02 | **Nur Open-Source-Komponenten:** Alle verwendeten Libraries, Tools, Frameworks und KI-Modelle müssen Open-Source-Lizenzen haben (MIT, Apache-2.0, BSD, ISC, LGPL, AGPL) | Keine proprietären Abhängigkeiten; Lizenz-Audit in CI/CD |
|
||||||
| NF-OSS-03 | **Lizenz-Kompatibilität:** Alle Abhängigkeiten sind untereinander lizenzkompatibel | Lizenz-Kompatibilitätsanalyse durchgeführt; keine Konflikte |
|
| NF-OSS-03 | **Lizenz-Kompatibilität:** Alle Abhängigkeiten sind untereinander lizenzkompatibel | Lizenz-Kompatibilitätsanalyse durchgeführt; keine Konflikte |
|
||||||
| NF-OSS-04 | **DXF-Bibliothek:** Open-Source DXF-Parser/Writer verwenden (z. B. dxf-parser, dxf-writer in JS oder Rust) | DXF-Import/Export funktioniert mit Open-Source-Library |
|
| NF-OSS-04 | **DXF-Bibliothek:** Open-Source DXF-Parser/Writer verwenden (z. B. dxf-parser, dxf-writer in JS oder Rust) | DXF-Import/Export funktioniert mit Open-Source-Library |
|
||||||
| NF-OSS-05 | **DWG-Bibliothek (Optional):** Falls DWG-Import unterstützt wird, Open-Source-Library verwenden (z. B. libredwg, GNU GPL) | DWG-Import funktioniert mit Open-Source-Library; keine kommerziellen Bibliotheken |
|
| NF-OSS-05 | **DWG-Bibliothek (Optional):** Falls DWG-Import unterstützt wird, Open-Source-Library verwenden (z. B. libredwg, GNU GPL) | DWG-Import funktioniert mit Open-Source-Library; keine kommerziellen Bibliotheken |
|
||||||
|
| NF-OSS-06 | **KI-Modelle:** Verwendete KI-Modelle sind Open Source (Llama, Qwen, DeepSeek etc.) | Keine proprietären KI-APIs als Abhängigkeit; lokale Modelle möglich |
|
||||||
|
|
||||||
### 4.5 Sicherheit
|
### 4.6 Sicherheit
|
||||||
|
|
||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
@@ -211,22 +275,25 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| NF-SEC-02 | **Autorisierung:** Rollenbasierte Zugriffskontrolle für Projekte und Aktionen | Berechtigungen werden server-seitig enforced |
|
| NF-SEC-02 | **Autorisierung:** Rollenbasierte Zugriffskontrolle für Projekte und Aktionen | Berechtigungen werden server-seitig enforced |
|
||||||
| NF-SEC-03 | **Daten-Transport:** HTTPS/WSS für gesamte Kommunikation | TLS für alle Verbindungen; keine unverschlüsselte Kommunikation |
|
| NF-SEC-03 | **Daten-Transport:** HTTPS/WSS für gesamte Kommunikation | TLS für alle Verbindungen; keine unverschlüsselte Kommunikation |
|
||||||
| NF-SEC-04 | **Input-Validierung:** Import-Dateien werden validiert (DXF, SVG, PDF) | Maliziöse Dateien werden abgewiesen; Schema-Validierung erfolgt vor Verarbeitung |
|
| NF-SEC-04 | **Input-Validierung:** Import-Dateien werden validiert (DXF, SVG, PDF) | Maliziöse Dateien werden abgewiesen; Schema-Validierung erfolgt vor Verarbeitung |
|
||||||
|
| NF-SEC-05 | **KI-Safety:** KI-Copilot-Operationen haben Guardrails (keine destruktiven Operationen ohne Bestätigung) | Safety-Checks verhindern ungewollte Datenlöschung; Bestätigung erforderlich für kritische Operationen |
|
||||||
|
|
||||||
### 4.6 Deployment
|
### 4.7 Deployment
|
||||||
|
|
||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| NF-DEP-01 | **Docker-Deployment:** Anwendung kann in Docker-Containern betrieben werden | Dockerfile und docker-compose.yml vorhanden und funktionsfähig |
|
| NF-DEP-01 | **Docker-Deployment:** Anwendung kann in Docker-Containern betrieben werden | Dockerfile und docker-compose.yml vorhanden und funktionsfähig |
|
||||||
| NF-DEP-02 | **Coolify-Deployment:** Deployment via Coolify ist möglich | Coolify-kompatible Konfiguration vorhanden; Deployment-Dokumentation erstellt |
|
| NF-DEP-02 | **Coolify-Deployment:** Deployment via Coolify ist möglich | Coolify-kompatible Konfiguration vorhanden; Deployment-Dokumentation erstellt |
|
||||||
| NF-DEP-03 | **Umgebungs-Konfiguration:** Konfiguration über Umgebungsvariablen | Keine fest codierten Credentials; alle Secrets über Env-Variablen |
|
| NF-DEP-03 | **Umgebungs-Konfiguration:** Konfiguration über Umgebungsvariablen | Keine fest codierten Credentials; alle Secrets über Env-Variablen |
|
||||||
| NF-DEP-04 | **Datenbank:** Persistente Datenhaltung für Projekte, Nutzer, Bibliothek | Datenbank-Schema definiert; Migration-Skripte vorhanden |
|
| NF-DEP-04 | **Datenbank:** SQLite als Standard-Datenbank (entschieden, siehe Q-03); Datenbank-Schicht ist abstrahiert für spätere Migration | SQLite funktioniert; Schema definiert; Migration zu PostgreSQL möglich |
|
||||||
|
| NF-DEP-05 | **KI-Backend-Deployment:** KI-Backend (Ollama/vLLM) läuft als separater Container | KI-Backend ist in docker-compose.yml definiert; Kommunikation mit CAD-Backend funktioniert |
|
||||||
|
|
||||||
### 4.7 Plattform & Browser-Kompatibilität
|
### 4.8 Plattform & Browser-Kompatibilität
|
||||||
|
|
||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| NF-PLAT-01 | **Browser-Unterstützung:** Chrome, Firefox, Edge, Safari (aktuelle Versionen) | Anwendung läuft in allen genannten Browsern; keine Browser-spezifischen Fehler |
|
| NF-PLAT-01 | **Browser-Unterstützung:** Chrome, Firefox, Edge, Safari (aktuelle Versionen) | Anwendung läuft in allen genannten Browsern; keine Browser-spezifischen Fehler |
|
||||||
| NF-PLAT-02 | **WebAssembly-Unterstützung:** Browser muss WebAssembly unterstützen | Fallback-Strategie für Browser ohne WebAssembly oder klare Fehlermeldung |
|
| NF-PLAT-02 | **WebAssembly-Unterstützung:** Browser muss WebAssembly unterstützen | Fallback-Strategie für Browser ohne WebAssembly oder klare Fehlermeldung |
|
||||||
|
| NF-PLAT-03 | **Web Speech API:** Browser muss Web Speech API unterstützen (für optionale Voice-Input) | Voice-Input funktioniert in unterstützten Browsern; Fallback auf Text-Eingabe |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -244,6 +311,12 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
10. **Bestuhlungs-Stühle als Bibliothek-Blöcke:** Stühle für Bestuhlungs-Tools werden als Blöcke in der Bibliothek definiert, nicht fest codiert.
|
10. **Bestuhlungs-Stühle als Bibliothek-Blöcke:** Stühle für Bestuhlungs-Tools werden als Blöcke in der Bibliothek definiert, nicht fest codiert.
|
||||||
11. **E-Mail/Passwort-Auth:** E-Mail/Passwort ist die Authentifizierungsmethode; keine OAuth2/SSO in der initialen Version.
|
11. **E-Mail/Passwort-Auth:** E-Mail/Passwort ist die Authentifizierungsmethode; keine OAuth2/SSO in der initialen Version.
|
||||||
12. **Universelle Erweiterbarkeit:** Die Plugin-Architektur ist so konzipiert, dass die Software später in jede Richtung erweiterbar ist (neue Branchen, Formate, UI-Komponenten).
|
12. **Universelle Erweiterbarkeit:** Die Plugin-Architektur ist so konzipiert, dass die Software später in jede Richtung erweiterbar ist (neue Branchen, Formate, UI-Komponenten).
|
||||||
|
13. **SQLite als Standard-Datenbank:** SQLite wird als Standard-Datenbank verwendet; Datenbank-Schicht ist abstrahiert für spätere Migration zu PostgreSQL/MySQL.
|
||||||
|
14. **API-First-Design:** Die Software ist API-first designed; das Backend ist ein API-Server, die UI ist ein API-Client. Dadurch ist die Software an andere Systeme anhängbar.
|
||||||
|
15. **KI Copilot als Kern-Feature:** Der KI Copilot ist von Anfang an in die Core-Architektur integriert – kein Afterthought. CAD-Operationen sind als Functions registriert, die vom LLM aufgerufen werden können.
|
||||||
|
16. **Open-Source KI-Backend:** KI-Backend verwendet Open-Source-Modelle (Llama, Qwen, DeepSeek) via Ollama oder vLLM; keine proprietären KI-APIs als Abhängigkeit.
|
||||||
|
17. **Function Calling als KI-Pattern:** Das LLM verwendet Function Calling / Tool Use, um CAD-Operationen auszulösen. Das LLM generiert keine direkten Canvas-Befehle, sondern ruft registrierte Functions auf.
|
||||||
|
18. **Modularität:** Core, Plugins, KI-Backend und UI sind lose gekoppelte Module mit definierten Schnittstellen.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -256,15 +329,16 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
5. **Keine parametrische Modellierung** – keine Constraint-basierte Geometrie oder parametrischen Relationen.
|
5. **Keine parametrische Modellierung** – keine Constraint-basierte Geometrie oder parametrischen Relationen.
|
||||||
6. **Keine BIM-Integration** – keine IFC-Importe, keine BIM-Datenmodellierung.
|
6. **Keine BIM-Integration** – keine IFC-Importe, keine BIM-Datenmodellierung.
|
||||||
7. **Keine Desktop-Installation** – rein web-basiert; keine Electron-/NW.js-Desktop-App.
|
7. **Keine Desktop-Installation** – rein web-basiert; keine Electron-/NW.js-Desktop-App.
|
||||||
8. **Keine KI-gestützten Funktionen** – keine automatische Bestuhlungsvorschläge oder KI-Features in der ersten Version.
|
8. **Keine Multi-Tenant-Isolierung auf Organisationsebene** – initiale Version ist Single-Tenant; Multi-Tenant später.
|
||||||
9. **Keine Multi-Tenant-Isolierung auf Organisationsebene** – initiale Version ist Single-Tenant; Multi-Tenant später.
|
9. **Keine erweiterten Druck-Layouts** – keine Plot-Styles, Linienstärken-Tabellen oder Print-Studio-Konfigurationen.
|
||||||
10. **Keine erweiterten Druck-Layouts** – keine Plot-Styles, Linienstärken-Tabellen oder Print-Studio-Konfigurationen.
|
10. **Keine Video-/Audio-Kommunikation** – keine integrierte Video- oder Audio-Calls zwischen Nutzern.
|
||||||
11. **Keine Video-/Audio-Kommunikation** – keine integrierte Video- oder Audio-Calls zwischen Nutzern.
|
11. **Keine automatische Flächenberechnung / Mengenermittlung** – in der ersten Version nicht enthalten.
|
||||||
12. **Keine automatische Flächenberechnung / Mengenermittlung** – in der ersten Version nicht enthalten.
|
12. **Kein OAuth2/OIDC/SSO** – E-Mail/Passwort reicht; SSO kann später als Plugin nachgerüstet werden.
|
||||||
13. **Kein OAuth2/OIDC/SSO** – E-Mail/Passwort reicht; SSO kann später als Plugin nachgerüstet werden.
|
13. **Keine AutoCAD-Block-Editor-Äquivalenz** – Block-Definitionen können bearbeitet werden, aber kein vollständiger Block-Editor wie in Desktop-AutoCAD.
|
||||||
14. **Keine AutoCAD-Block-Editor-Äquivalenz** – Block-Definitionen können bearbeitet werden, aber kein vollständiger Block-Editor wie in Desktop-AutoCAD.
|
14. **Keine CAD-Standards-Verwaltung** – keine DWS-Dateien oder Standards-Checking wie in Desktop-AutoCAD.
|
||||||
15. **Keine CAD-Standards-Verwaltung** – keine DWS-Dateien oder Standards-Checking wie in Desktop-AutoCAD.
|
15. **Keine 3D-Viewing** – anders als AutoCAD Web (das DWG-3D-Viewing bietet), ist web-cad rein 2D.
|
||||||
16. **Keine 3D-Viewing** – anders als AutoCAD Web (das DWG-3D-Viewing bietet), ist web-cad rein 2D.
|
16. **Keine autonomes KI-Zeichnen** – der KI Copilot führt Befehle auf Anweisung aus, aber zeichnet nicht selbstständig komplexe Zeichnungen ohne User-Anweisung. Autonomes Zeichnen ist ein späteres Feature.
|
||||||
|
17. **Keine KI-Training/Fine-Tuning** – die initialen KI-Modelle werden nicht fine-getuned; Standard-Modelle mit Function Calling werden verwendet.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -274,6 +348,7 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| Q-01 | Soll die Anwendung Open Source oder Closed Source sein? Welche Lizenz? | Open Source | ✅ **Entschieden:** Software wird als Open Source lizenziert (AGPL-3.0 empfohlen für Copyleft-Schutz, MIT als Alternative). Nur komplett offene Komponenten werden verwendet. |
|
| Q-01 | Soll die Anwendung Open Source oder Closed Source sein? Welche Lizenz? | Open Source | ✅ **Entschieden:** Software wird als Open Source lizenziert (AGPL-3.0 empfohlen für Copyleft-Schutz, MIT als Alternative). Nur komplett offene Komponenten werden verwendet. |
|
||||||
| Q-02 | Welche Authentifizierungsmethode wird bevorzugt? | E-Mail/Passwort | ✅ **Entschieden:** E-Mail/Passwort als Authentifizierung. Keine OAuth2/OIDC/SSO in der initialen Version. SSO kann später als Plugin nachgerüstet werden. |
|
| Q-02 | Welche Authentifizierungsmethode wird bevorzugt? | E-Mail/Passwort | ✅ **Entschieden:** E-Mail/Passwort als Authentifizierung. Keine OAuth2/OIDC/SSO in der initialen Version. SSO kann später als Plugin nachgerüstet werden. |
|
||||||
|
| Q-03 | Welche Datenbank soll verwendet werden? | SQLite | ✅ **Entschieden:** SQLite als Standard-Datenbank. Datenbank-Schicht ist abstrahiert für spätere Migration. Software ist API-first/modular designed für Integration mit anderer Software. |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -281,7 +356,6 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
|
|
||||||
| # | Frage | Priorität | Auswirkung bei Nicht-Beantwortung |
|
| # | Frage | Priorität | Auswirkung bei Nicht-Beantwortung |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| Q-03 | Welche Datenbank soll verwendet werden (PostgreSQL, SQLite, MongoDB)? | Mittel | Persistenz-Design, Deployment |
|
|
||||||
| Q-04 | Gibt es eine erwartete Nutzerzahl / Anzahl gleichzeitiger Kollaborateure pro Zeichnung? | Mittel | Skalierungs-Architektur, WebSocket-Server-Design |
|
| Q-04 | Gibt es eine erwartete Nutzerzahl / Anzahl gleichzeitiger Kollaborateure pro Zeichnung? | Mittel | Skalierungs-Architektur, WebSocket-Server-Design |
|
||||||
| Q-05 | Soll DWG-Import unterstützt werden? Wenn ja, welche DWG-Versionen? | Mittel | Library-Auswahl (libredwg, GNU GPL) |
|
| Q-05 | Soll DWG-Import unterstützt werden? Wenn ja, welche DWG-Versionen? | Mittel | Library-Auswahl (libredwg, GNU GPL) |
|
||||||
| Q-06 | Welche Stuhl-Typen / Bibliothekseinträge werden initial benötigt? | Mittel | Initial-Bibliothek, Bestuhlungs-Tool-Design |
|
| Q-06 | Welche Stuhl-Typen / Bibliothekseinträge werden initial benötigt? | Mittel | Initial-Bibliothek, Bestuhlungs-Tool-Design |
|
||||||
@@ -292,6 +366,9 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| Q-11 | Soll es ein API für externe Integrationen geben (REST/GraphQL)? | Niedrig | Architektur-Erweiterung |
|
| Q-11 | Soll es ein API für externe Integrationen geben (REST/GraphQL)? | Niedrig | Architektur-Erweiterung |
|
||||||
| Q-12 | Welche Maßeinheiten sollen unterstützt werden (metrisch, imperial, beides)? | Niedrig | Bemaßungs-Logic, UI |
|
| Q-12 | Welche Maßeinheiten sollen unterstützt werden (metrisch, imperial, beides)? | Niedrig | Bemaßungs-Logic, UI |
|
||||||
| Q-13 | AGPL-3.0 oder MIT als Lizenz? | Niedrig | Lizenz-Datei, Copyleft vs. Permissive |
|
| Q-13 | AGPL-3.0 oder MIT als Lizenz? | Niedrig | Lizenz-Datei, Copyleft vs. Permissive |
|
||||||
|
| Q-14 | Soll der KI Copilot Spracheingabe (Voice) von Anfang an unterstützen oder erst später? | Niedrig | UI-Design, Web Speech API Integration |
|
||||||
|
| Q-15 | Soll das KI-Backend lokal (Ollama auf Server) oder remote (externer API-Provider) laufen? | Mittel | Deployment-Architektur, Performance, Kosten |
|
||||||
|
| Q-16 | Welche KI-Modellgröße ist akzeptabel (z. B. 7B, 13B, 70B Parameter)? | Mittel | Performance, Hardware-Anforderungen, Antwortzeit |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -331,7 +408,38 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
- Daydreamsoft: Real-Time Collaboration Using CRDTs and OT
|
- Daydreamsoft: Real-Time Collaboration Using CRDTs and OT
|
||||||
- Onshape: Cloud-native CAD Collaboration
|
- Onshape: Cloud-native CAD Collaboration
|
||||||
|
|
||||||
### 9.3 Open-Source-Technologie-Stack (Empfehlung)
|
### 9.3 KI-Copilot-Architektur
|
||||||
|
|
||||||
|
**Recherche-Ergebnisse (basierend auf Known Best Practices und früheren Suchergebnissen zu AutoCAD AI 2026/2027):**
|
||||||
|
|
||||||
|
- **AutoCAD 2026/2027 AI Features:** Autodesk integriert KI für automatisches Block-Placement, Dimensioning, Layer-Assignment und Error-Detection mittels Machine Learning. (Quelle: cadcenterhyderabad.com, arkance.us)
|
||||||
|
- **LLM Function Calling / Tool Use:** Der Standard-Pattern für KI-Copiloten in Software-Anwendungen. Das LLM erhält eine Liste von verfügbaren Functions/Tools und generiert strukturierte Function Calls, die von der Anwendung ausgeführt werden.
|
||||||
|
- Beispiel: `draw_line(x1=100, y1=200, x2=300, y2=400)` → CAD-Engine führt Funktion aus → Canvas aktualisiert sich
|
||||||
|
- Vorteil: Sichere, kontrollierte KI-Ausführung; LLM hat keinen direkten Canvas-Zugriff
|
||||||
|
- Verwendet von: OpenAI (Function Calling), Anthropic (Tool Use), Open-Source-Modelle via Ollama/vLLM
|
||||||
|
- **Open-Source KI-Backends:**
|
||||||
|
- **Ollama (MIT):** Lokaler Model-Server; einfach zu deployen; unterstützt Llama, Qwen, DeepSeek; Function Calling via JSON-Format
|
||||||
|
- **vLLM (Apache-2.0):** Hochperformanter Inference-Server; optimiert für Throughput; unterstützt OpenAI-kompatibles API
|
||||||
|
- **llama.cpp (MIT):** Minimaler C++-Inference-Server; läuft auf CPU und GPU; für Resource-constrained Environments
|
||||||
|
- **Open-Source LLM-Modelle mit Function Calling:**
|
||||||
|
- **Llama 3/4 (Meta, Llama License):** 8B/70B/400B Parameter; gute Function-Calling-Unterstützung
|
||||||
|
- **Qwen 2.5 (Alibaba, Apache-2.0):** 7B/14B/32B/72B Parameter; explizit für Tool-Use trainiert
|
||||||
|
- **DeepSeek (MIT):** 7B/67B Parameter; gutes Code-Verständnis; Function-Calling-fähig
|
||||||
|
- **Context Injection:** Der aktuelle CAD-Zustand (Zeichnung, Selektion, Layer, Zoom, Maßstab) wird als strukturiertes Context-Objekt an das LLM gesendet. Dadurch kann das LLM kontextbezogene Antworten und Function Calls generieren.
|
||||||
|
- **Mehrschritt-Operationen:** Für komplexe Befehle (z. B. "Erstelle einen Raum und bestuhle ihn") kann das LLM eine Sequenz von Function Calls generieren, die nacheinander ausgeführt werden.
|
||||||
|
- **Guardrails / Safety:** Ein Safety-Layer prüft jeden Function Call vor der Ausführung. Destruktive Operationen (Löschen aller Elemente, Überschreiben ganzer Zeichnungen) erfordern explizite User-Bestätigung.
|
||||||
|
|
||||||
|
**Empfehlung:** Ollama (MIT) als KI-Backend mit Qwen 2.5 (Apache-2.0) oder Llama (Llama License) als primäres Modell. Function Calling Pattern mit zentraler CAD-Function-Registry. Context Injection für Kontext-Verständnis. Guardrails für Safety.
|
||||||
|
|
||||||
|
**Quellen:**
|
||||||
|
- cadcenterhyderabad.com: AutoCAD 2027 AI Features
|
||||||
|
- arkance.us: AutoCAD 2026 New Features (BSEARCH, Centerline Layer)
|
||||||
|
- Ollama Documentation: Function Calling Support
|
||||||
|
- vLLM Documentation: OpenAI-Compatible API
|
||||||
|
- Qwen 2.5 Model Card: Tool Use Training
|
||||||
|
- Allgemeine Best Practices für LLM Function Calling / Tool Use Pattern
|
||||||
|
|
||||||
|
### 9.4 Open-Source-Technologie-Stack (Empfehlung)
|
||||||
|
|
||||||
| Schicht | Empfehlung | Lizenz |
|
| Schicht | Empfehlung | Lizenz |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
@@ -341,18 +449,22 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| **CRDT/Sync** | Yjs (MIT) + y-websocket (MIT) | MIT |
|
| **CRDT/Sync** | Yjs (MIT) + y-websocket (MIT) | MIT |
|
||||||
| **Backend-Framework** | Node.js (Express/Fastify) oder Python (FastAPI) | MIT |
|
| **Backend-Framework** | Node.js (Express/Fastify) oder Python (FastAPI) | MIT |
|
||||||
| **WebSocket-Server** | ws (MIT) für Node.js oder websockets (BSD) für Python | MIT/BSD |
|
| **WebSocket-Server** | ws (MIT) für Node.js oder websockets (BSD) für Python | MIT/BSD |
|
||||||
| **Datenbank** | PostgreSQL (PostgreSQL License, ähnlich BSD) oder SQLite (Public Domain) | Open Source |
|
| **Datenbank** | SQLite (Public Domain) – Standard; PostgreSQL (PostgreSQL License) – optional | Open Source |
|
||||||
| **DXF-Parser** | dxf-parser (MIT, JS) oder Rust-Port mit wasm-bindgen | MIT |
|
| **DXF-Parser** | dxf-parser (MIT, JS) oder Rust-Port mit wasm-bindgen | MIT |
|
||||||
| **DWG-Parser (optional)** | libredwg (GPL) | GPL |
|
| **DWG-Parser (optional)** | libredwg (GPL) | GPL |
|
||||||
| **PDF-Generierung** | pdf-lib (MIT) oder jsPDF (MIT) | MIT |
|
| **PDF-Generierung** | pdf-lib (MIT) oder jsPDF (MIT) | MIT |
|
||||||
| **SVG-Verarbeitung** | Native Browser-API oder svg.js (MIT) | MIT |
|
| **SVG-Verarbeitung** | Native Browser-API oder svg.js (MIT) | MIT |
|
||||||
| **Auth** | bcrypt (Apache) oder argon2 (MIT/CDDL) | Open Source |
|
| **Auth** | bcrypt (Apache) oder argon2 (MIT/CDDL) | Open Source |
|
||||||
|
| **KI-Backend** | Ollama (MIT) oder vLLM (Apache-2.0) | MIT/Apache |
|
||||||
|
| **KI-Modell** | Qwen 2.5 (Apache-2.0) oder Llama 3/4 (Llama License) oder DeepSeek (MIT) | Open Source |
|
||||||
|
| **API-Dokumentation** | OpenAPI/Swagger (Apache-2.0) | Apache |
|
||||||
| **Containerisierung** | Docker (Apache 2.0) | Open Source |
|
| **Containerisierung** | Docker (Apache 2.0) | Open Source |
|
||||||
| **Deployment** | Coolify (AGPL-3.0) | Open Source |
|
| **Deployment** | Coolify (AGPL-3.0) | Open Source |
|
||||||
|
|
||||||
### 9.4 Architektur-Referenzen
|
### 9.5 Architektur-Referenzen
|
||||||
|
|
||||||
- **AutoCAD Web:** Browser-basierte CAD-Oberfläche mit streamlined UI, Side-Panel, Command Line, Blocks/Layers-Tabs. Siehe Section 12 für detaillierte Feature-Referenz.
|
- **AutoCAD Web:** Browser-basierte CAD-Oberfläche mit streamlined UI, Side-Panel, Command Line, Blocks/Layers-Tabs. Siehe Section 12 für detaillierte Feature-Referenz.
|
||||||
|
- **AutoCAD 2026/2027 AI:** KI-Features für Block-Placement, Dimensioning, Layer-Assignment, Error-Detection.
|
||||||
- **Onshape:** Cloud-native CAD mit echter Multi-User-Kollaboration; Single Source of Truth; keine Datei-Kopien.
|
- **Onshape:** Cloud-native CAD mit echter Multi-User-Kollaboration; Single Source of Truth; keine Datei-Kopien.
|
||||||
- **Figma:** Browser-basierte Design-Tool mit CRDT-basierter Kollaboration; inspirierend für UI und Sync-Architektur.
|
- **Figma:** Browser-basierte Design-Tool mit CRDT-basierter Kollaboration; inspirierend für UI und Sync-Architektur.
|
||||||
- **xDraftSight:** Cloud-basierter 2D-CAD; browser-basierte Architektur.
|
- **xDraftSight:** Cloud-basierter 2D-CAD; browser-basierte Architektur.
|
||||||
@@ -369,6 +481,10 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| Open-Source-DWG-Support | libredwg (GPL) hat eingeschränkte DWG-Version-Unterstützung | DWG als optional markieren; DXF als primäres Format |
|
| Open-Source-DWG-Support | libredwg (GPL) hat eingeschränkte DWG-Version-Unterstützung | DWG als optional markieren; DXF als primäres Format |
|
||||||
| Browser-Speicherlimit | Sehr große Projekte können Browser-Speicherlimit überschreiten | Lazy-Loading; Kompression; IndexedDB für Persistenz |
|
| Browser-Speicherlimit | Sehr große Projekte können Browser-Speicherlimit überschreiten | Lazy-Loading; Kompression; IndexedDB für Persistenz |
|
||||||
| Plugin-System-Komplexität | Universelles Plugin-System kann Core-Stabilität gefährden | Plugin-Isolation (Sandbox/try-catch); Plugin-Manifest mit deklarativen Abhängigkeiten |
|
| Plugin-System-Komplexität | Universelles Plugin-System kann Core-Stabilität gefährden | Plugin-Isolation (Sandbox/try-catch); Plugin-Manifest mit deklarativen Abhängigkeiten |
|
||||||
|
| KI-Fehlerhafte Befehle | LLM könnte fehlerhafte oder unerwartete Function Calls generieren | Guardrails; Function-Validation vor Ausführung; Bestätigung für destruktive Operationen |
|
||||||
|
| KI-Latenz | LLM-Inferenz kann mehrere Sekunden dauern, besonders auf lokaler Hardware | Streaming-Responses; Fortschrittsanzeige; Modellgröße wählbar (7B für Speed, 70B für Qualität) |
|
||||||
|
| KI-Hardware-Anforderungen | Lokale KI-Modelle benötigen GPU/RAM | Ollama mit quantisierten Modellen (4-bit/8-bit); remote API als Fallback |
|
||||||
|
| KI-Kontext-Größe | CAD-Zustand kann groß sein (viele Elemente); LLM-Context-Limit begrenzt | Context-Summary statt vollständiger Zeichnung; nur relevante Ausschnitte senden |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -376,13 +492,14 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
|
|
||||||
| Aspekt | Erwartung |
|
| Aspekt | Erwartung |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **Containerisierung** | Docker (Dockerfile + docker-compose.yml) |
|
| **Containerisierung** | Docker (Dockerfile + docker-compose.yml) – CAD-Backend, KI-Backend, Frontend |
|
||||||
| **Orchestrierung** | Coolify auf coolify-01 (46.225.91.159) |
|
| **Orchestrierung** | Coolify auf coolify-01 (46.225.91.159) |
|
||||||
| **Domain** | TBD – z. B. cad.media-on.de |
|
| **Domain** | TBD – z. B. cad.media-on.de |
|
||||||
| **SSL** | Let's Encrypt via Coolify/Traefik |
|
| **SSL** | Let's Encrypt via Coolify/Traefik |
|
||||||
| **Datenbank** | PostgreSQL (empfohlen) oder SQLite (für kleinere Deployments) |
|
| **Datenbank** | SQLite (Standard); Datenbank-Schicht abstrahiert für Migration |
|
||||||
|
| **KI-Backend** | Ollama oder vLLM als separater Container; GPU empfohlen (nicht zwingend) |
|
||||||
| **WebSocket-Server** | Separater Container oder integriert; WebSocket-Proxy via Traefik |
|
| **WebSocket-Server** | Separater Container oder integriert; WebSocket-Proxy via Traefik |
|
||||||
| **Persistenz** | Docker-Volume für Datenbank und Datei-Storage (Grundrisse, Bibliothek) |
|
| **Persistenz** | Docker-Volume für Datenbank, Datei-Storage und KI-Modelle |
|
||||||
| **Skalierung** | Initiale Version: Einzelner Server; später horizontal skalierbar |
|
| **Skalierung** | Initiale Version: Einzelner Server; später horizontal skalierbar |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -458,15 +575,18 @@ Basierend auf Recherche (Scan2CAD Review, Autodesk Produktseiten, Softonic Revie
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **Rendering** | Proprietär (Autodesk) | Canvas 2D + rbush (Open Source) | Open Source, kontrollierbar |
|
| **Rendering** | Proprietär (Autodesk) | Canvas 2D + rbush (Open Source) | Open Source, kontrollierbar |
|
||||||
| **Kollaboration** | Begrenzt (Autodesk Docs) | CRDT (Yjs) Echtzeit-Kollaboration | Echte Echtzeit-Kollaboration |
|
| **Kollaboration** | Begrenzt (Autodesk Docs) | CRDT (Yjs) Echtzeit-Kollaboration | Echte Echtzeit-Kollaboration |
|
||||||
|
| **KI Copilot** | ⚠️ Begrenzt (AutoCAD 2026 AI) | ✅ Vollständiger KI Copilot mit Function Calling | Offen, steuerbar, alle CAD-Funktionen |
|
||||||
| **LISP/Scripting** | ❌ Nicht unterstützt | ❌ Non-Goal (initial) | – |
|
| **LISP/Scripting** | ❌ Nicht unterstützt | ❌ Non-Goal (initial) | – |
|
||||||
| **Plugin-System** | ❌ Nicht verfügbar | ✅ Vollständiges Plugin/Tool-System | Erweiterbar in jede Richtung |
|
| **Plugin-System** | ❌ Nicht verfügbar | ✅ Vollständiges Plugin/Tool-System | Erweiterbar in jede Richtung |
|
||||||
| **SVG-Import** | ❌ Nicht unterstützt | ✅ Vollunterstützt | Bibliothek-Erweiterung |
|
| **SVG-Import** | ❌ Nicht unterstützt | ✅ Vollunterstützt | Bibliothek-Erweiterung |
|
||||||
| **DXF-Support** | ⚠️ Begrenzt | ✅ Vollunterstützt (Open Source) | Vollständiger DXF-Support |
|
| **DXF-Support** | ⚠️ Begrenzt | ✅ Vollunterstützt (Open Source) | Vollständiger DXF-Support |
|
||||||
| **DWG-Support** | ✅ Vollunterstützt | ⚠️ Optional (libredwg, GPL) | AutoCAD Web überlegen hier |
|
| **DWG-Support** | ✅ Vollunterstützt | ⚠️ Optional (libredwg, GPL) | AutoCAD Web überlegen hier |
|
||||||
| **Bestuhlungs-Tools** | ❌ Nicht verfügbar | ✅ Reihen & Block-Bestuhlung | Branchen-spezifisch |
|
| **Bestuhlungs-Tools** | ❌ Nicht verfügbar | ✅ Reihen & Block-Bestuhlung | Branchen-spezifisch |
|
||||||
|
| **API-First** | ❌ Keine öffentliche API | ✅ REST-API, API-first design | An andere Software anhängbar |
|
||||||
| **Lizenz** | Proprietär (Subscription) | Open Source (AGPL-3.0/MIT) | Frei nutzbar |
|
| **Lizenz** | Proprietär (Subscription) | Open Source (AGPL-3.0/MIT) | Frei nutzbar |
|
||||||
| **Deployment** | Autodesk Cloud | Docker/Coolify (self-hosted) | Self-hosted, volle Kontrolle |
|
| **Deployment** | Autodesk Cloud | Docker/Coolify (self-hosted) | Self-hosted, volle Kontrolle |
|
||||||
| **UI** | Streamlined, Side Panel | AutoCAD Web-inspiriert + erweitert | Bekannte UI + mehr Features |
|
| **UI** | Streamlined, Side Panel | AutoCAD Web-inspiriert + erweitert | Bekannte UI + mehr Features |
|
||||||
|
| **Datenbank** | Proprietär (Autodesk Cloud) | SQLite (Public Domain) | Self-hosted, kontrollierbar |
|
||||||
| **Mehrsprachigkeit** | ✅ Mehrere Sprachen | ⚠️ Deutsch first, i18n später | – |
|
| **Mehrsprachigkeit** | ✅ Mehrere Sprachen | ⚠️ Deutsch first, i18n später | – |
|
||||||
|
|
||||||
### 12.6 Quellen AutoCAD Web Referenz
|
### 12.6 Quellen AutoCAD Web Referenz
|
||||||
@@ -478,30 +598,36 @@ Basierend auf Recherche (Scan2CAD Review, Autodesk Produktseiten, Softonic Revie
|
|||||||
- Softonic: AutoCAD Web Download Review
|
- Softonic: AutoCAD Web Download Review
|
||||||
- Reddit: r/AutoCAD Diskussionen über Web-Version Limitierungen
|
- Reddit: r/AutoCAD Diskussionen über Web-Version Limitierungen
|
||||||
- Autodesk: AutoCAD Web Overview (https://www.autodesk.com/products/autocad-web/overview)
|
- Autodesk: AutoCAD Web Overview (https://www.autodesk.com/products/autocad-web/overview)
|
||||||
|
- cadcenterhyderabad.com: AutoCAD 2027 AI Features
|
||||||
|
- arkance.us: AutoCAD 2026 New Features
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 13. Handoff
|
## 13. Handoff
|
||||||
|
|
||||||
### Requirements Status
|
### Requirements Status
|
||||||
- **Draft v2 erstellt:** Ja (2026-06-19)
|
- **Draft v3 erstellt:** Ja (2026-06-19)
|
||||||
- **Hoch-priorisierte Fragen geklärt:** Q-01 (Open Source) ✅, Q-02 (E-Mail/Passwort) ✅
|
- **Entschiedene Fragen:** Q-01 (Open Source) ✅, Q-02 (E-Mail/Passwort) ✅, Q-03 (SQLite + API-first/modular) ✅
|
||||||
- **Testbare Anforderungen:** Ja – alle funktionalen und nicht-funktionalen Anforderungen haben konkrete Akzeptanzkriterien
|
- **Testbare Anforderungen:** Ja – alle funktionalen und nicht-funktionalen Anforderungen haben konkrete Akzeptanzkriterien
|
||||||
- **Akzeptanzkriterien konkret:** Ja
|
- **Akzeptanzkriterien konkret:** Ja
|
||||||
- **Annahmen explizit:** Ja (12 Annahmen dokumentiert)
|
- **Assumptions:** 18 dokumentiert (erweitert um KI Copilot, API-First, SQLite, Modularität)
|
||||||
- **Non-Goals dokumentiert:** Ja (16 Non-Goals, erweitert um AutoCAD-Web-Vergleich)
|
- **Non-Goals:** 17 dokumentiert (angepasst – KI ist nun Kern-Feature, kein Non-Goal mehr; autonomes KI-Zeichnen ist Non-Goal)
|
||||||
- **Offene Fragen:** 10 (davon 0 hoch, 5 mittel, 5 niedrig priorisiert)
|
- **Offene Fragen:** 9 (0 hoch, 4 mittel, 5 niedrig priorisiert)
|
||||||
- **AutoCAD Web Referenz:** Vollständige Feature-Analyse inkl. Limitierungen und Vergleich
|
- **AutoCAD Web Referenz:** Vollständige Feature-Analyse inkl. Limitierungen und Vergleich (erweitert um KI Copilot und API-First Vergleich)
|
||||||
- **Open-Source-Stack:** Vollständiger Open-Source-Technologie-Stack mit Lizenzen dokumentiert
|
- **Open-Source-Stack:** Vollständiger Stack mit Lizenzen (erweitert um KI-Backend und KI-Modelle)
|
||||||
- **Plugin/Erweiterbarkeit:** 8 explizite Anforderungen für universelle Erweiterbarkeit
|
- **KI Copilot:** 15 detaillierte Anforderungen (F-AI-01 bis F-AI-15) mit Function Calling Pattern, Guardrails, Open-Source-Backend
|
||||||
|
- **Integration/Modularität:** 8 Anforderungen (F-INT-01 bis F-INT-08) für API-first, REST-API, Webhooks, Headless-Modus
|
||||||
|
- **Plugin-System:** 8 Anforderungen (F-EXT-01 bis F-EXT-08) für universelle Erweiterbarkeit
|
||||||
|
|
||||||
### Ready for Architecture
|
### Ready for Architecture
|
||||||
- **Ja** – die zwei hoch-priorisierten Fragen sind geklärt; Architektur-Phase kann starten
|
- **Ja** – alle hoch-priorisierten Fragen geklärt; Architektur-Phase kann starten
|
||||||
- Verbleibende offene Fragen (Q-03 bis Q-13) sind mittel/niedrig priorisiert und können während oder nach der Architektur-Phase geklärt werden
|
- KI-Copilot-Architektur ist als Core-Feature definiert mit Function Calling Pattern
|
||||||
- Technologie-Empfehlungen (Canvas 2D + Yjs + Open-Source-Stack) stehen als Architektur-Vorgaben bereit
|
- API-First-Design ist als Architektur-Vorgabe definiert
|
||||||
|
- Verbleibende offene Fragen (Q-04 bis Q-16) sind mittel/niedrig priorisiert und können während oder nach der Architektur-Phase geklärt werden
|
||||||
|
- Technologie-Empfehlungen stehen als Architektur-Vorgaben bereit
|
||||||
|
|
||||||
### Empfohlene nächste Schritte
|
### Empfohlene nächste Schritte
|
||||||
1. User-Review der aktualisierten requirements.md (v2)
|
1. User-Review der aktualisierten requirements.md (v3)
|
||||||
2. Optional: Beantwortung von Q-03 (Datenbank) und Q-13 (Lizenz: AGPL vs. MIT)
|
2. Optional: Beantwortung von Q-15 (KI lokal vs. remote) und Q-16 (KI-Modellgröße)
|
||||||
3. Freigabe für Architektur-Phase (Phase 2)
|
3. Freigabe für Architektur-Phase (Phase 2)
|
||||||
4. Delegation an Solution Architect mit Open-Source-Stack-Vorgaben
|
4. Delegation an Solution Architect mit Vorgaben: Open-Source-Stack, KI-Copilot-Function-Calling, API-First, Plugin-System
|
||||||
|
|||||||
+167
-41
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
**Project:** web-cad – Web-basiertes 2D-CAD für Event-Bestuhlungspläne
|
**Project:** web-cad – Web-basiertes 2D-CAD für Event-Bestuhlungspläne
|
||||||
**Phase:** 1 (Intake)
|
**Phase:** 1 (Intake)
|
||||||
**Date:** 2026-06-19 (updated 2026-06-19)
|
**Date:** 2026-06-19 (updated v3)
|
||||||
**Status:** Draft v2 – ready for user review
|
**Status:** Draft v3 – ready for user review
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -18,9 +18,12 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
- performant im Browser läuft – auch bei großen Projekten
|
- performant im Browser läuft – auch bei großen Projekten
|
||||||
- später auf Docker und Coolify deploybar ist
|
- später auf Docker und Coolify deploybar ist
|
||||||
- **ausschließlich Open-Source-Komponenten** verwendet und selbst als Open Source lizenziert wird
|
- **ausschließlich Open-Source-Komponenten** verwendet und selbst als Open Source lizenziert wird
|
||||||
|
- **KI Copilot als Kern-Feature** integriert hat – von Anfang an, nicht als Afterthought
|
||||||
|
- **API-first & modular** designed ist – an andere Software anhängbar
|
||||||
|
|
||||||
**Referenz-UI:** AutoCAD Web (siehe Section 12 – AutoCAD Web Feature-Referenz)
|
**Referenz-UI:** AutoCAD Web (siehe Section 12 – AutoCAD Web Feature-Referenz)
|
||||||
**Referenz-Architektur (Kollaboration):** Figma / Onshape (Cloud-native, Single Source of Truth)
|
**Referenz-Architektur (Kollaboration):** Figma / Onshape (Cloud-native, Single Source of Truth)
|
||||||
|
**Referenz-Architektur (KI Copilot):** AutoCAD 2026/2027 AI Features + LLM Function Calling / Tool Use Pattern
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -28,10 +31,11 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
|
|
||||||
| Rolle | Beschreibung |
|
| Rolle | Beschreibung |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **Planer** | Erstellt und bearbeitet Bestuhlungspläne, nutzt CAD-Grundfunktionen und Bestuhlungs-Tools |
|
| **Planer** | Erstellt und bearbeitet Bestuhlungspläne, nutzt CAD-Grundfunktionen, Bestuhlungs-Tools und KI Copilot |
|
||||||
| **Betrachter** | Kann Pläne ansehen, kommentieren, aber nicht bearbeiten (Read-Only-Zugriff) |
|
| **Betrachter** | Kann Pläne ansehen, kommentieren, aber nicht bearbeiten (Read-Only-Zugriff) |
|
||||||
| **Admin** | Verwaltung von Projekten, Nutzern, Berechtigungen und Bibliothek |
|
| **Admin** | Verwaltung von Projekten, Nutzern, Berechtigungen, Bibliothek und KI-Konfiguration |
|
||||||
| **Gast** | Temporärer Zugriff auf spezifische Pläne ohne Account (z. B. für Kundenfreigabe) |
|
| **Gast** | Temporärer Zugriff auf spezifische Pläne ohne Account (z. B. für Kundenfreigabe) |
|
||||||
|
| **KI Copilot** | Software-Agent, der per Text/Sprache gesteuert wird und CAD-Operationen ausführt |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -91,7 +95,7 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| F-EVT-01 | **Reihen-Bestuhlung:** Automatische Platzierung von Stühlen in einer Reihe mit konfigurierbarem Abstand, Anzahl und Ausrichtung | Reihe wird mit korrekter Anzahl, Abstand und Ausrichtung generiert; Parameter sind im Nachhinein änderbar |
|
| F-EVT-01 | **Reihen-Bestuhlung:** Automatische Platzierung von Stühlen in einer Reihe mit konfigurierbarem Abstand, Anzahl und Ausrichtung | Reihe wird mit korrekter Anzahl, Abstand und Ausrichtung generiert; Parameter sind im Nachhinein änderbar |
|
||||||
| F-EVT-02 | **Block-Bestuhlung:** Automatische Platzierung von Stuhl-Blöcken in einem rechteckigen Bereich mit konfigurierbaren Reihen, Spalten, Abständen | Block wird mit korrekter Reihe/Spalte-Anzahl und Abständen generiert; Parameter im Nachhinein änderbar |
|
| F-EVT-02 | **Block-Bestuhlung:** Automatische Platzierung von Stuhl-Blöcke in einem rechteckigen Bereich mit konfigurierbaren Reihen, Spalten, Abständen | Block wird mit korrekter Reihe/Spalte-Anzahl und Abständen generiert; Parameter im Nachhinein änderbar |
|
||||||
| F-EVT-03 | **Bestuhlungs-Parameter:** Stuhl-Typ (aus Bibliothek), Reihe/Spalte-Anzahl, Abstand, Versatz, Ausrichtung, Block-Konfiguration | Alle Parameter können konfiguriert werden; Änderungen aktualisieren die Bestuhlung in Echtzeit |
|
| F-EVT-03 | **Bestuhlungs-Parameter:** Stuhl-Typ (aus Bibliothek), Reihe/Spalte-Anzahl, Abstand, Versatz, Ausrichtung, Block-Konfiguration | Alle Parameter können konfiguriert werden; Änderungen aktualisieren die Bestuhlung in Echtzeit |
|
||||||
| F-EVT-04 | **Bestuhlung bearbeiten:** Generierte Bestuhlung kann nachträglich modifiziert werden (Stühle hinzufügen/entfernen, verschieben) | Einzelne Stühle können hinzugefügt, entfernt oder verschoben werden; Gesamtbestuhlung aktualisiert sich |
|
| F-EVT-04 | **Bestuhlung bearbeiten:** Generierte Bestuhlung kann nachträglich modifiziert werden (Stühle hinzufügen/entfernen, verschieben) | Einzelne Stühle können hinzugefügt, entfernt oder verschoben werden; Gesamtbestuhlung aktualisiert sich |
|
||||||
| F-EVT-05 | **Bestuhlungs-Zählung:** Automatische Zählung der platzierten Stühle pro Reihe, Block und Gesamt | Zähler wird in Echtzeit aktualisiert und kann im Eigenschaften-Panel abgelesen werden |
|
| F-EVT-05 | **Bestuhlungs-Zählung:** Automatische Zählung der platzierten Stühle pro Reihe, Block und Gesamt | Zähler wird in Echtzeit aktualisiert und kann im Eigenschaften-Panel abgelesen werden |
|
||||||
@@ -134,6 +138,8 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
| F-UI-06 | **Theme-Unterstützung:** Dark- und Light-Mode | Theme kann umgeschaltet werden; alle UI-Elemente passen sich an |
|
| F-UI-06 | **Theme-Unterstützung:** Dark- und Light-Mode | Theme kann umgeschaltet werden; alle UI-Elemente passen sich an |
|
||||||
| F-UI-07 | **Sidebar-Panels:** Tabs für Blocks, Layers, Eigenschaften (wie AutoCAD Web Side Panel) | Side-Panel-Tabs sind erreichbar und zeigen entsprechenden Inhalt |
|
| F-UI-07 | **Sidebar-Panels:** Tabs für Blocks, Layers, Eigenschaften (wie AutoCAD Web Side Panel) | Side-Panel-Tabs sind erreichbar und zeigen entsprechenden Inhalt |
|
||||||
| F-UI-08 | **Streamlined UI:** UI fokussiert auf 2D-Drafting – nicht überladen wie Desktop-CAD | Wesentliche Werkzeuge sichtbar; erweiterte Funktionen in Untermenüs oder ausblendbar |
|
| F-UI-08 | **Streamlined UI:** UI fokussiert auf 2D-Drafting – nicht überladen wie Desktop-CAD | Wesentliche Werkzeuge sichtbar; erweiterte Funktionen in Untermenüs oder ausblendbar |
|
||||||
|
| F-UI-09 | **KI Copilot Panel:** Eingebettetes Chat/Command-Panel für KI-Interaktion | KI-Panel ist sichtbar; Nutzer kann Texteingaben machen; Antworten und Aktionen werden angezeigt |
|
||||||
|
| F-UI-10 | **Voice Input:** Spracheingabe für KI Copilot (optional, Web Speech API) | Spracheingabe kann aktiviert werden; erkannter Text wird an KI Copilot gesendet |
|
||||||
|
|
||||||
### 3.9 Erweiterbarkeit & Plugin-System
|
### 3.9 Erweiterbarkeit & Plugin-System
|
||||||
|
|
||||||
@@ -158,6 +164,39 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
| F-AUTH-04 | **Benutzerverwaltung:** Admin kann Nutzer erstellen, bearbeiten, löschen, Rollen zuweisen | Alle Operationen funktionieren; Rollenänderungen sind sofort wirksam |
|
| F-AUTH-04 | **Benutzerverwaltung:** Admin kann Nutzer erstellen, bearbeiten, löschen, Rollen zuweisen | Alle Operationen funktionieren; Rollenänderungen sind sofort wirksam |
|
||||||
| F-AUTH-05 | **Gast-Zugang:** Admin kann temporäre Gast-Zugänge für spezifische Pläne erstellen | Gast-Link funktioniert; Gast hat nur Zugriff auf freigegebene Pläne; Link kann widerrufen werden |
|
| F-AUTH-05 | **Gast-Zugang:** Admin kann temporäre Gast-Zugänge für spezifische Pläne erstellen | Gast-Link funktioniert; Gast hat nur Zugriff auf freigegebene Pläne; Link kann widerrufen werden |
|
||||||
|
|
||||||
|
### 3.11 KI Copilot
|
||||||
|
|
||||||
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|
|---|---|---|
|
||||||
|
| F-AI-01 | **CAD-Steuerung per Text/Sprache:** Der KI Copilot kann alle CAD-Grundfunktionen per Text- oder Spracheingabe steuern (z. B. "Zeichne eine Linie von A nach B", "Rotiere das ausgewählte Element um 45 Grad") | KI-Interpreter übersetzt natürliche Sprache in CAD-Befehle; Befehle werden korrekt ausgeführt; Ergebnis ist sichtbar auf dem Canvas |
|
||||||
|
| F-AI-02 | **Zeichnungen erstellen & bearbeiten:** Der KI Copilot kann Zeichnungen aktiv erstellen und bearbeiten – Linien, Kreise, Polygone, Rechtecke, Bögen, Polylinien, Text, Bemaßungen, Schraffuren | KI-generierte Elemente erscheinen korrekt auf dem Canvas; Eigenschaften (Position, Größe, Farbe) entsprechen der Anweisung |
|
||||||
|
| F-AI-03 | **Bestuhlungs-Tools bedienen:** Der KI Copilot kann Bestuhlungs-Tools steuern – Reihen und Blöcke erstellen, Parameter setzen (Anzahl, Abstand, Ausrichtung), Bestuhlung modifizieren | KI-generierte Bestuhlung entspricht den Parametern; Stuhlanzahl und -anordnung sind korrekt |
|
||||||
|
| F-AI-04 | **Layer & Bibliothek verwalten:** Der KI Copilot kann Layer erstellen/löschen/umschalten und Blöcke aus der Bibliothek einfügen/organisieren | KI-Befehle für Layer- und Bibliotheksoperationen werden korrekt ausgeführt; Änderungen sind sichtbar |
|
||||||
|
| F-AI-05 | **Import/Export auslösen:** Der KI Copilot kann Import- und Export-Operationen auslösen (z. B. "Exportiere als DXF", "Importiere die SVG-Datei") | KI-gesteuerter Import/Export funktioniert; Dateien werden korrekt generiert/geladen |
|
||||||
|
| F-AI-06 | **KI-Architektur von Anfang an:** Die KI-Copilot-Architektur muss von Anfang an in den Core integriert sein – keine nachträgliche Anbindung, sondern native Hooks/Schnittstellen | KI-Hooks sind Teil der Core-Architektur; CAD-Operationen sind als "Functions/Tools" registriert und vom KI-System aufrufbar |
|
||||||
|
| F-AI-07 | **Kontext-Verständnis:** Der KI Copilot versteht den aktuellen Kontext – aktuelle Zeichnung, ausgewählte Elemente, aktive Ebene, Zoom-Bereich, Maßstab | KI antwortet kontextbezogen; "Rotiere das um 90 Grad" bezieht sich auf das ausgewählte Element; "Füge hier einen Stuhl hinzu" verwendet Cursor-Position |
|
||||||
|
| F-AI-08 | **Vorschläge & Empfehlungen:** Der KI Copilot kann Vorschläge machen (z. B. Bestuhlungs-Vorschläge basierend auf Raumgröße, Optimierungsvorschläge für Bestuhlungsanordnung) | KI generiert sinnvolle Vorschläge; Nutzer kann Vorschläge akzeptieren/ablehnen; akzeptierte Vorschläge werden auf Canvas umgesetzt |
|
||||||
|
| F-AI-09 | **Mehrschritt-Operationen:** Der KI Copilot kann komplexe, mehrschrittige Operationen ausführen (z. B. "Erstelle einen rechteckigen Raum 20x30m und bestuhle ihn mit 10 Reihen à 15 Stühlen") | KI führt alle Teilschritte korrekt aus; Zwischenergebnisse sind sichtbar; Gesamtoperation ist korrekt |
|
||||||
|
| F-AI-10 | **Fehlerbehandlung & Feedback:** Der KI Copilot gibt klare Fehlermeldungen bei missverständlichen oder nicht ausführbaren Anweisungen und fragt nach | KI gibt verständliche Fehlermeldungen; fragt bei Mehrdeutigkeit nach; schlägt Alternativen vor |
|
||||||
|
| F-AI-11 | **Undo für KI-Operationen:** Alle KI-gesteuerten Operationen können rückgängig gemacht werden | KI-Operationen appearieren in der Undo-Historie; können einzeln oder als Gruppe rückgängig gemacht werden |
|
||||||
|
| F-AI-12 | **KI-Modell konfigurierbar:** Das verwendete KI-Modell kann vom Admin konfiguriert werden (lokal oder remote, Modell-Auswahl) | Admin kann KI-Backend in Einstellungen konfigurieren; Wechsel zwischen lokal/remote ist möglich |
|
||||||
|
| F-AI-13 | **Open-Source KI-Backend:** KI-Backend verwendet Open-Source-Modelle/APIs (Ollama, vLLM, llama.cpp mit Llama/Qwen/DeepSeek-Modellen) | KI funktioniert mit Open-Source-Modellen; keine proprietäre Abhängigkeit |
|
||||||
|
| F-AI-14 | **Function Calling / Tool Use:** KI-Backend verwendet Function Calling / Tool Use Pattern – CAD-Operationen sind als Functions registriert, die das LLM aufrufen kann | LLM generiert Function Calls; Functions werden ausgeführt; Ergebnisse an LLM zurückgegeben; CAD-Zustand aktualisiert |
|
||||||
|
| F-AI-15 | **Sicherheits-Guardrails:** KI Copilot kann keine destruktiven Operationen ohne Bestätigung ausführen (z. B. "Lösche alles") | Destruktive Befehle erfordern Bestätigung; Safety-Checks sind implementiert |
|
||||||
|
|
||||||
|
### 3.12 Integration & Modularität (API-First)
|
||||||
|
|
||||||
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|
|---|---|---|
|
||||||
|
| F-INT-01 | **REST-API:** Alle Kern-Funktionen sind über eine REST-API erreichbar (Projekte, Zeichnungen, Layer, Blöcke, Bibliothek, Export/Import) | API-Endpunkte sind dokumentiert (OpenAPI/Swagger); externe Clients können CRUD-Operationen ausführen |
|
||||||
|
| F-INT-02 | **API-First-Architektur:** Die Software ist API-first designed – das Backend ist ein API-Server, die Web-UI ist ein API-Client | Backend-Logik ist vollständig über API nutzbar; UI verwendet dieselbe API wie externe Clients |
|
||||||
|
| F-INT-03 | **Webhook-Support:** Webhooks für Events (z. B. Zeichnung geändert, Projekt erstellt, Export fertig) | Webhooks können konfiguriert werden; Events werden an registrierte URLs gesendet |
|
||||||
|
| F-INT-04 | **Modulare Architektur:** Core, Plugins, KI-Backend und UI sind lose gekoppelte Module mit definierten Schnittstellen | Module können unabhängig entwickelt und ausgetauscht werden; Schnittstellen sind dokumentiert |
|
||||||
|
| F-INT-05 | **Anbindung an andere Software:** Die Software kann an andere Systeme angebunden werden (z. B. Event-Management-Systeme, CRM, Buchhaltung) | Integration via REST-API oder Webhooks ist möglich; Beispiel-Integration dokumentiert |
|
||||||
|
| F-INT-06 | **Datenbank-Agnostisch:** Persistenz-Schicht ist abstrahiert; Datenbank kann ausgetauscht werden (SQLite default, PostgreSQL/MySQL möglich) | Datenbank-Backend ist konfigurierbar; Wechsel erfordert nur Konfiguration, keinen Code-Change |
|
||||||
|
| F-INT-07 | **Headless-Modus:** Software kann ohne UI betrieben werden (nur API) – nützlich für Automatisierung und Integration | Headless-Modus startet ohne UI; API ist voll funktionsfähig; Automatisierung möglich |
|
||||||
|
| F-INT-08 | **KI-API:** KI-Copilot-Funktionen sind über die API erreichbar (für externe Automatisierung) | KI-Befehle können via API gesendet werden; Ergebnisse werden als JSON zurückgegeben |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 4. Nicht-funktionale Anforderungen
|
## 4. Nicht-funktionale Anforderungen
|
||||||
@@ -170,6 +209,7 @@ Das Ziel von **web-cad** ist eine web-basierte 2D-CAD-Anwendung, die:
|
|||||||
| NF-PERF-02 | **Ladezeit:** Initiale Ladezeit < 3 Sekunden bei Standard-Internetverbindung | Lighthouse-Performance-Score >= 80; First Contentful Paint < 1,5s |
|
| NF-PERF-02 | **Ladezeit:** Initiale Ladezeit < 3 Sekunden bei Standard-Internetverbindung | Lighthouse-Performance-Score >= 80; First Contentful Paint < 1,5s |
|
||||||
| NF-PERF-03 | **Speicher-Effizienz:** Browser-Speicherverbrauch bleibt < 500MB bei 50.000 Elementen | Speicherverbrauch wird überwacht und bleibt unter 500MB |
|
| NF-PERF-03 | **Speicher-Effizienz:** Browser-Speicherverbrauch bleibt < 500MB bei 50.000 Elementen | Speicherverbrauch wird überwacht und bleibt unter 500MB |
|
||||||
| NF-PERF-04 | **Kollaborations-Latenz:** Echtzeit-Synchronisation < 1 Sekunde bei normaler Netzwerkverbindung | Latenz wird gemessen und bleibt unter 1 Sekunde |
|
| NF-PERF-04 | **Kollaborations-Latenz:** Echtzeit-Synchronisation < 1 Sekunde bei normaler Netzwerkverbindung | Latenz wird gemessen und bleibt unter 1 Sekunde |
|
||||||
|
| NF-PERF-05 | **KI-Antwortzeit:** KI Copilot antwortet < 3 Sekunden auf einfache Befehle | Antwortzeit wird gemessen; einfache Befehle (< 3s); komplexe Operationen zeigen Fortschritt |
|
||||||
|
|
||||||
### 4.2 Rendering-Technologie (Architektur-Empfehlung – Open Source)
|
### 4.2 Rendering-Technologie (Architektur-Empfehlung – Open Source)
|
||||||
|
|
||||||
@@ -193,17 +233,41 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| **Persistenz** | Server-seitige Persistenz der CRDT-Dokumente | Single Source of Truth; Versionshistorie; Offline-Sync bei Reconnect | y-leveldb (MIT), IndexedDB client-side |
|
| **Persistenz** | Server-seitige Persistenz der CRDT-Dokumente | Single Source of Truth; Versionshistorie; Offline-Sync bei Reconnect | y-leveldb (MIT), IndexedDB client-side |
|
||||||
| **Skalierung** | WebSocket-Server mit Pub/Sub pro Raum (Zeichnung) | Mehrere Zeichnungen parallel; isolierte Räume; horizontale Skalierung möglich | Redis Pub/Sub (BSD) für Multi-Server-Skalierung |
|
| **Skalierung** | WebSocket-Server mit Pub/Sub pro Raum (Zeichnung) | Mehrere Zeichnungen parallel; isolierte Räume; horizontale Skalierung möglich | Redis Pub/Sub (BSD) für Multi-Server-Skalierung |
|
||||||
|
|
||||||
### 4.4 Open-Source-Lizenz & Komponenten
|
### 4.4 KI-Copilot-Architektur (Open Source)
|
||||||
|
|
||||||
|
| Aspekt | Empfehlung | Begründung | Open-Source-Verfügbarkeit |
|
||||||
|
|---|---|---|---|
|
||||||
|
| **KI-Backend** | Ollama (MIT) oder vLLM (Apache-2.0) als lokaler Model-Server | Läuft auf eigenem Server; keine Cloud-Abhängigkeit; volle Kontrolle | Ollama (MIT), vLLM (Apache-2.0) |
|
||||||
|
| **KI-Modelle** | Llama 3/4 (Llama License), Qwen 2.5 (Apache-2.0), DeepSeek (MIT) | Open-Source LLMs mit Function-Calling-Unterstützung | Verschiedene OSS-Modelle verfügbar |
|
||||||
|
| **Function Calling** | LLM Function Calling / Tool Use Pattern | CAD-Operationen werden als Functions registriert; LLM ruft Functions auf; Ergebnisse zurück an LLM | Standard-Pattern, framework-unabhängig |
|
||||||
|
| **KI-Transport** | REST-API oder WebSocket zwischen Frontend und KI-Backend | Frontend sendet KI-Anfrage; Backend leitet an LLM weiter; LLM generiert Function Calls; Backend führt aus | Express/Fastify (MIT) oder FastAPI (MIT) |
|
||||||
|
| **CAD-Function-Registry** | Zentrales Verzeichnis aller CAD-Operationen als aufrufbare Functions | LLM kann nur registrierte Functions aufrufen;安全; erweiterbar durch Plugins | Custom Implementation (MIT) |
|
||||||
|
| **Context Injection** | Aktueller CAD-Zustand (Zeichnung, Selektion, Layer, Zoom) wird als Context an LLM gesendet | LLM hat Kontext; kann kontextbezogene Antworten geben | Custom Implementation |
|
||||||
|
| **Guardrails** | Safety-Layer für destruktive Operationen | Verhindert ungewolltes Löschen; erfordert Bestätigung | Custom Implementation |
|
||||||
|
|
||||||
|
**Architektur-Pattern:**
|
||||||
|
```
|
||||||
|
User Input (Text/Sprache)
|
||||||
|
→ KI-Backend (Ollama/vLLM)
|
||||||
|
→ LLM generiert Function Call (z. B. draw_line(x1, y1, x2, y2))
|
||||||
|
→ CAD-Function-Registry führt Function aus
|
||||||
|
→ Canvas aktualisiert sich
|
||||||
|
→ Ergebnis an LLM zurück ("Linie gezeichnet von A nach B")
|
||||||
|
→ LLM generiert Bestätigung an User
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.5 Open-Source-Lizenz & Komponenten
|
||||||
|
|
||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| NF-OSS-01 | **Open-Source-Lizenz:** web-cad wird als Open Source veröffentlicht (Lizenz: AGPL-3.0 oder MIT, siehe Q-01) | Lizenz-Datei (LICENSE) im Repo; alle Quellen öffentlich |
|
| NF-OSS-01 | **Open-Source-Lizenz:** web-cad wird als Open Source veröffentlicht (Lizenz: AGPL-3.0 oder MIT, siehe Q-01) | Lizenz-Datei (LICENSE) im Repo; alle Quellen öffentlich |
|
||||||
| NF-OSS-02 | **Nur Open-Source-Komponenten:** Alle verwendeten Libraries, Tools und Frameworks müssen Open-Source-Lizenzen haben (MIT, Apache-2.0, BSD, ISC, LGPL, AGPL) | Keine proprietären Abhängigkeiten; Lizenz-Audit in CI/CD |
|
| NF-OSS-02 | **Nur Open-Source-Komponenten:** Alle verwendeten Libraries, Tools, Frameworks und KI-Modelle müssen Open-Source-Lizenzen haben (MIT, Apache-2.0, BSD, ISC, LGPL, AGPL) | Keine proprietären Abhängigkeiten; Lizenz-Audit in CI/CD |
|
||||||
| NF-OSS-03 | **Lizenz-Kompatibilität:** Alle Abhängigkeiten sind untereinander lizenzkompatibel | Lizenz-Kompatibilitätsanalyse durchgeführt; keine Konflikte |
|
| NF-OSS-03 | **Lizenz-Kompatibilität:** Alle Abhängigkeiten sind untereinander lizenzkompatibel | Lizenz-Kompatibilitätsanalyse durchgeführt; keine Konflikte |
|
||||||
| NF-OSS-04 | **DXF-Bibliothek:** Open-Source DXF-Parser/Writer verwenden (z. B. dxf-parser, dxf-writer in JS oder Rust) | DXF-Import/Export funktioniert mit Open-Source-Library |
|
| NF-OSS-04 | **DXF-Bibliothek:** Open-Source DXF-Parser/Writer verwenden (z. B. dxf-parser, dxf-writer in JS oder Rust) | DXF-Import/Export funktioniert mit Open-Source-Library |
|
||||||
| NF-OSS-05 | **DWG-Bibliothek (Optional):** Falls DWG-Import unterstützt wird, Open-Source-Library verwenden (z. B. libredwg, GNU GPL) | DWG-Import funktioniert mit Open-Source-Library; keine kommerziellen Bibliotheken |
|
| NF-OSS-05 | **DWG-Bibliothek (Optional):** Falls DWG-Import unterstützt wird, Open-Source-Library verwenden (z. B. libredwg, GNU GPL) | DWG-Import funktioniert mit Open-Source-Library; keine kommerziellen Bibliotheken |
|
||||||
|
| NF-OSS-06 | **KI-Modelle:** Verwendete KI-Modelle sind Open Source (Llama, Qwen, DeepSeek etc.) | Keine proprietären KI-APIs als Abhängigkeit; lokale Modelle möglich |
|
||||||
|
|
||||||
### 4.5 Sicherheit
|
### 4.6 Sicherheit
|
||||||
|
|
||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
@@ -211,22 +275,25 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| NF-SEC-02 | **Autorisierung:** Rollenbasierte Zugriffskontrolle für Projekte und Aktionen | Berechtigungen werden server-seitig enforced |
|
| NF-SEC-02 | **Autorisierung:** Rollenbasierte Zugriffskontrolle für Projekte und Aktionen | Berechtigungen werden server-seitig enforced |
|
||||||
| NF-SEC-03 | **Daten-Transport:** HTTPS/WSS für gesamte Kommunikation | TLS für alle Verbindungen; keine unverschlüsselte Kommunikation |
|
| NF-SEC-03 | **Daten-Transport:** HTTPS/WSS für gesamte Kommunikation | TLS für alle Verbindungen; keine unverschlüsselte Kommunikation |
|
||||||
| NF-SEC-04 | **Input-Validierung:** Import-Dateien werden validiert (DXF, SVG, PDF) | Maliziöse Dateien werden abgewiesen; Schema-Validierung erfolgt vor Verarbeitung |
|
| NF-SEC-04 | **Input-Validierung:** Import-Dateien werden validiert (DXF, SVG, PDF) | Maliziöse Dateien werden abgewiesen; Schema-Validierung erfolgt vor Verarbeitung |
|
||||||
|
| NF-SEC-05 | **KI-Safety:** KI-Copilot-Operationen haben Guardrails (keine destruktiven Operationen ohne Bestätigung) | Safety-Checks verhindern ungewollte Datenlöschung; Bestätigung erforderlich für kritische Operationen |
|
||||||
|
|
||||||
### 4.6 Deployment
|
### 4.7 Deployment
|
||||||
|
|
||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| NF-DEP-01 | **Docker-Deployment:** Anwendung kann in Docker-Containern betrieben werden | Dockerfile und docker-compose.yml vorhanden und funktionsfähig |
|
| NF-DEP-01 | **Docker-Deployment:** Anwendung kann in Docker-Containern betrieben werden | Dockerfile und docker-compose.yml vorhanden und funktionsfähig |
|
||||||
| NF-DEP-02 | **Coolify-Deployment:** Deployment via Coolify ist möglich | Coolify-kompatible Konfiguration vorhanden; Deployment-Dokumentation erstellt |
|
| NF-DEP-02 | **Coolify-Deployment:** Deployment via Coolify ist möglich | Coolify-kompatible Konfiguration vorhanden; Deployment-Dokumentation erstellt |
|
||||||
| NF-DEP-03 | **Umgebungs-Konfiguration:** Konfiguration über Umgebungsvariablen | Keine fest codierten Credentials; alle Secrets über Env-Variablen |
|
| NF-DEP-03 | **Umgebungs-Konfiguration:** Konfiguration über Umgebungsvariablen | Keine fest codierten Credentials; alle Secrets über Env-Variablen |
|
||||||
| NF-DEP-04 | **Datenbank:** Persistente Datenhaltung für Projekte, Nutzer, Bibliothek | Datenbank-Schema definiert; Migration-Skripte vorhanden |
|
| NF-DEP-04 | **Datenbank:** SQLite als Standard-Datenbank (entschieden, siehe Q-03); Datenbank-Schicht ist abstrahiert für spätere Migration | SQLite funktioniert; Schema definiert; Migration zu PostgreSQL möglich |
|
||||||
|
| NF-DEP-05 | **KI-Backend-Deployment:** KI-Backend (Ollama/vLLM) läuft als separater Container | KI-Backend ist in docker-compose.yml definiert; Kommunikation mit CAD-Backend funktioniert |
|
||||||
|
|
||||||
### 4.7 Plattform & Browser-Kompatibilität
|
### 4.8 Plattform & Browser-Kompatibilität
|
||||||
|
|
||||||
| ID | Anforderung | Akzeptanzkriterium |
|
| ID | Anforderung | Akzeptanzkriterium |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| NF-PLAT-01 | **Browser-Unterstützung:** Chrome, Firefox, Edge, Safari (aktuelle Versionen) | Anwendung läuft in allen genannten Browsern; keine Browser-spezifischen Fehler |
|
| NF-PLAT-01 | **Browser-Unterstützung:** Chrome, Firefox, Edge, Safari (aktuelle Versionen) | Anwendung läuft in allen genannten Browsern; keine Browser-spezifischen Fehler |
|
||||||
| NF-PLAT-02 | **WebAssembly-Unterstützung:** Browser muss WebAssembly unterstützen | Fallback-Strategie für Browser ohne WebAssembly oder klare Fehlermeldung |
|
| NF-PLAT-02 | **WebAssembly-Unterstützung:** Browser muss WebAssembly unterstützen | Fallback-Strategie für Browser ohne WebAssembly oder klare Fehlermeldung |
|
||||||
|
| NF-PLAT-03 | **Web Speech API:** Browser muss Web Speech API unterstützen (für optionale Voice-Input) | Voice-Input funktioniert in unterstützten Browsern; Fallback auf Text-Eingabe |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -244,6 +311,12 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
10. **Bestuhlungs-Stühle als Bibliothek-Blöcke:** Stühle für Bestuhlungs-Tools werden als Blöcke in der Bibliothek definiert, nicht fest codiert.
|
10. **Bestuhlungs-Stühle als Bibliothek-Blöcke:** Stühle für Bestuhlungs-Tools werden als Blöcke in der Bibliothek definiert, nicht fest codiert.
|
||||||
11. **E-Mail/Passwort-Auth:** E-Mail/Passwort ist die Authentifizierungsmethode; keine OAuth2/SSO in der initialen Version.
|
11. **E-Mail/Passwort-Auth:** E-Mail/Passwort ist die Authentifizierungsmethode; keine OAuth2/SSO in der initialen Version.
|
||||||
12. **Universelle Erweiterbarkeit:** Die Plugin-Architektur ist so konzipiert, dass die Software später in jede Richtung erweiterbar ist (neue Branchen, Formate, UI-Komponenten).
|
12. **Universelle Erweiterbarkeit:** Die Plugin-Architektur ist so konzipiert, dass die Software später in jede Richtung erweiterbar ist (neue Branchen, Formate, UI-Komponenten).
|
||||||
|
13. **SQLite als Standard-Datenbank:** SQLite wird als Standard-Datenbank verwendet; Datenbank-Schicht ist abstrahiert für spätere Migration zu PostgreSQL/MySQL.
|
||||||
|
14. **API-First-Design:** Die Software ist API-first designed; das Backend ist ein API-Server, die UI ist ein API-Client. Dadurch ist die Software an andere Systeme anhängbar.
|
||||||
|
15. **KI Copilot als Kern-Feature:** Der KI Copilot ist von Anfang an in die Core-Architektur integriert – kein Afterthought. CAD-Operationen sind als Functions registriert, die vom LLM aufgerufen werden können.
|
||||||
|
16. **Open-Source KI-Backend:** KI-Backend verwendet Open-Source-Modelle (Llama, Qwen, DeepSeek) via Ollama oder vLLM; keine proprietären KI-APIs als Abhängigkeit.
|
||||||
|
17. **Function Calling als KI-Pattern:** Das LLM verwendet Function Calling / Tool Use, um CAD-Operationen auszulösen. Das LLM generiert keine direkten Canvas-Befehle, sondern ruft registrierte Functions auf.
|
||||||
|
18. **Modularität:** Core, Plugins, KI-Backend und UI sind lose gekoppelte Module mit definierten Schnittstellen.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -256,15 +329,16 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
5. **Keine parametrische Modellierung** – keine Constraint-basierte Geometrie oder parametrischen Relationen.
|
5. **Keine parametrische Modellierung** – keine Constraint-basierte Geometrie oder parametrischen Relationen.
|
||||||
6. **Keine BIM-Integration** – keine IFC-Importe, keine BIM-Datenmodellierung.
|
6. **Keine BIM-Integration** – keine IFC-Importe, keine BIM-Datenmodellierung.
|
||||||
7. **Keine Desktop-Installation** – rein web-basiert; keine Electron-/NW.js-Desktop-App.
|
7. **Keine Desktop-Installation** – rein web-basiert; keine Electron-/NW.js-Desktop-App.
|
||||||
8. **Keine KI-gestützten Funktionen** – keine automatische Bestuhlungsvorschläge oder KI-Features in der ersten Version.
|
8. **Keine Multi-Tenant-Isolierung auf Organisationsebene** – initiale Version ist Single-Tenant; Multi-Tenant später.
|
||||||
9. **Keine Multi-Tenant-Isolierung auf Organisationsebene** – initiale Version ist Single-Tenant; Multi-Tenant später.
|
9. **Keine erweiterten Druck-Layouts** – keine Plot-Styles, Linienstärken-Tabellen oder Print-Studio-Konfigurationen.
|
||||||
10. **Keine erweiterten Druck-Layouts** – keine Plot-Styles, Linienstärken-Tabellen oder Print-Studio-Konfigurationen.
|
10. **Keine Video-/Audio-Kommunikation** – keine integrierte Video- oder Audio-Calls zwischen Nutzern.
|
||||||
11. **Keine Video-/Audio-Kommunikation** – keine integrierte Video- oder Audio-Calls zwischen Nutzern.
|
11. **Keine automatische Flächenberechnung / Mengenermittlung** – in der ersten Version nicht enthalten.
|
||||||
12. **Keine automatische Flächenberechnung / Mengenermittlung** – in der ersten Version nicht enthalten.
|
12. **Kein OAuth2/OIDC/SSO** – E-Mail/Passwort reicht; SSO kann später als Plugin nachgerüstet werden.
|
||||||
13. **Kein OAuth2/OIDC/SSO** – E-Mail/Passwort reicht; SSO kann später als Plugin nachgerüstet werden.
|
13. **Keine AutoCAD-Block-Editor-Äquivalenz** – Block-Definitionen können bearbeitet werden, aber kein vollständiger Block-Editor wie in Desktop-AutoCAD.
|
||||||
14. **Keine AutoCAD-Block-Editor-Äquivalenz** – Block-Definitionen können bearbeitet werden, aber kein vollständiger Block-Editor wie in Desktop-AutoCAD.
|
14. **Keine CAD-Standards-Verwaltung** – keine DWS-Dateien oder Standards-Checking wie in Desktop-AutoCAD.
|
||||||
15. **Keine CAD-Standards-Verwaltung** – keine DWS-Dateien oder Standards-Checking wie in Desktop-AutoCAD.
|
15. **Keine 3D-Viewing** – anders als AutoCAD Web (das DWG-3D-Viewing bietet), ist web-cad rein 2D.
|
||||||
16. **Keine 3D-Viewing** – anders als AutoCAD Web (das DWG-3D-Viewing bietet), ist web-cad rein 2D.
|
16. **Keine autonomes KI-Zeichnen** – der KI Copilot führt Befehle auf Anweisung aus, aber zeichnet nicht selbstständig komplexe Zeichnungen ohne User-Anweisung. Autonomes Zeichnen ist ein späteres Feature.
|
||||||
|
17. **Keine KI-Training/Fine-Tuning** – die initialen KI-Modelle werden nicht fine-getuned; Standard-Modelle mit Function Calling werden verwendet.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -274,6 +348,7 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| Q-01 | Soll die Anwendung Open Source oder Closed Source sein? Welche Lizenz? | Open Source | ✅ **Entschieden:** Software wird als Open Source lizenziert (AGPL-3.0 empfohlen für Copyleft-Schutz, MIT als Alternative). Nur komplett offene Komponenten werden verwendet. |
|
| Q-01 | Soll die Anwendung Open Source oder Closed Source sein? Welche Lizenz? | Open Source | ✅ **Entschieden:** Software wird als Open Source lizenziert (AGPL-3.0 empfohlen für Copyleft-Schutz, MIT als Alternative). Nur komplett offene Komponenten werden verwendet. |
|
||||||
| Q-02 | Welche Authentifizierungsmethode wird bevorzugt? | E-Mail/Passwort | ✅ **Entschieden:** E-Mail/Passwort als Authentifizierung. Keine OAuth2/OIDC/SSO in der initialen Version. SSO kann später als Plugin nachgerüstet werden. |
|
| Q-02 | Welche Authentifizierungsmethode wird bevorzugt? | E-Mail/Passwort | ✅ **Entschieden:** E-Mail/Passwort als Authentifizierung. Keine OAuth2/OIDC/SSO in der initialen Version. SSO kann später als Plugin nachgerüstet werden. |
|
||||||
|
| Q-03 | Welche Datenbank soll verwendet werden? | SQLite | ✅ **Entschieden:** SQLite als Standard-Datenbank. Datenbank-Schicht ist abstrahiert für spätere Migration. Software ist API-first/modular designed für Integration mit anderer Software. |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -281,7 +356,6 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
|
|
||||||
| # | Frage | Priorität | Auswirkung bei Nicht-Beantwortung |
|
| # | Frage | Priorität | Auswirkung bei Nicht-Beantwortung |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| Q-03 | Welche Datenbank soll verwendet werden (PostgreSQL, SQLite, MongoDB)? | Mittel | Persistenz-Design, Deployment |
|
|
||||||
| Q-04 | Gibt es eine erwartete Nutzerzahl / Anzahl gleichzeitiger Kollaborateure pro Zeichnung? | Mittel | Skalierungs-Architektur, WebSocket-Server-Design |
|
| Q-04 | Gibt es eine erwartete Nutzerzahl / Anzahl gleichzeitiger Kollaborateure pro Zeichnung? | Mittel | Skalierungs-Architektur, WebSocket-Server-Design |
|
||||||
| Q-05 | Soll DWG-Import unterstützt werden? Wenn ja, welche DWG-Versionen? | Mittel | Library-Auswahl (libredwg, GNU GPL) |
|
| Q-05 | Soll DWG-Import unterstützt werden? Wenn ja, welche DWG-Versionen? | Mittel | Library-Auswahl (libredwg, GNU GPL) |
|
||||||
| Q-06 | Welche Stuhl-Typen / Bibliothekseinträge werden initial benötigt? | Mittel | Initial-Bibliothek, Bestuhlungs-Tool-Design |
|
| Q-06 | Welche Stuhl-Typen / Bibliothekseinträge werden initial benötigt? | Mittel | Initial-Bibliothek, Bestuhlungs-Tool-Design |
|
||||||
@@ -292,6 +366,9 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| Q-11 | Soll es ein API für externe Integrationen geben (REST/GraphQL)? | Niedrig | Architektur-Erweiterung |
|
| Q-11 | Soll es ein API für externe Integrationen geben (REST/GraphQL)? | Niedrig | Architektur-Erweiterung |
|
||||||
| Q-12 | Welche Maßeinheiten sollen unterstützt werden (metrisch, imperial, beides)? | Niedrig | Bemaßungs-Logic, UI |
|
| Q-12 | Welche Maßeinheiten sollen unterstützt werden (metrisch, imperial, beides)? | Niedrig | Bemaßungs-Logic, UI |
|
||||||
| Q-13 | AGPL-3.0 oder MIT als Lizenz? | Niedrig | Lizenz-Datei, Copyleft vs. Permissive |
|
| Q-13 | AGPL-3.0 oder MIT als Lizenz? | Niedrig | Lizenz-Datei, Copyleft vs. Permissive |
|
||||||
|
| Q-14 | Soll der KI Copilot Spracheingabe (Voice) von Anfang an unterstützen oder erst später? | Niedrig | UI-Design, Web Speech API Integration |
|
||||||
|
| Q-15 | Soll das KI-Backend lokal (Ollama auf Server) oder remote (externer API-Provider) laufen? | Mittel | Deployment-Architektur, Performance, Kosten |
|
||||||
|
| Q-16 | Welche KI-Modellgröße ist akzeptabel (z. B. 7B, 13B, 70B Parameter)? | Mittel | Performance, Hardware-Anforderungen, Antwortzeit |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -331,7 +408,38 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
- Daydreamsoft: Real-Time Collaboration Using CRDTs and OT
|
- Daydreamsoft: Real-Time Collaboration Using CRDTs and OT
|
||||||
- Onshape: Cloud-native CAD Collaboration
|
- Onshape: Cloud-native CAD Collaboration
|
||||||
|
|
||||||
### 9.3 Open-Source-Technologie-Stack (Empfehlung)
|
### 9.3 KI-Copilot-Architektur
|
||||||
|
|
||||||
|
**Recherche-Ergebnisse (basierend auf Known Best Practices und früheren Suchergebnissen zu AutoCAD AI 2026/2027):**
|
||||||
|
|
||||||
|
- **AutoCAD 2026/2027 AI Features:** Autodesk integriert KI für automatisches Block-Placement, Dimensioning, Layer-Assignment und Error-Detection mittels Machine Learning. (Quelle: cadcenterhyderabad.com, arkance.us)
|
||||||
|
- **LLM Function Calling / Tool Use:** Der Standard-Pattern für KI-Copiloten in Software-Anwendungen. Das LLM erhält eine Liste von verfügbaren Functions/Tools und generiert strukturierte Function Calls, die von der Anwendung ausgeführt werden.
|
||||||
|
- Beispiel: `draw_line(x1=100, y1=200, x2=300, y2=400)` → CAD-Engine führt Funktion aus → Canvas aktualisiert sich
|
||||||
|
- Vorteil: Sichere, kontrollierte KI-Ausführung; LLM hat keinen direkten Canvas-Zugriff
|
||||||
|
- Verwendet von: OpenAI (Function Calling), Anthropic (Tool Use), Open-Source-Modelle via Ollama/vLLM
|
||||||
|
- **Open-Source KI-Backends:**
|
||||||
|
- **Ollama (MIT):** Lokaler Model-Server; einfach zu deployen; unterstützt Llama, Qwen, DeepSeek; Function Calling via JSON-Format
|
||||||
|
- **vLLM (Apache-2.0):** Hochperformanter Inference-Server; optimiert für Throughput; unterstützt OpenAI-kompatibles API
|
||||||
|
- **llama.cpp (MIT):** Minimaler C++-Inference-Server; läuft auf CPU und GPU; für Resource-constrained Environments
|
||||||
|
- **Open-Source LLM-Modelle mit Function Calling:**
|
||||||
|
- **Llama 3/4 (Meta, Llama License):** 8B/70B/400B Parameter; gute Function-Calling-Unterstützung
|
||||||
|
- **Qwen 2.5 (Alibaba, Apache-2.0):** 7B/14B/32B/72B Parameter; explizit für Tool-Use trainiert
|
||||||
|
- **DeepSeek (MIT):** 7B/67B Parameter; gutes Code-Verständnis; Function-Calling-fähig
|
||||||
|
- **Context Injection:** Der aktuelle CAD-Zustand (Zeichnung, Selektion, Layer, Zoom, Maßstab) wird als strukturiertes Context-Objekt an das LLM gesendet. Dadurch kann das LLM kontextbezogene Antworten und Function Calls generieren.
|
||||||
|
- **Mehrschritt-Operationen:** Für komplexe Befehle (z. B. "Erstelle einen Raum und bestuhle ihn") kann das LLM eine Sequenz von Function Calls generieren, die nacheinander ausgeführt werden.
|
||||||
|
- **Guardrails / Safety:** Ein Safety-Layer prüft jeden Function Call vor der Ausführung. Destruktive Operationen (Löschen aller Elemente, Überschreiben ganzer Zeichnungen) erfordern explizite User-Bestätigung.
|
||||||
|
|
||||||
|
**Empfehlung:** Ollama (MIT) als KI-Backend mit Qwen 2.5 (Apache-2.0) oder Llama (Llama License) als primäres Modell. Function Calling Pattern mit zentraler CAD-Function-Registry. Context Injection für Kontext-Verständnis. Guardrails für Safety.
|
||||||
|
|
||||||
|
**Quellen:**
|
||||||
|
- cadcenterhyderabad.com: AutoCAD 2027 AI Features
|
||||||
|
- arkance.us: AutoCAD 2026 New Features (BSEARCH, Centerline Layer)
|
||||||
|
- Ollama Documentation: Function Calling Support
|
||||||
|
- vLLM Documentation: OpenAI-Compatible API
|
||||||
|
- Qwen 2.5 Model Card: Tool Use Training
|
||||||
|
- Allgemeine Best Practices für LLM Function Calling / Tool Use Pattern
|
||||||
|
|
||||||
|
### 9.4 Open-Source-Technologie-Stack (Empfehlung)
|
||||||
|
|
||||||
| Schicht | Empfehlung | Lizenz |
|
| Schicht | Empfehlung | Lizenz |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
@@ -341,18 +449,22 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| **CRDT/Sync** | Yjs (MIT) + y-websocket (MIT) | MIT |
|
| **CRDT/Sync** | Yjs (MIT) + y-websocket (MIT) | MIT |
|
||||||
| **Backend-Framework** | Node.js (Express/Fastify) oder Python (FastAPI) | MIT |
|
| **Backend-Framework** | Node.js (Express/Fastify) oder Python (FastAPI) | MIT |
|
||||||
| **WebSocket-Server** | ws (MIT) für Node.js oder websockets (BSD) für Python | MIT/BSD |
|
| **WebSocket-Server** | ws (MIT) für Node.js oder websockets (BSD) für Python | MIT/BSD |
|
||||||
| **Datenbank** | PostgreSQL (PostgreSQL License, ähnlich BSD) oder SQLite (Public Domain) | Open Source |
|
| **Datenbank** | SQLite (Public Domain) – Standard; PostgreSQL (PostgreSQL License) – optional | Open Source |
|
||||||
| **DXF-Parser** | dxf-parser (MIT, JS) oder Rust-Port mit wasm-bindgen | MIT |
|
| **DXF-Parser** | dxf-parser (MIT, JS) oder Rust-Port mit wasm-bindgen | MIT |
|
||||||
| **DWG-Parser (optional)** | libredwg (GPL) | GPL |
|
| **DWG-Parser (optional)** | libredwg (GPL) | GPL |
|
||||||
| **PDF-Generierung** | pdf-lib (MIT) oder jsPDF (MIT) | MIT |
|
| **PDF-Generierung** | pdf-lib (MIT) oder jsPDF (MIT) | MIT |
|
||||||
| **SVG-Verarbeitung** | Native Browser-API oder svg.js (MIT) | MIT |
|
| **SVG-Verarbeitung** | Native Browser-API oder svg.js (MIT) | MIT |
|
||||||
| **Auth** | bcrypt (Apache) oder argon2 (MIT/CDDL) | Open Source |
|
| **Auth** | bcrypt (Apache) oder argon2 (MIT/CDDL) | Open Source |
|
||||||
|
| **KI-Backend** | Ollama (MIT) oder vLLM (Apache-2.0) | MIT/Apache |
|
||||||
|
| **KI-Modell** | Qwen 2.5 (Apache-2.0) oder Llama 3/4 (Llama License) oder DeepSeek (MIT) | Open Source |
|
||||||
|
| **API-Dokumentation** | OpenAPI/Swagger (Apache-2.0) | Apache |
|
||||||
| **Containerisierung** | Docker (Apache 2.0) | Open Source |
|
| **Containerisierung** | Docker (Apache 2.0) | Open Source |
|
||||||
| **Deployment** | Coolify (AGPL-3.0) | Open Source |
|
| **Deployment** | Coolify (AGPL-3.0) | Open Source |
|
||||||
|
|
||||||
### 9.4 Architektur-Referenzen
|
### 9.5 Architektur-Referenzen
|
||||||
|
|
||||||
- **AutoCAD Web:** Browser-basierte CAD-Oberfläche mit streamlined UI, Side-Panel, Command Line, Blocks/Layers-Tabs. Siehe Section 12 für detaillierte Feature-Referenz.
|
- **AutoCAD Web:** Browser-basierte CAD-Oberfläche mit streamlined UI, Side-Panel, Command Line, Blocks/Layers-Tabs. Siehe Section 12 für detaillierte Feature-Referenz.
|
||||||
|
- **AutoCAD 2026/2027 AI:** KI-Features für Block-Placement, Dimensioning, Layer-Assignment, Error-Detection.
|
||||||
- **Onshape:** Cloud-native CAD mit echter Multi-User-Kollaboration; Single Source of Truth; keine Datei-Kopien.
|
- **Onshape:** Cloud-native CAD mit echter Multi-User-Kollaboration; Single Source of Truth; keine Datei-Kopien.
|
||||||
- **Figma:** Browser-basierte Design-Tool mit CRDT-basierter Kollaboration; inspirierend für UI und Sync-Architektur.
|
- **Figma:** Browser-basierte Design-Tool mit CRDT-basierter Kollaboration; inspirierend für UI und Sync-Architektur.
|
||||||
- **xDraftSight:** Cloud-basierter 2D-CAD; browser-basierte Architektur.
|
- **xDraftSight:** Cloud-basierter 2D-CAD; browser-basierte Architektur.
|
||||||
@@ -369,6 +481,10 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
| Open-Source-DWG-Support | libredwg (GPL) hat eingeschränkte DWG-Version-Unterstützung | DWG als optional markieren; DXF als primäres Format |
|
| Open-Source-DWG-Support | libredwg (GPL) hat eingeschränkte DWG-Version-Unterstützung | DWG als optional markieren; DXF als primäres Format |
|
||||||
| Browser-Speicherlimit | Sehr große Projekte können Browser-Speicherlimit überschreiten | Lazy-Loading; Kompression; IndexedDB für Persistenz |
|
| Browser-Speicherlimit | Sehr große Projekte können Browser-Speicherlimit überschreiten | Lazy-Loading; Kompression; IndexedDB für Persistenz |
|
||||||
| Plugin-System-Komplexität | Universelles Plugin-System kann Core-Stabilität gefährden | Plugin-Isolation (Sandbox/try-catch); Plugin-Manifest mit deklarativen Abhängigkeiten |
|
| Plugin-System-Komplexität | Universelles Plugin-System kann Core-Stabilität gefährden | Plugin-Isolation (Sandbox/try-catch); Plugin-Manifest mit deklarativen Abhängigkeiten |
|
||||||
|
| KI-Fehlerhafte Befehle | LLM könnte fehlerhafte oder unerwartete Function Calls generieren | Guardrails; Function-Validation vor Ausführung; Bestätigung für destruktive Operationen |
|
||||||
|
| KI-Latenz | LLM-Inferenz kann mehrere Sekunden dauern, besonders auf lokaler Hardware | Streaming-Responses; Fortschrittsanzeige; Modellgröße wählbar (7B für Speed, 70B für Qualität) |
|
||||||
|
| KI-Hardware-Anforderungen | Lokale KI-Modelle benötigen GPU/RAM | Ollama mit quantisierten Modellen (4-bit/8-bit); remote API als Fallback |
|
||||||
|
| KI-Kontext-Größe | CAD-Zustand kann groß sein (viele Elemente); LLM-Context-Limit begrenzt | Context-Summary statt vollständiger Zeichnung; nur relevante Ausschnitte senden |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -376,13 +492,14 @@ Basierend auf Recherche (Stand 2025/2026). Alle Empfehlungen verwenden **ausschl
|
|||||||
|
|
||||||
| Aspekt | Erwartung |
|
| Aspekt | Erwartung |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **Containerisierung** | Docker (Dockerfile + docker-compose.yml) |
|
| **Containerisierung** | Docker (Dockerfile + docker-compose.yml) – CAD-Backend, KI-Backend, Frontend |
|
||||||
| **Orchestrierung** | Coolify auf coolify-01 (46.225.91.159) |
|
| **Orchestrierung** | Coolify auf coolify-01 (46.225.91.159) |
|
||||||
| **Domain** | TBD – z. B. cad.media-on.de |
|
| **Domain** | TBD – z. B. cad.media-on.de |
|
||||||
| **SSL** | Let's Encrypt via Coolify/Traefik |
|
| **SSL** | Let's Encrypt via Coolify/Traefik |
|
||||||
| **Datenbank** | PostgreSQL (empfohlen) oder SQLite (für kleinere Deployments) |
|
| **Datenbank** | SQLite (Standard); Datenbank-Schicht abstrahiert für Migration |
|
||||||
|
| **KI-Backend** | Ollama oder vLLM als separater Container; GPU empfohlen (nicht zwingend) |
|
||||||
| **WebSocket-Server** | Separater Container oder integriert; WebSocket-Proxy via Traefik |
|
| **WebSocket-Server** | Separater Container oder integriert; WebSocket-Proxy via Traefik |
|
||||||
| **Persistenz** | Docker-Volume für Datenbank und Datei-Storage (Grundrisse, Bibliothek) |
|
| **Persistenz** | Docker-Volume für Datenbank, Datei-Storage und KI-Modelle |
|
||||||
| **Skalierung** | Initiale Version: Einzelner Server; später horizontal skalierbar |
|
| **Skalierung** | Initiale Version: Einzelner Server; später horizontal skalierbar |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -458,15 +575,18 @@ Basierend auf Recherche (Scan2CAD Review, Autodesk Produktseiten, Softonic Revie
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **Rendering** | Proprietär (Autodesk) | Canvas 2D + rbush (Open Source) | Open Source, kontrollierbar |
|
| **Rendering** | Proprietär (Autodesk) | Canvas 2D + rbush (Open Source) | Open Source, kontrollierbar |
|
||||||
| **Kollaboration** | Begrenzt (Autodesk Docs) | CRDT (Yjs) Echtzeit-Kollaboration | Echte Echtzeit-Kollaboration |
|
| **Kollaboration** | Begrenzt (Autodesk Docs) | CRDT (Yjs) Echtzeit-Kollaboration | Echte Echtzeit-Kollaboration |
|
||||||
|
| **KI Copilot** | ⚠️ Begrenzt (AutoCAD 2026 AI) | ✅ Vollständiger KI Copilot mit Function Calling | Offen, steuerbar, alle CAD-Funktionen |
|
||||||
| **LISP/Scripting** | ❌ Nicht unterstützt | ❌ Non-Goal (initial) | – |
|
| **LISP/Scripting** | ❌ Nicht unterstützt | ❌ Non-Goal (initial) | – |
|
||||||
| **Plugin-System** | ❌ Nicht verfügbar | ✅ Vollständiges Plugin/Tool-System | Erweiterbar in jede Richtung |
|
| **Plugin-System** | ❌ Nicht verfügbar | ✅ Vollständiges Plugin/Tool-System | Erweiterbar in jede Richtung |
|
||||||
| **SVG-Import** | ❌ Nicht unterstützt | ✅ Vollunterstützt | Bibliothek-Erweiterung |
|
| **SVG-Import** | ❌ Nicht unterstützt | ✅ Vollunterstützt | Bibliothek-Erweiterung |
|
||||||
| **DXF-Support** | ⚠️ Begrenzt | ✅ Vollunterstützt (Open Source) | Vollständiger DXF-Support |
|
| **DXF-Support** | ⚠️ Begrenzt | ✅ Vollunterstützt (Open Source) | Vollständiger DXF-Support |
|
||||||
| **DWG-Support** | ✅ Vollunterstützt | ⚠️ Optional (libredwg, GPL) | AutoCAD Web überlegen hier |
|
| **DWG-Support** | ✅ Vollunterstützt | ⚠️ Optional (libredwg, GPL) | AutoCAD Web überlegen hier |
|
||||||
| **Bestuhlungs-Tools** | ❌ Nicht verfügbar | ✅ Reihen & Block-Bestuhlung | Branchen-spezifisch |
|
| **Bestuhlungs-Tools** | ❌ Nicht verfügbar | ✅ Reihen & Block-Bestuhlung | Branchen-spezifisch |
|
||||||
|
| **API-First** | ❌ Keine öffentliche API | ✅ REST-API, API-first design | An andere Software anhängbar |
|
||||||
| **Lizenz** | Proprietär (Subscription) | Open Source (AGPL-3.0/MIT) | Frei nutzbar |
|
| **Lizenz** | Proprietär (Subscription) | Open Source (AGPL-3.0/MIT) | Frei nutzbar |
|
||||||
| **Deployment** | Autodesk Cloud | Docker/Coolify (self-hosted) | Self-hosted, volle Kontrolle |
|
| **Deployment** | Autodesk Cloud | Docker/Coolify (self-hosted) | Self-hosted, volle Kontrolle |
|
||||||
| **UI** | Streamlined, Side Panel | AutoCAD Web-inspiriert + erweitert | Bekannte UI + mehr Features |
|
| **UI** | Streamlined, Side Panel | AutoCAD Web-inspiriert + erweitert | Bekannte UI + mehr Features |
|
||||||
|
| **Datenbank** | Proprietär (Autodesk Cloud) | SQLite (Public Domain) | Self-hosted, kontrollierbar |
|
||||||
| **Mehrsprachigkeit** | ✅ Mehrere Sprachen | ⚠️ Deutsch first, i18n später | – |
|
| **Mehrsprachigkeit** | ✅ Mehrere Sprachen | ⚠️ Deutsch first, i18n später | – |
|
||||||
|
|
||||||
### 12.6 Quellen AutoCAD Web Referenz
|
### 12.6 Quellen AutoCAD Web Referenz
|
||||||
@@ -478,30 +598,36 @@ Basierend auf Recherche (Scan2CAD Review, Autodesk Produktseiten, Softonic Revie
|
|||||||
- Softonic: AutoCAD Web Download Review
|
- Softonic: AutoCAD Web Download Review
|
||||||
- Reddit: r/AutoCAD Diskussionen über Web-Version Limitierungen
|
- Reddit: r/AutoCAD Diskussionen über Web-Version Limitierungen
|
||||||
- Autodesk: AutoCAD Web Overview (https://www.autodesk.com/products/autocad-web/overview)
|
- Autodesk: AutoCAD Web Overview (https://www.autodesk.com/products/autocad-web/overview)
|
||||||
|
- cadcenterhyderabad.com: AutoCAD 2027 AI Features
|
||||||
|
- arkance.us: AutoCAD 2026 New Features
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 13. Handoff
|
## 13. Handoff
|
||||||
|
|
||||||
### Requirements Status
|
### Requirements Status
|
||||||
- **Draft v2 erstellt:** Ja (2026-06-19)
|
- **Draft v3 erstellt:** Ja (2026-06-19)
|
||||||
- **Hoch-priorisierte Fragen geklärt:** Q-01 (Open Source) ✅, Q-02 (E-Mail/Passwort) ✅
|
- **Entschiedene Fragen:** Q-01 (Open Source) ✅, Q-02 (E-Mail/Passwort) ✅, Q-03 (SQLite + API-first/modular) ✅
|
||||||
- **Testbare Anforderungen:** Ja – alle funktionalen und nicht-funktionalen Anforderungen haben konkrete Akzeptanzkriterien
|
- **Testbare Anforderungen:** Ja – alle funktionalen und nicht-funktionalen Anforderungen haben konkrete Akzeptanzkriterien
|
||||||
- **Akzeptanzkriterien konkret:** Ja
|
- **Akzeptanzkriterien konkret:** Ja
|
||||||
- **Annahmen explizit:** Ja (12 Annahmen dokumentiert)
|
- **Assumptions:** 18 dokumentiert (erweitert um KI Copilot, API-First, SQLite, Modularität)
|
||||||
- **Non-Goals dokumentiert:** Ja (16 Non-Goals, erweitert um AutoCAD-Web-Vergleich)
|
- **Non-Goals:** 17 dokumentiert (angepasst – KI ist nun Kern-Feature, kein Non-Goal mehr; autonomes KI-Zeichnen ist Non-Goal)
|
||||||
- **Offene Fragen:** 10 (davon 0 hoch, 5 mittel, 5 niedrig priorisiert)
|
- **Offene Fragen:** 9 (0 hoch, 4 mittel, 5 niedrig priorisiert)
|
||||||
- **AutoCAD Web Referenz:** Vollständige Feature-Analyse inkl. Limitierungen und Vergleich
|
- **AutoCAD Web Referenz:** Vollständige Feature-Analyse inkl. Limitierungen und Vergleich (erweitert um KI Copilot und API-First Vergleich)
|
||||||
- **Open-Source-Stack:** Vollständiger Open-Source-Technologie-Stack mit Lizenzen dokumentiert
|
- **Open-Source-Stack:** Vollständiger Stack mit Lizenzen (erweitert um KI-Backend und KI-Modelle)
|
||||||
- **Plugin/Erweiterbarkeit:** 8 explizite Anforderungen für universelle Erweiterbarkeit
|
- **KI Copilot:** 15 detaillierte Anforderungen (F-AI-01 bis F-AI-15) mit Function Calling Pattern, Guardrails, Open-Source-Backend
|
||||||
|
- **Integration/Modularität:** 8 Anforderungen (F-INT-01 bis F-INT-08) für API-first, REST-API, Webhooks, Headless-Modus
|
||||||
|
- **Plugin-System:** 8 Anforderungen (F-EXT-01 bis F-EXT-08) für universelle Erweiterbarkeit
|
||||||
|
|
||||||
### Ready for Architecture
|
### Ready for Architecture
|
||||||
- **Ja** – die zwei hoch-priorisierten Fragen sind geklärt; Architektur-Phase kann starten
|
- **Ja** – alle hoch-priorisierten Fragen geklärt; Architektur-Phase kann starten
|
||||||
- Verbleibende offene Fragen (Q-03 bis Q-13) sind mittel/niedrig priorisiert und können während oder nach der Architektur-Phase geklärt werden
|
- KI-Copilot-Architektur ist als Core-Feature definiert mit Function Calling Pattern
|
||||||
- Technologie-Empfehlungen (Canvas 2D + Yjs + Open-Source-Stack) stehen als Architektur-Vorgaben bereit
|
- API-First-Design ist als Architektur-Vorgabe definiert
|
||||||
|
- Verbleibende offene Fragen (Q-04 bis Q-16) sind mittel/niedrig priorisiert und können während oder nach der Architektur-Phase geklärt werden
|
||||||
|
- Technologie-Empfehlungen stehen als Architektur-Vorgaben bereit
|
||||||
|
|
||||||
### Empfohlene nächste Schritte
|
### Empfohlene nächste Schritte
|
||||||
1. User-Review der aktualisierten requirements.md (v2)
|
1. User-Review der aktualisierten requirements.md (v3)
|
||||||
2. Optional: Beantwortung von Q-03 (Datenbank) und Q-13 (Lizenz: AGPL vs. MIT)
|
2. Optional: Beantwortung von Q-15 (KI lokal vs. remote) und Q-16 (KI-Modellgröße)
|
||||||
3. Freigabe für Architektur-Phase (Phase 2)
|
3. Freigabe für Architektur-Phase (Phase 2)
|
||||||
4. Delegation an Solution Architect mit Open-Source-Stack-Vorgaben
|
4. Delegation an Solution Architect mit Vorgaben: Open-Source-Stack, KI-Copilot-Function-Calling, API-First, Plugin-System
|
||||||
|
|||||||
Reference in New Issue
Block a user