Find a file
Danila Poyarkov 7d483f340b Add nested frames with reparenting and relative coordinates
Scene graph:
- Nodes use relative coordinates (x,y relative to parent)
- getAbsolutePosition() walks up the parent chain
- reparentNode() preserves visual position when moving between frames
- Deep hit testing traverses into container children
- hitTestFrame() finds deepest frame under cursor (for drop targeting)
- flattenTree() returns indented layer list for the panel
- isDescendant() prevents circular reparenting

Renderer:
- canvas.translate(node.x, node.y) per node — children render relative
- All shapes draw at (0,0) in their local space
- Drop target highlight (blue outline on frame during drag-over)
- Selection UI uses getAbsolutePosition() for screen-space handles

Input:
- Drag onto frame → blue highlight → drop reparents nodes
- Handle hit testing uses absolute positions
- Snap guides work with absolute coordinates

Layers panel:
- Tree view with depth-based indentation (16px per level)
- Expand arrow for containers with children
- Shift+click for additive selection
2026-02-27 22:34:15 +03:00
.vscode Initial commit: Tauri + CanvasKit + React editor scaffold 2026-02-27 15:48:29 +03:00
patches PoC 2 & 3: Yoga WASM layout + Kiwi codec 2026-02-27 17:16:21 +03:00
src Add nested frames with reparenting and relative coordinates 2026-02-27 22:34:15 +03:00
src-tauri Initial commit: Tauri + CanvasKit + React editor scaffold 2026-02-27 15:48:29 +03:00
.gitignore Initial commit: Tauri + CanvasKit + React editor scaffold 2026-02-27 15:48:29 +03:00
.oxfmtrc.json Add oxlint, oxfmt, typescript-go 2026-02-27 15:52:55 +03:00
bun.lock Migrate React → Vue 3 + VueUse + Reka UI 2026-02-27 21:25:31 +03:00
FIGMA_UI3_CDP_FINDINGS.md Migrate React → Vue 3 + VueUse + Reka UI 2026-02-27 21:25:31 +03:00
index.html Migrate React → Vue 3 + VueUse + Reka UI 2026-02-27 21:25:31 +03:00
oxlint.json Migrate React → Vue 3 + VueUse + Reka UI 2026-02-27 21:25:31 +03:00
package.json Migrate React → Vue 3 + VueUse + Reka UI 2026-02-27 21:25:31 +03:00
PLAN.md Initial commit: Tauri + CanvasKit + React editor scaffold 2026-02-27 15:48:29 +03:00
README.md Initial commit: Tauri + CanvasKit + React editor scaffold 2026-02-27 15:48:29 +03:00
tsconfig.json Migrate React → Vue 3 + VueUse + Reka UI 2026-02-27 21:25:31 +03:00
tsconfig.node.json Initial commit: Tauri + CanvasKit + React editor scaffold 2026-02-27 15:48:29 +03:00
vite.config.ts Migrate React → Vue 3 + VueUse + Reka UI 2026-02-27 21:25:31 +03:00

Tauri + React + Typescript

This template should help get you started developing with Tauri, React and Typescript in Vite.