feat: XOR-Gruppen (=) — genau eine Alternative (SPEC §3, D35)
Parser erkennt `=` als disjunktives Gate (nur mit folgendem Leerraum — `=SUMME(…)` bleibt Label); Mischungen melden mixedGate wie gehabt. Die XOR-Regel warnt je WEITERER realisierter Alternative (xorConflict mit Zeilennummer; realisiert = [~]/[/]/[x]/[^], siehe D35). Darstellung erbt die komplette any-of-Geometrie (ul class="or xor"), ergänzt um eine „1"-Plakette am Austritt der Sammelleiste — auch im Grafikexport. Legende (+ hint_root) und Warntext in allen 9 Sprachen; SPEC §11-Eintrag in §1/§3/§9 überführt; 13 neue Tests (tests/xor.test.js). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
2754fa40f6
commit
d276c94840
@@ -17,7 +17,7 @@
|
||||
- [?] Effective status: intrinsic, plus what it depends on (S)
|
||||
- [?] Cycles are legal — they mean "finished together" (XS)
|
||||
- [ ] An id with no node behind it is a warning (XS)
|
||||
- [?] XOR, = — exactly one alternative, not at least one (S)
|
||||
- [x] XOR, = — exactly one alternative, not at least one (S)
|
||||
- [?] Node descriptions, shown as a tooltip or pop-up (M)
|
||||
- [?] A short text right at the node (S) %% indentation already means hierarchy
|
||||
- [?] A long block at the end, addressed by its id (S)
|
||||
|
||||
Reference in New Issue
Block a user