Configurator voor Van Emous Mantelzorgwoningen: wanden, vloeren, units, woningen (L-vorm), plat dak met dakrand, buitenverlichting, latwerk op vochtdoek, trasraam, sandwichpanelen en PDF-tekenbladen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
/*!
|
|
* 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 };
|
|
})();
|