b6d14ca2b2
Der Engine-3D-Viewport (render3d/wgpu) war reines Ansehen (Orbit/Zoom). Jetzt: - Kamera-Presets als Overlay: Top/Unten/Vorne/Hinten/Links/Rechts/Iso. Richtungen exakt wie der three.js-Pfad (applyView3d); framen die aktuelle Modell-Bounding-Box (fitTargetDist) und springen auf den Preset-Winkel, danach Orbit/Pan/Zoom weiter frei. Rein JS. - Render-Modus Schattiert/Weiss: mode-Uniform in Globals (WGSL/Rust), Weiss = beleuchtetes Clay-Grau; wasm-Binding set_render_mode_white, durchgereicht via useWasm3dRenderer. - Overlay-CSS self-contained (wasm3dOverlay.css), Theme-aware. three.js unangetastet. Auswahl/Grips/Zeichnen + Wireframe/HLR bewusst noch offen (naechste Scheibe).
54 lines
1.3 KiB
CSS
54 lines
1.3 KiB
CSS
/* Steuer-Overlay des engine-3D-Viewports (Wasm3DViewport): Kamera-Presets +
|
|
* Darstellungsart. Bewusst eine EIGENE Datei (nicht styles.css) — dieser
|
|
* Viewport-Pfad wird unabhängig von der three.js-Sicht weiterentwickelt.
|
|
* Nutzt dieselben CSS-Variablen wie die übrige App (in :root definiert), damit
|
|
* sich der Overlay optisch nahtlos einfügt (auch im Dunkelmodus). */
|
|
|
|
.wasm3d-overlay {
|
|
position: absolute;
|
|
top: 10px;
|
|
left: 10px;
|
|
z-index: 3;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.wasm3d-overlay-group {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 3px;
|
|
padding: 4px;
|
|
background: var(--panel);
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.wasm3d-overlay-btn {
|
|
min-width: 34px;
|
|
padding: 4px 8px;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
line-height: 1.4;
|
|
color: var(--ink, #ddd);
|
|
background: transparent;
|
|
border: 1px solid var(--border);
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.wasm3d-overlay-btn:hover {
|
|
background: var(--accent-dim);
|
|
border-color: var(--accent-border);
|
|
color: var(--accent);
|
|
}
|
|
|
|
.wasm3d-overlay-btn.active {
|
|
background: var(--accent-dim);
|
|
border-color: var(--accent);
|
|
color: var(--accent);
|
|
}
|