Nordstern-3D: Boden-Referenzraster + bessere Kamera-Steuerung
- Boden-Grid-Fläche auf y = baseElevation des aktiven Geschosses, ein-/ausschaltbar (Overlay-Button im Viewport, State in viewSlice grid3dVisible). Eigene LineList-Pipeline in der Engine (grid.rs, GRID_WGSL, geteilte View-Projection/Depth mit der Mesh-Pipeline), neue set_ground_grid(visible, elevation, extent, spacing)-Methode. Minor-Linien dezent, jede 5. als Major betont. - Kamera-Steuerung überarbeitet (vorher nur Mitte=Orbit, Pan auf Shift+Mitte versteckt): Links=Orbit, Mitte/Rechts=Pan (bewegen), Rad=Zoom zum Cursor. Laptop-freundlich, konsistent mit der 2D-Plan-Navigation (dort Mitte=Pan).
This commit is contained in:
@@ -115,17 +115,31 @@ const WASM_ENGINE_ACTIVE: boolean = (() => {
|
||||
* nutzt vorerst nur das Projekt (Massenmodell + Orbit); alle weiteren Props
|
||||
* (Auswahl, Render-Modi, Editier-Griffe) wirken nur im three.js-Pfad.
|
||||
*/
|
||||
export function Viewport3D(props: Parameters<typeof ThreeViewport3D>[0]) {
|
||||
export function Viewport3D(
|
||||
props: Parameters<typeof ThreeViewport3D>[0] & {
|
||||
/** Boden-Referenzraster ein-/ausblenden — wirkt NUR im WASM-Pfad (der
|
||||
* Overlay-Umschalter sitzt im Wasm3DViewport selbst); die three.js-Sicht
|
||||
* zeigt ihr Raster unveraendert immer (kein Toggle dort). */
|
||||
gridVisible?: boolean;
|
||||
/** Klick auf den Grid-Umschalter-Button im WASM-Viewport — Single Source
|
||||
* of Truth bleibt der Aufrufer (App/viewSlice `grid3dVisible`). */
|
||||
onToggleGrid?: () => void;
|
||||
},
|
||||
) {
|
||||
const { gridVisible, onToggleGrid, ...threeProps } = props;
|
||||
if (WASM_ENGINE_ACTIVE) {
|
||||
return (
|
||||
<Wasm3DViewport
|
||||
project={props.project}
|
||||
view3d={props.view3d}
|
||||
renderMode={props.renderMode}
|
||||
gridVisible={gridVisible}
|
||||
groundElevation={props.gridElevation}
|
||||
onToggleGrid={onToggleGrid}
|
||||
/>
|
||||
);
|
||||
}
|
||||
return <ThreeViewport3D {...props} />;
|
||||
return <ThreeViewport3D {...threeProps} />;
|
||||
}
|
||||
|
||||
function ThreeViewport3D({
|
||||
|
||||
Reference in New Issue
Block a user