From b8cddffd4c885760a90e6211293fc04ee11d01b9 Mon Sep 17 00:00:00 2001 From: Michael Hoennig Date: Tue, 21 Jul 2026 10:36:24 +0200 Subject: [PATCH] frontend: Warn-Umrandung an unzerlegten M+-Knoten entfernen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/SPEC.md | 7 ++++--- frontend/index.html | 3 +-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/SPEC.md b/docs/SPEC.md index 0c241ec..aaa73b5 100644 --- a/docs/SPEC.md +++ b/docs/SPEC.md @@ -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)`. - **Untergliederungsregel:** Ab `(M)` muss ein Element weiter zerlegt sein. - Ein Element ≥ M **ohne Kinder** erhält: - - gestrichelte orange Umrandung (`--warn`, `#B45309`) und - - einen Geister-Knoten „Untergliederung fehlt“ an gestrichelter Linie darunter. + Ein Element ≥ M **ohne Kinder** erhält einen Geister-Knoten + „Untergliederung fehlt“ an gestrichelter Linie darunter (in `--warn`, + `#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. - Anzeige: dunkles Badge oben rechts an der Knoten-Ecke. diff --git a/frontend/index.html b/frontend/index.html index 6cb00f4..1602244 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -181,7 +181,6 @@ border:1.5px solid var(--card); border-radius:999px;padding:1px 6px;line-height:1.4; } - .node.needs{outline:2px dashed var(--warn);outline-offset:2px} .tags{ position:absolute;right:-9px;bottom:-9px; display:flex;gap:3px; @@ -469,7 +468,7 @@ const GHOST = '
Untergliederung fehlt
'; function nodeHtml(n, extra){ 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(' '); const title = n.status ? ` title="${n.status.name}"` : ''; const tagsHtml = n.tags && n.tags.length