frontend: Warn-Umrandung an unzerlegten M+-Knoten entfernen

Der Geister-Knoten "Untergliederung fehlt" darunter genügt als Hinweis;
die zusätzliche gestrichelte orange Umrandung des Knotens war doppelt.
Die needs-Klasse wird nicht mehr vergeben. SPEC §5 angepasst.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Michael Hoennig
2026-07-21 10:36:24 +02:00
co-authored by Claude Opus 4.8
parent ab800b432b
commit b8cddffd4c
2 changed files with 5 additions and 5 deletions
+4 -3
View File
@@ -69,9 +69,10 @@ Codiert als Checkbox nach dem Zeichen (Erweiterung der Markdown-Task-Syntax):
- Werte: `XS < S < M < L < XL < XXL`, notiert in Klammern, z. B. `(L)`. - Werte: `XS < S < M < L < XL < XXL`, notiert in Klammern, z. B. `(L)`.
- **Untergliederungsregel:** Ab `(M)` muss ein Element weiter zerlegt sein. - **Untergliederungsregel:** Ab `(M)` muss ein Element weiter zerlegt sein.
Ein Element ≥ M **ohne Kinder** erhält: Ein Element ≥ M **ohne Kinder** erhält einen Geister-Knoten
- gestrichelte orange Umrandung (`--warn`, `#B45309`) und „Untergliederung fehlt“ an gestrichelter Linie darunter (in `--warn`,
- einen Geister-Knoten „Untergliederung fehlt“ an gestrichelter Linie darunter. `#B45309`). Der angedeutete Unterpunkt genügt als Hinweis; eine zusätzliche
Umrandung des Knotens gibt es nicht.
- Ausnahme: verworfene Elemente lösen die Regel nie aus. - Ausnahme: verworfene Elemente lösen die Regel nie aus.
- Anzeige: dunkles Badge oben rechts an der Knoten-Ecke. - Anzeige: dunkles Badge oben rechts an der Knoten-Ecke.
+1 -2
View File
@@ -181,7 +181,6 @@
border:1.5px solid var(--card); border:1.5px solid var(--card);
border-radius:999px;padding:1px 6px;line-height:1.4; border-radius:999px;padding:1px 6px;line-height:1.4;
} }
.node.needs{outline:2px dashed var(--warn);outline-offset:2px}
.tags{ .tags{
position:absolute;right:-9px;bottom:-9px; position:absolute;right:-9px;bottom:-9px;
display:flex;gap:3px; display:flex;gap:3px;
@@ -469,7 +468,7 @@ const GHOST = '<div class="ghost-node">Untergliederung fehlt</div>';
function nodeHtml(n, extra){ function nodeHtml(n, extra){
const need = needsBreakdown(n); const need = needsBreakdown(n);
const cls = ['node', extra || '', n.status ? 'st-' + n.status.key : '', need ? 'needs' : ''] const cls = ['node', extra || '', n.status ? 'st-' + n.status.key : '']
.filter(Boolean).join(' '); .filter(Boolean).join(' ');
const title = n.status ? ` title="${n.status.name}"` : ''; const title = n.status ? ` title="${n.status.name}"` : '';
const tagsHtml = n.tags && n.tags.length const tagsHtml = n.tags && n.tags.length