Engine-3D-Presets ueber die TopBar + orthografisch (Top/Front/Seite), Iso korrekt
Die Kamera-Presets liefen zuvor als Viewport-Overlay mit eigenen JS-yaw/pitch- Winkeln, rein perspektivisch (Iso falsch, keine Parallelprojektion). Jetzt haengt der Engine-Viewport am app-weiten view3d-State (TopBar-CameraMenu, wie three.js) und nutzt die vorhandene Rust-preset_camera: - web.rs: set_view_preset(preset) + model_bounds/fit; Front/Top/Side echt orthografisch, Iso/Perspektive perspektivisch - wie das native Fenster. default_fov() pub(crate), damit Fit denselben FOV nutzt. - useWasm3dRenderer: applyViewPreset; render(null) ueberschreibt die Preset-Kamera nicht. - Wasm3DViewport: konsumiert view3d/renderMode als Props (Overlay + lokaler Umschalter entfernt, wasm3dOverlay.css geloescht); Orbit bleibt frei (Preset = Sprung, kein Lock), three.js-Verhalten gespiegelt. - Viewport3D-Switcher reicht view3d/renderMode an den Engine-Viewport durch (kein three.js-Szenencode angefasst).
This commit is contained in:
@@ -116,7 +116,15 @@ const WASM_ENGINE_ACTIVE: boolean = (() => {
|
||||
* (Auswahl, Render-Modi, Editier-Griffe) wirken nur im three.js-Pfad.
|
||||
*/
|
||||
export function Viewport3D(props: Parameters<typeof ThreeViewport3D>[0]) {
|
||||
if (WASM_ENGINE_ACTIVE) return <Wasm3DViewport project={props.project} />;
|
||||
if (WASM_ENGINE_ACTIVE) {
|
||||
return (
|
||||
<Wasm3DViewport
|
||||
project={props.project}
|
||||
view3d={props.view3d}
|
||||
renderMode={props.renderMode}
|
||||
/>
|
||||
);
|
||||
}
|
||||
return <ThreeViewport3D {...props} />;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user