feat: edge chips and layoutIr boxes carry their identity (#110, #111) - #114
Merged
Conversation
Two anonymous-markup gaps behold#250's adoption hit: - The viaAttr chip was <g><rect/><text/></g> with nothing naming its edge; downstream paired it with its line by document order + text sniffing, which hover-raise re-appending destroys. The chip group now carries the same data-edge-from/to/via hooks as the edge it labels. - #104 stamped GroupBox.id in layoutArchitecture only; layoutIr's boxes (byWave/byStack/byContainer) had a title and nothing else. They now carry their group record's key as id, rendered as data-group-id with the same escaping. Closes #110 Closes #111 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JD1XEfzQByQEP29dMhJgvz
lex00
added a commit
that referenced
this pull request
Aug 10, 2026
…114) (#115) Claude-Session: https://claude.ai/code/session_01JD1XEfzQByQEP29dMhJgvz Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #110 and #111, the two stamps behold's hand-layout adoption is waiting on:
viaAttrchip group now carriesdata-edge-from/data-edge-to/data-edge-via— the same hooks as the edge line it labels — so downstream pairs chip and line by identity rather than document order (which behold's hover-raise re-appending destroys). Existing chips without a rel (none today; all callers pass one) stay unstamped rather than half-stamped.layoutIr's group boxes carry their group record's key asGroupBox.id, exactly as Stamp data-group-id on architecture group boxes (#103) #104 did forlayoutArchitecture—renderSvgalready rendersidasdata-group-idwith entity escaping, so the whole change is setting it.Tests: chip stamped on both groups (line + chip) and specifically on the rect-holding one;
data-group-idper layoutIr key; escaping mirrored from #103's case.Downstream (next behold release): drop the label-pairing inference and the structural box fallback per behold#250's plan, and the server-side label bake in behold src/layout.ts unblocks.
🤖 Generated with Claude Code
https://claude.ai/code/session_01JD1XEfzQByQEP29dMhJgvz