chain table round 6: the thread bracket law (owner refinement)

The tree threads no longer touch their arrows. Each thread is
BRACKETED by checkbox bottom edges (live-measured anchors):
- starts at its parent row's checkbox bottom edge — a visible gap
  below the arrow's stroke (the stroke ends ~2.4px above the anchor)
- terminates exactly at the LAST child row's checkbox bottom edge
  (cluster: top-[23px]/bottom-[8px] incl. the 1px group rule; chain:
  top-[22px]/bottom-[8px]). Verified live: 23=23 top anchor, bottom
  ends within 0.13px of the last checkbox at both levels.
This commit is contained in:
amosblomqvist
2026-09-30 00:37:55 +03:00
parent 40b0c33f93
commit edb10e3791
3 changed files with 20 additions and 11 deletions
+5
View File
@@ -154,6 +154,11 @@ describe("ChainTableBody — THE shared TopBar + the lines law (owner, round 2)"
// the columns: the cluster arrow sits at 37px, the chain arrow at 73px
assert.ok(open.includes("left-[37px]"), "thread at the cluster arrow's column");
assert.ok(open.includes("left-[73px]"), "thread at the chain arrow's column");
// the BRACKET LAW (owner round 6): each thread runs from its parent
// row's checkbox bottom edge (a visible gap below the arrow's stroke)
// to the LAST child row's checkbox bottom edge — live-measured anchors
assert.ok(open.includes("bottom-[8px] left-[37px] top-[23px]"), "cluster thread bracketed by checkbox bottoms");
assert.ok(open.includes("top-[22px]") && open.includes("bottom-[8px]"), "chain thread bracketed by checkbox bottoms");
});
});