synops/frontend
vegard 0caa8eb126 Fullfører oppgave 19.3: Arbeidsflaten layout med Canvas + BlockShell
Skriver om /collection/[id] fra vertikal stack til spatial workspace:

- Desktop: trait-paneler vises som BlockShell-wrappers på Canvas med
  fri pan/zoom, drag-repositionering og resize
- Mobil (<768px): tab-navigasjon med ett synlig panel om gangen
- Tre-lags layout-modell: personlig (edge metadata) > node-default
  (generert fra traits) > plattform-default (grid fallback)
- Layout persisteres debounced (1s) til brukerens owner/member_of
  edge metadata via updateEdge API
- Nye traits legges automatisk til eksisterende layout
- Fjernede traits filtreres ut ved resolving

Ny fil: frontend/src/lib/workspace/types.ts
  - PanelLayout/WorkspaceLayout typer
  - TRAIT_PANEL_INFO med default størrelse/ikon per trait
  - generateDefaultLayout(): grid-arrangement fra trait-liste
  - resolveLayout(): tre-lags merging med saved layout

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 07:31:40 +00:00
..
src Fullfører oppgave 19.3: Arbeidsflaten layout med Canvas + BlockShell 2026-03-18 07:31:40 +00:00
static Fullfører oppgave 16.7: Stemmeeffekter med robot og monster voice 2026-03-18 05:34:59 +00:00
.env.example Mottaksflaten v0: vis noder koblet til innlogget bruker (oppgave 3.4) 2026-03-17 14:13:36 +01:00
.gitignore SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
.npmrc SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
package-lock.json Fullfører oppgave 16.1: LiveKit-klient i frontend 2026-03-18 04:49:02 +00:00
package.json Fullfører oppgave 16.1: LiveKit-klient i frontend 2026-03-18 04:49:02 +00:00
svelte.config.js SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
tsconfig.json SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
vite.config.ts TipTap-editor med create_node-intensjon (oppgave 3.5) 2026-03-17 14:24:25 +01:00