/*! * Tectum * Copyright © 2026 Machiel Heinen. * Alle rechten voorbehouden. Gebruik uitsluitend met schriftelijke toestemming. * Zie LICENTIE.md. */ // ============================================================ // core/camera-memory.js — onthoudt de 3D-camerastand (positie + draaipunt) // per weergave, zodat wisselen tussen onderdelen/tabbladen of een her-mount // na een wijziging niet terugspringt naar de standaardcamera. // Sleutels komen van de aanroeper (bijv. "tab3:wall:A:voor"). Alleen in het // geheugen van deze sessie. // Plain script (geen ES-module). // ============================================================ window.CameraMemory = (() => { const store = new Map(); function save(key, camera, controls) { if (!key) return; store.set(key, { position: camera.position.toArray(), target: controls.target.toArray() }); } // true als er een opgeslagen stand was (en die is toegepast). function restore(key, camera, controls) { const m = key && store.get(key); if (!m) return false; camera.position.fromArray(m.position); controls.target.fromArray(m.target); controls.update(); return true; } return { save, restore }; })();