Files
artcraft/frontend/apps
Tanish Manku 8bb8c186a3 improve 3D model editing in PageDraw: stretch preservation, live button tracking, perf
- Add `nativeWidth`/`nativeHeight` to `Model3DParams` so the 3D overlay
  always renders at the model's original undistorted dimensions. When a node
  is stretched via the Konva transformer, the overlay CSS-scales the native
  framebuffer to fill the stretched frame, giving a live stretch preview.
  The committed PNG is at native size; Konva applies the visual stretch,
  preserving it across re-edits.

- Fix `renderer.setSize(..., false)` so Three.js does not overwrite the
  canvas inline CSS, allowing Tailwind `h-full w-full` to control display
  size and produce the stretch effect.

- Extract "Edit 3D" button into an isolated `memo`-wrapped `Edit3DButton`
  component that owns its own `forceUpdate` state and Konva event listeners
  (stage pan/zoom + transformer drag). Konva events now only re-render the
  small button element, not the entire PageDraw tree.

- Button position reads directly from the live Konva node via
  `stage.findOne()` so it tracks transformer handle movement in real-time,
  before `onTransformEnd` bakes the values back into the store.
2026-03-13 12:43:18 -07:00
..
2026-03-12 21:35:29 +07:00