Commit Graph
44 Commits
Author SHA1 Message Date
Hermes Agent c8df3b8054 fix: resize anchored at start (no jump) — absolute target from RESIZE_START anchor 2026-09-09 19:36:53 +02:00
Hermes Agent 3c0ab7a67c debug: make resize handles visible (rgba fill) for debugging 2026-09-09 19:31:45 +02:00
Hermes Agent be419351b2 feat: 8 perimeter resize handles (static divs, no .map, typed callbacks) 2026-09-09 19:29:46 +02:00
Hermes Agent b6c0a58071 feat: 8 invisible resize handles on whole perimeter (replace native useWindowResize) 2026-09-09 19:25:38 +02:00
Hermes Agent 8a0bf4d8f3 feat: 8 invisible resize handles on whole perimeter (edges + corners) 2026-09-09 19:19:26 +02:00
Hermes Agent c0e2fe0358 feat: center one-shot but keeps position on manual resize (centerLocked) 2026-09-09 19:13:58 +02:00
Hermes Agent ab6a2e879f feat: edge fix-size editable via manual resize; center one-shot; corners keep size 2026-09-09 19:10:48 +02:00
Hermes Agent 61577b01cd fix: corners only move window, keep size (don't stretch) 2026-09-09 18:59:47 +02:00
Hermes Agent e57e4c18ea feat: center dock = 50% of viewport (w/h) 2026-09-09 18:55:58 +02:00
Hermes Agent 837bdfbfae feat: dock edges fixed-size (left/right=320w full-h, top/bottom=320h full-w), corners full 2026-09-09 18:51:44 +02:00
Hermes Agent a38f7188ee feat: dock buttons stretch window to zone (edge/corner) + reposition; center keeps size 2026-09-09 18:44:30 +02:00
Hermes Agent 5984df1692 fix: account for 38px plugin header in gapB/center.y and vertical dock 2026-09-09 18:33:16 +02:00
Hermes Agent b57cda16ec feat: normalized window position relX/relY relative to viewport (no infinite-canvas coords) 2026-09-09 18:22:29 +02:00
Hermes Agent 153da94fde ui: show substituted values under each calc formula (gap/center with numbers) 2026-09-09 18:08:43 +02:00
Hermes Agent d29654b8d5 feat: 9-position dock grid (4 corners + 4 edges + center) 2026-09-09 17:54:53 +02:00
Hermes Agent 0aeaf9f831 ui: expand targets viewport geometry (maxViewport), drop 2000 probe; no header subtraction 2026-09-09 16:58:31 +02:00
Hermes Agent 1ff8a47323 ui: align drag-resize max limit to 2000 (matches expand request) 2026-09-09 16:52:21 +02:00
Hermes Agent 960a2b0e03 feat: expand requests 2000x2000 so Figma clamps to its real window limit 2026-09-09 16:43:25 +02:00
Hermes Agent 0d61580acb fix: measure real window size via iframe innerWidth, not requested lastSize (fix gap tautology) 2026-09-09 16:23:12 +02:00
Hermes Agent b2ae4c44d6 feat: maximize window to full viewport (maxViewport = bounds*zoom), clamp drag 2026-09-09 16:05:50 +02:00
Hermes Agent 4228357a35 fix: convert window px size to canvas-units (w/zoom) for dock + gap/center math 2026-09-09 15:50:34 +02:00
Hermes Agent 13f3129c78 fix: clipboard copy fallback via execCommand (iframe blocks navigator.clipboard) 2026-09-09 15:43:11 +02:00
Hermes Agent 831a5b3615 docs: add gotcha — icon button sizing (use native filled icon, not inline SVG) 2026-09-09 15:41:11 +02:00
Hermes Agent 84a89cd4b6 ui: use native IconCopySmall24 to match size/weight of sibling icon buttons 2026-09-09 15:39:10 +02:00
Hermes Agent fd12df7d39 ui: replace copy text button with icon button (lucide-style copy/check) 2026-09-09 15:27:34 +02:00
Hermes Agent 4f43c5f89c feat: copy debug values (RAW + calculated) to clipboard with feedback 2026-09-09 15:19:50 +02:00
Hermes Agent 63a762d002 ui: split raw Figma API values vs calculated; show code var names + formulas 2026-09-09 15:15:09 +02:00
Hermes Agent 9f9349efb6 fix: keep docked window pinned to edge across zoom/pan via viewport poll 2026-09-09 15:13:05 +02:00
Hermes Agent 106f21b2c4 ui: readable grid layout for window debug readout (mono, tabular, grouped) 2026-09-09 13:23:36 +02:00
Hermes Agent dc8ab7421e refactor: auto-refresh window info after dock/resize/drag; drop manual Info button 2026-09-09 13:20:35 +02:00
Hermes Agent 85e9433626 fix: type listener WINDOW_INFO to match extended info shape (build was broken) 2026-09-09 13:19:14 +02:00
Hermes Agent dcfb235d06 feat: show derived window data (zoom, viewport, gaps, center)
- main.ts GET_WINDOW_INFO: add zoom, viewport bounds, gaps L/R/T/B, center
  computed from figma.viewport + plugin window geometry
- ui.tsx: render additional readout lines under 🔍 Инфо
2026-09-09 13:18:32 +02:00
Hermes Agent ecbbd5d8c1 feat: show live window x/y/size debug readout inside plugin
- main.ts: track lastSize; GET_WINDOW_INFO handler returns x/y via
  figma.ui.getPosition().canvasSpace (typed as any) + stored width/height
- ui.tsx: WINDOW_INFO listener, '🔍 Инфо' button, render x/y/w/h block
2026-09-09 13:12:17 +02:00
Hermes Agent bc9b2e60e9 feat: window docking buttons (left/center/right) via figma.ui.reposition
- main.ts: add DOCK_WINDOW handler using figma.viewport.bounds + figma.ui.resize/reposition
- ui.tsx: add dock buttons (Left/Center/Right) + keep expand/collapse + drag handle
2026-09-09 13:08:11 +02:00
Hermes Agent f3575e30ee chore: drop size from plugin window title (Figma title bar is not customizable; keep name only) 2026-09-09 13:01:04 +02:00
Hermes Agent 84ec81bf03 fix: drag works again; size label updates only on pointerup
- ui.tsx: useWindowResize callback emits RESIZE_WINDOW with hook-computed
  size (not window.innerWidth) so figma.ui.resize grows correctly during drag
- ui.tsx: add window 'pointerup' listener to refresh size readout AFTER
  drag ends (Figma already applied new size by then)
2026-09-09 12:58:26 +02:00
Hermes Agent 4aa82fbefa fix: window size readout now updates during drag
- ui.tsx: useWindowResize callback now builds a fresh {width,height} from
  window.innerWidth/innerHeight instead of the hook's mutated ref object,
  so Preact re-renders and the size label updates live
- toggleWindowSize: spread MIN/MAX constants to new objects (same ref bug)
2026-09-09 12:56:07 +02:00
Hermes Agent 26d391f90a fix: drag works from first attempt + size in window header
- ui.tsx: pass min/max opts to useWindowResize (fixes first-drag bug)
- ui.tsx: move live size to top toolbar (left of expand button)
- main.ts: set figma window title with startup size via showUI({title})
2026-09-09 12:50:35 +02:00
Hermes Agent 3bff4241d6 fix: add visible drag-handle icon (3x3 dots) in bottom-right corner
- ui.tsx: decorative SVG drag indicator (pointerEvents:none) like old plugin
- uses --figma-color-icon-secondary + opacity 0.4, fixed bottom/right 3px
- Fragment wrapper; real drag still handled by useWindowResize handle
2026-09-09 12:43:39 +02:00
Hermes 6c7be98a82 feat: relaunch button in right panel + drag-resize window
- package.json: add relaunchButtons (runAI) for right-panel shortcut
- main.ts: setRelaunchData + RESIZE_WINDOW handler (figma.ui.resize)
- ui.tsx: useWindowResize native drag handle + expand/collapse toggle
- .gitignore: exclude _reference/ (temp old-plugin copy)
- IDEA.md: commit+push to Gitea is mandatory workflow
2026-09-09 12:38:13 +02:00
Hermes 4507162f42 docs: fix sync flow (include build/), add KNOWLEDGE.md self-edit rule 2026-09-09 11:59:44 +02:00
Hermes Agent 903025965b docs: add KNOWLEDGE.md (build gotchas + workflow) 2026-09-09 11:35:43 +02:00
Hermes Agent def909f0a2 docs: add IDEA.md with UI framework refs, Figma plugin docs, examples 2026-09-09 11:29:57 +02:00
Hermes Agent 567ce34285 bootstrap: Hello World Figma plugin skeleton 2026-09-09 11:27:11 +02:00