Compare commits
2 Commits
c3b976758c
...
0696df1e0d
| Author | SHA1 | Date | |
|---|---|---|---|
| 0696df1e0d | |||
| 214e57c9a5 |
@@ -705,6 +705,8 @@ Format: `YYYY-MM-DD | TASK-ID | was getan | Tests Ergebnis | commit | Notizen/of
|
|||||||
| 2026-08-27 | D-fin | polyline-edit + stretch + break in core-modify v1.9.0: polyline-edit (Vertex ziehen mit Preview + doc.updateElement), stretch (Endpunkte in Basisnähe verschieben), break (Linie am Klickpunkt teilen — Original entfernt, 2 neue hinzugefuegt); core-modify tools jetzt 22 | ALLE GRUEN: 485/485 gesamt, tsc 0, build OK | 5500462 | **PHASE D COMPLETE** — core-modify deckt vollstaendigen CAD-Standardumfang ab |
|
| 2026-08-27 | D-fin | polyline-edit + stretch + break in core-modify v1.9.0: polyline-edit (Vertex ziehen mit Preview + doc.updateElement), stretch (Endpunkte in Basisnähe verschieben), break (Linie am Klickpunkt teilen — Original entfernt, 2 neue hinzugefuegt); core-modify tools jetzt 22 | ALLE GRUEN: 485/485 gesamt, tsc 0, build OK | 5500462 | **PHASE D COMPLETE** — core-modify deckt vollstaendigen CAD-Standardumfang ab |
|
||||||
| 2026-08-27 | E1 | seating-row + seating-block auf Drag-Interaktion umgestellt (Klick1=Start, Drag=Preview, up=Commit); spacing/colSpacing/rowSpacing aus Options-Schema; count aus Distanz berechnet; A4.9-Tests an Drag-Verhalten angepasst; 4 neue Tests (row Laenge+undo, row cancel, block rows×cols+undo, BUG-1-Regression) | ALLE GRUEN: 488/488 gesamt (+3), tsc 0, build OK | siehe git | E1 COMPLETE |
|
| 2026-08-27 | E1 | seating-row + seating-block auf Drag-Interaktion umgestellt (Klick1=Start, Drag=Preview, up=Commit); spacing/colSpacing/rowSpacing aus Options-Schema; count aus Distanz berechnet; A4.9-Tests an Drag-Verhalten angepasst; 4 neue Tests (row Laenge+undo, row cancel, block rows×cols+undo, BUG-1-Regression) | ALLE GRUEN: 488/488 gesamt (+3), tsc 0, build OK | siehe git | E1 COMPLETE |
|
||||||
| 2026-08-27 | E2 | createArcRow in SeatingService + arcRowTool in event-tools: 3-Klick-Sequenz (Zentrum→Radius→Endwinkel), Stuehle tangential rotiert (angle+90), spacing aus Options, rowId unique; klick-progressiv wie Arc-Lektion | ALLE GRUEN: 488/488 gesamt, tsc 0, build OK | siehe git | E2 COMPLETE |
|
| 2026-08-27 | E2 | createArcRow in SeatingService + arcRowTool in event-tools: 3-Klick-Sequenz (Zentrum→Radius→Endwinkel), Stuehle tangential rotiert (angle+90), spacing aus Options, rowId unique; klick-progressiv wie Arc-Lektion | ALLE GRUEN: 488/488 gesamt, tsc 0, build OK | siehe git | E2 COMPLETE |
|
||||||
|
| 2026-08-27 | E3 | seatCount in StatusBar bereits vorhanden (App.tsx L193 useMemo + StatusBar Prop) — E3 SKIP (schon da) | — | — | E3 SKIP |
|
||||||
|
| 2026-08-27 | E4 | Vorlagenkatalog: kino (5×15 Reihen), bankett-rundtisch (180cm Tisch + 8 Stühle), stehtisch (80cm + 5 Stühle), podest (300×200 Bühne) als makePlaceTool-Klick-Platzierer; event-tools tools jetzt 10 | ALLE GRUEN: 488/488 gesamt, tsc 0, build OK | 214e57c | E4 COMPLETE |
|
||||||
| 2026-08-27 | C3 | elementToPrimitives erweitert um fehlende Typen: dimension (Linie + Label aus value/text), leader (Linie + Label am Ende), revcloud (geschlossener Punktzug), chair (gefuelltes Rechteck #4a90d9), table (Kreis #8b7355), stage (dunkles Rechteck #3a3a4a); Legacy-Konventionen beibehalten; 6 neue Tests | ALLE GRUEN: 481/481 gesamt (+6), tsc 0, build OK | siehe git | Naechster Task: C4 (Flag-Umdrehung Pixi=Default) oder Selection-Handles/Snap-Marks |
|
| 2026-08-27 | C3 | elementToPrimitives erweitert um fehlende Typen: dimension (Linie + Label aus value/text), leader (Linie + Label am Ende), revcloud (geschlossener Punktzug), chair (gefuelltes Rechteck #4a90d9), table (Kreis #8b7355), stage (dunkles Rechteck #3a3a4a); Legacy-Konventionen beibehalten; 6 neue Tests | ALLE GRUEN: 481/481 gesamt (+6), tsc 0, build OK | siehe git | Naechster Task: C4 (Flag-Umdrehung Pixi=Default) oder Selection-Handles/Snap-Marks |
|
||||||
|
|
||||||
## Gefundene Nebenprobleme (noch nicht zugewiesen)
|
## Gefundene Nebenprobleme (noch nicht zugewiesen)
|
||||||
|
|||||||
@@ -186,6 +186,44 @@ export const tableTool = makePlaceTool('table', 'Tisch', '\u25cb',
|
|||||||
export const stageTool = makePlaceTool('stage', 'Bühne', '\u25ad',
|
export const stageTool = makePlaceTool('stage', 'Bühne', '\u25ad',
|
||||||
(x, y, layerId) => seating.createStage(x, y, layerId), 'Bühne');
|
(x, y, layerId) => seating.createStage(x, y, layerId), 'Bühne');
|
||||||
|
|
||||||
|
// ─────────────────────────────────────────────────────────────
|
||||||
|
// Task E4: Vorlagenkatalog — vorkonfigurierte Event-Bestuhlungs-
|
||||||
|
// Sets als Klick-Platzierer mit Standard-Abmessungen.
|
||||||
|
// ─────────────────────────────────────────────────────────────
|
||||||
|
export const kinoTemplateTool = makePlaceTool('tpl-kino', 'Kino-Reihen', '\u2500\u2500',
|
||||||
|
(x, y, layerId) => {
|
||||||
|
const rows: CADElement[] = [];
|
||||||
|
for (let r = 0; r < 5; r++) {
|
||||||
|
rows.push(...seating.createSeatingRow(x, y + r * 120, layerId, { count: 15, spacing: 55 }));
|
||||||
|
}
|
||||||
|
return rows;
|
||||||
|
}, 'Kino-Bestuhlung (5×15)');
|
||||||
|
|
||||||
|
export const banquetTemplateTool = makePlaceTool('tpl-bankett', 'Bankett-Rundtisch', '\u25cb',
|
||||||
|
(x, y, layerId) => {
|
||||||
|
const els: CADElement[] = [];
|
||||||
|
els.push(seating.createTable(x, y, layerId, { width: 180, height: 180 }));
|
||||||
|
for (let i = 0; i < 8; i++) {
|
||||||
|
const angle = (2 * Math.PI * i) / 8;
|
||||||
|
els.push(seating.createChair(x + 140 * Math.cos(angle), y + 140 * Math.sin(angle), layerId));
|
||||||
|
}
|
||||||
|
return els;
|
||||||
|
}, 'Bankett-Rundtisch (8 Stühle)');
|
||||||
|
|
||||||
|
export const standingTableTemplateTool = makePlaceTool('tpl-standing', 'Stehtisch', '\u25d1',
|
||||||
|
(x, y, layerId) => {
|
||||||
|
const els: CADElement[] = [];
|
||||||
|
els.push(seating.createTable(x, y, layerId, { width: 80, height: 80 }));
|
||||||
|
for (let i = 0; i < 5; i++) {
|
||||||
|
const angle = (2 * Math.PI * i) / 5;
|
||||||
|
els.push(seating.createChair(x + 70 * Math.cos(angle), y + 70 * Math.sin(angle), layerId));
|
||||||
|
}
|
||||||
|
return els;
|
||||||
|
}, 'Stehtisch (5 Stühle)');
|
||||||
|
|
||||||
|
export const podiumTemplateTool = makePlaceTool('tpl-podium', 'Podest', '\u25ac',
|
||||||
|
(x, y, layerId) => seating.createStage(x, y, layerId, { width: 300, height: 200 }), 'Podest');
|
||||||
|
|
||||||
// ─────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────
|
||||||
// Arc-Row (Task E2): Reihen entlang Kreisbogen um Bühnenpunkt.
|
// Arc-Row (Task E2): Reihen entlang Kreisbogen um Bühnenpunkt.
|
||||||
// Klick 1: Zentrum (Bühne). Drag: Radius + Startwinkel.
|
// Klick 1: Zentrum (Bühne). Drag: Radius + Startwinkel.
|
||||||
@@ -252,5 +290,5 @@ export const eventToolsV2Plugin: PluginV2 = {
|
|||||||
category: 'elements',
|
category: 'elements',
|
||||||
enabledByDefault: true,
|
enabledByDefault: true,
|
||||||
},
|
},
|
||||||
tools: [chairTool, seatingRowToolDrag, seatingBlockToolDrag, tableTool, stageTool, arcRowTool],
|
tools: [chairTool, seatingRowToolDrag, seatingBlockToolDrag, tableTool, stageTool, arcRowTool, kinoTemplateTool, banquetTemplateTool, standingTableTemplateTool, podiumTemplateTool],
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user