Browser-BIM (cad): semantisches Modell, abgeleitete 2D/3D-Sichten, Zeichenwerkzeuge
Standalone-Browser-Port von DOSSIER. Enthaelt das semantische Modell mit Plan-/3D-Ableitung, Zeichen- und Editierwerkzeuge, Rhino-artiges Befehlssystem, dockbares Panel-System, Resource-Manager, DXF/.lin/.pat-Import, i18n (de/en) sowie Projektdokumentation und Probe-Harness.
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
// Registrierung der eingebauten Inhalts-Panels.
|
||||
//
|
||||
// Importiert man dieses Modul (Seiteneffekt), tragen sich die beiden
|
||||
// dockbaren Kern-Panels in die Registry ein und tauchen damit in den Docks auf:
|
||||
// • "drawing-levels" — Zeichnungsebenen (mit Darstellungsmodus).
|
||||
// • "layers" — Ebenen (Kategorie-Baum, mit Darstellungsmodus).
|
||||
//
|
||||
// „Ressourcen" ist KEIN Dock-Panel mehr: der ResourceManager ist ein
|
||||
// schwebendes Fenster (Overlay über allem), das die Oberleiste öffnet — siehe
|
||||
// App.tsx. Es wird daher hier nicht (mehr) registriert.
|
||||
//
|
||||
// Reine Verdrahtung: jedes Panel liest seinen Zustand selbst über den
|
||||
// Host-Context (usePanelHost), daher reicht render() ohne ctx-Auswertung.
|
||||
//
|
||||
// Bezeichner englisch, UI-Text/Kommentare deutsch (CONVENTIONS.md).
|
||||
|
||||
import { registerPanel } from "./registry";
|
||||
import { DrawingLevelsPanel } from "./DrawingLevelsPanel";
|
||||
import { LayersPanel } from "./LayersPanel";
|
||||
import { ToolsPanel } from "./ToolsPanel";
|
||||
import { AttributesPanel } from "./AttributesPanel";
|
||||
import { ObjectInfoPanel } from "./ObjectInfoPanel";
|
||||
import { SitePanel } from "./SitePanel";
|
||||
|
||||
/** IDs der eingebauten Dock-Panels (auch für defaultLayout/Filter nutzbar). */
|
||||
export const BUILTIN_PANEL_IDS = {
|
||||
tools: "tools",
|
||||
drawingLevels: "drawing-levels",
|
||||
layers: "layers",
|
||||
attributes: "attributes",
|
||||
objectInfo: "object-info",
|
||||
site: "site",
|
||||
} as const;
|
||||
|
||||
// Werkzeug-Palette (Symbol + Name je Werkzeug, ArchiCAD/Vectorworks-Stil).
|
||||
registerPanel({
|
||||
id: BUILTIN_PANEL_IDS.tools,
|
||||
title: "nav.tools",
|
||||
hasDisplayMode: false,
|
||||
render: () => <ToolsPanel />,
|
||||
});
|
||||
|
||||
// Attribute-Palette (Stift/Füllung/Strichstärke der Auswahl, Vectorworks-Stil).
|
||||
registerPanel({
|
||||
id: BUILTIN_PANEL_IDS.attributes,
|
||||
title: "nav.attributes",
|
||||
hasDisplayMode: false,
|
||||
render: () => <AttributesPanel />,
|
||||
});
|
||||
|
||||
// Objekt-Info-Palette (Bezugspunkt-Würfel + X/Y, Maße B×H der Auswahl).
|
||||
registerPanel({
|
||||
id: BUILTIN_PANEL_IDS.objectInfo,
|
||||
title: "nav.objectInfo",
|
||||
hasDisplayMode: false,
|
||||
render: () => <ObjectInfoPanel />,
|
||||
});
|
||||
|
||||
registerPanel({
|
||||
id: BUILTIN_PANEL_IDS.drawingLevels,
|
||||
// i18n-Key statt fertigem Text: TabStrip/PanelFrame lösen ihn über t() auf,
|
||||
// damit der Titel der gewählten Sprache folgt.
|
||||
title: "nav.drawingLevels",
|
||||
hasDisplayMode: true,
|
||||
render: () => <DrawingLevelsPanel />,
|
||||
});
|
||||
|
||||
registerPanel({
|
||||
id: BUILTIN_PANEL_IDS.layers,
|
||||
title: "nav.layers",
|
||||
hasDisplayMode: true,
|
||||
render: () => <LayersPanel />,
|
||||
});
|
||||
|
||||
// Gelände-/Kontext-Palette (DXF-Import, Konturen-Liste, Gelände-Erzeugung).
|
||||
registerPanel({
|
||||
id: BUILTIN_PANEL_IDS.site,
|
||||
title: "nav.site",
|
||||
hasDisplayMode: false,
|
||||
render: () => <SitePanel />,
|
||||
});
|
||||
Reference in New Issue
Block a user