update latest main version prior to architecture consolidation work. - #30
Merged
Merged
Conversation
…dit its code A row holding code now opens it in the floating code editor on double-click, the same editor Enter and the "Edit code" button open. Element rows still do nothing and component rows still open their file. The row passes its own id instead of relying on the selection: its click has only just asked for the selection, which still names the previous row when the double-click lands. Enter, "Edit code" and the double-click now share one pure rule, codeWindowFor, so they cannot disagree on the title or the language. It matches the tag case-insensitively, as the parser does, so a <STYLE> block opens as CSS instead of being labelled JavaScript. test/navigator-open-code.js covers the rule and the navigator rows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ssion ids
Node ids regenerate on every parse (the parser's counter never resets), and
0.1.33 made page:write return the file re-parsed so source ranges stay
current. Installing that parse wholesale (markSaved's new written model)
re-keyed every editor that renders with key={node.id} — panel text fields,
style rules (ruleId seeds on the style node's id), the floating code window
(targetId) — after each 'live' save. Focus died with the remount, and the
next keystrokes fell through to the document-level shortcuts (S/D switched
panels): issue #29.
The fresh parse stays the authority for structure and source ranges; the new
adoptNodeIds walks both trees in lockstep and borrows the session's ids where
they agree on the same slot (same kind, name where one exists, children
shape). Where they disagree — genuinely added or removed nodes, externally
edited files — the fresh subtree keeps its regenerated ids, so a restructured
region re-keys once instead of silently pointing old ids at new nodes.
adoptParsedModel applies that at the three parsed-state install sites: the
save acknowledgement, the code panel's live re-parse, and external file
changes. Selection's trail remap stays as the fallback for restructured
regions; the floating code window keeps its target for the same reason.
page-navigation's external-read expectations move to the new contract: an
installed disk snapshot carries the session ids, so a stale read that loses
the version race and a fresh one are told apart by content, not by id churn.
Adoption is pure, bounded by LIMITS.treeNodesMax/treeDepthMax, and tested
over the pairing rule's negative space plus a real parser round trip.
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.
No description provided.