Canvas handlePointerDown ignorerer klikk inne i .blockshell-content.
Inputs, knapper, selects og lister i paneler fungerer normalt.
Bare headeren starter Canvas-drag.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reset til 100% justerer kameraposisjon slik at det du ser i
midten forblir i midten. Gjelder dobbeltklikk og toolbar-knapp.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Canvas: scroll=pan, Ctrl+scroll=zoom, piltaster, dblclick=100%.
BlockShell: Ctrl+scroll zoomer panel-innhold.
Nye paneler plasseres i viewport-sentrum, ikke utenfor bildet.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Legg til stopPropagation på toolbar-div for å hindre at pointer/click-events
bobler opp til canvas-container og starter pan/lasso
- Zoom-knapper zoomer nå mot viewport-senter (som musehjul) med ±15% steg
- Fullskjerm z-index økt til 9999 (over header)
- Grid-linjer doblet i opacity (6% → 12%) for synlighet i mørkt tema
- Toolbar-separator bruker CSS-variabel i stedet for hardkodet lys farge
Hver gang en boks klikkes/dras økes en global z-teller og boksen
får høyeste verdi. Rekkefølgen bevares etter at boksen deselekteres.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Når en boks velges eller dras, får den z-index: 10 slik at den
alltid vises over andre bokser. Uvalgte bokser har z-index: 1.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Musehjul er fortsatt rask zoom (20% per steg).
Toolbar-knappene gir nå presis kontroll: ±1% per klikk.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Alle Tailwind-overrides i app.css bruker nå var(--color-*) i stedet for
hardkodede hex. Dette betyr at temaendringer påvirker alt innhold —
inkludert trait-komponenter, inputs, scrollbar, toolbar og statusfarger.
Canvas-toolbar bruker også CSS vars nå.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Erstattet 9 slidere (3 per farge × 3 farger) med 3 intuitive kontroller:
- Farge: hue-stripe for aksentfarge
- Intensitet: saturation
- Lys/mørk: brightness slider (0=svart, 100=hvit)
Systemet utleder bg, surface, border, text automatisk fra disse.
Canvas-bakgrunn styres nå av --color-bg (var ikke det før).
Presets med emoji-ikoner. Rosa og lys preset lagt til.
Bakoverkompatibel med alle tidligere tema-formater.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Lasso-seleksjon → dra flytter alle valgte paneler sammen
- Grid on/off lagres i workspace-metadata (huskes mellom besøk)
- Zoom lagres allerede via kameraposisjon (x, y, zoom)
- ZOOM_MIN senket til 5% for spredte layouts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Klikk-hold-dra på tom bakgrunn = pan (erstatter midtre museknapp)
- Shift+dra = lasso-seleksjon (som før)
- Kameraposisjon (x, y, zoom) lagres i workspace-metadata og
gjenopprettes ved neste besøk
- Senket ZOOM_MIN til 5% for å tillate zoom ut på store canvas
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Toolbar-knapper (zoom, tilpass, grid, fullskjerm) blokkert av Canvas
sin pointerdown-handler. Fikset med closest('.canvas-toolbar')-sjekk.
- Dobbeltklikk på tom flate kjører zoomToFit() for rask navigasjon.
- Seleksjon-ramme dempet: 1px rgba(accent, 0.4) i stedet for 2px solid.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Resize-handlene i BlockShell bruker negative offsets (-3px) som stikker
utenfor canvas-object divens bounds. Uten overflow: visible fanges ikke
pointer events på kantene.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Canvas var #f8f9fa (nesten hvit). Nå #0a0a0b.
Grid-linjer fra svart 5% til indigo 6% for synlighet på mørk bakgrunn.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Erstattet alle hardkodede lyse farger (white, #f0f2f5, #f3f4f6)
med mørke (#0a0a0b, #1c1c20, #242428) i alle Svelte-komponenter.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implementerer det felles canvas-underlaget som whiteboard, storyboard
og fremtidige canvas-views skal bruke. Ren Svelte 5 komponent uten
backend-avhengigheter.
Funksjoner:
- Pan/zoom kamera med CSS transforms (transform-origin: 0 0)
- Viewport culling med 200px margin for smooth scrolling
- Pointer events (unified mus + touch)
- Pinch-zoom og to-finger-pan for touch
- Snap-to-grid (toggle med G-tast eller toolbar)
- Fullskjermsmodus (fixed positioning)
- Lasso-seleksjon og shift+klikk multi-select
- Edge-pan ved drag nær kanter
- Responsivt: 44px touch targets på mobil, tilpasset toolbar
- zoomToFit() for å sentrere alle objekter
- Consumer-rendering via Svelte 5 snippets
Filer:
- frontend/src/lib/components/canvas/Canvas.svelte
- frontend/src/lib/components/canvas/types.ts
- frontend/src/lib/components/canvas/index.ts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>