task(H2): project templates - 6 branch presets (halle/openair/saal/messe/buero/garten) with grid/layers/plugins/library seed, replaceLayers

This commit is contained in:
Agent Zero
2026-08-29 02:57:59 +02:00
parent 2b9a3bef16
commit 131a922390
3 changed files with 237 additions and 0 deletions
@@ -111,6 +111,22 @@ export class CADDocument {
this.ydoc.data.blocks.set(block.id, block);
}
/**
* Ersetzt das komplette Layer-Set (Task H2: Projekt-Templates).
* Bestehende Layer werden entfernt, Template-Layer übernommen.
*/
replaceLayers(layers: CADLayer[]): void {
this.transact(() => {
for (const id of Array.from(this.ydoc.data.layers.keys())) {
this.ydoc.data.layers.delete(id);
}
for (const l of layers) {
this.ydoc.data.layers.set(l.id, l);
}
});
}
// ── Schreiben ────────────────────────────────────────────
/** Fügt ein Element hinzu (einzelner Aufruf = eigener Undo-Schritt). */