Skip to content

feat(tree): make insertion boundaries structurally aware - #69

Merged
antonreshetov merged 3 commits into
mainfrom
feat/tree-insertion-affordance
Aug 24, 2026
Merged

antonreshetov merged 3 commits into
mainfrom
feat/tree-insertion-affordance

Conversation

@antonreshetov

Copy link
Copy Markdown
Contributor

Summary

  • keep the insertion action centered on the line with a 24px hit area
  • preserve horizontal level selection only where multiple structural scopes share a boundary
  • restrict Block, Row, Cell, and Item actions to their actual tree scope boundaries
  • keep empty-cell insertion and collapsed-scope behavior predictable

Verified behavior

  • internal Atom boundary: Item only at every X position
  • Cell boundary: Cell or Item only
  • shared final Block/Row/Cell/Atom boundary: Block, Row, Cell, or Item by X position
  • inserted nodes use the expected parent and index

Checks

  • pnpm -s vue-tsc --noEmit
  • pnpm -s eslint scoped changed files
  • pnpm -s test (142 tests)

@antonreshetov
antonreshetov merged commit 8ac1a71 into main Aug 24, 2026
@antonreshetov
antonreshetov deleted the feat/tree-insertion-affordance branch August 24, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant