synops/frontend/src/lib/components/traits
vegard 5b0881d5d9 Implementer BlockReceiver i alle trait-komponenter (oppgave 20.3)
Hver trait-komponent (Chat, Kanban, Kalender, Editor, Studio) har nå
en BlockReceiver med canReceive() som sjekker kompatibilitetsmatrisen.
Inkompatible drops viser forklaring og forslag til alternativ.

Endringer:
- transfer.ts: Per-verktøy compat-sjekker (checkChatCompat, checkKanbanCompat,
  checkCalendarCompat, checkEditorCompat, checkStudioCompat) + createBlockReceiver factory
- types.ts: BlockReceiver utvidet med optional receive() + PlacementIntent type
- BlockShell.svelte: Validerer payload på faktisk drop (ikke bare drag-over)
- Alle 5 traits: Eksporterer BlockReceiver med canReceive + receive
- workspace/+page.svelte: Kobler receivers til BlockShell i spatial canvas
- Doc oppdatert til å reflektere faktisk implementasjon

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:12:54 +00:00
..
CalendarTrait.svelte Implementer BlockReceiver i alle trait-komponenter (oppgave 20.3) 2026-03-18 08:12:54 +00:00
ChatTrait.svelte Implementer BlockReceiver i alle trait-komponenter (oppgave 20.3) 2026-03-18 08:12:54 +00:00
EditorTrait.svelte Implementer BlockReceiver i alle trait-komponenter (oppgave 20.3) 2026-03-18 08:12:54 +00:00
GenericTrait.svelte Trait-aware frontend: samlingssider med dynamiske trait-paneler (oppgave 13.2) 2026-03-18 00:20:35 +00:00
KanbanTrait.svelte Implementer BlockReceiver i alle trait-komponenter (oppgave 20.3) 2026-03-18 08:12:54 +00:00
MixerTrait.svelte Fullfører oppgave 16.7: Stemmeeffekter med robot og monster voice 2026-03-18 05:34:59 +00:00
PodcastTrait.svelte Trait-aware frontend: samlingssider med dynamiske trait-paneler (oppgave 13.2) 2026-03-18 00:20:35 +00:00
PublishingTrait.svelte Redaktørens arbeidsflate (oppgave 14.11): Kanban-brett for innsendinger 2026-03-18 02:09:03 +00:00
RecordingTrait.svelte Fullfører oppgave 16.1: LiveKit-klient i frontend 2026-03-18 04:49:02 +00:00
RssTrait.svelte Trait-aware frontend: samlingssider med dynamiske trait-paneler (oppgave 13.2) 2026-03-18 00:20:35 +00:00
SoundPadGrid.svelte Fullfører oppgave 16.5: Sound pads med 4×2 pad-grid 2026-03-18 05:17:30 +00:00
StudioTrait.svelte Implementer BlockReceiver i alle trait-komponenter (oppgave 20.3) 2026-03-18 08:12:54 +00:00
TraitAdmin.svelte Trait-administrasjon: admin-UI for å administrere traits på samlinger (oppgave 13.4) 2026-03-18 00:32:31 +00:00
TraitPanel.svelte Trait-aware frontend: samlingssider med dynamiske trait-paneler (oppgave 13.2) 2026-03-18 00:20:35 +00:00
TranscriptionTrait.svelte Trait-aware frontend: samlingssider med dynamiske trait-paneler (oppgave 13.2) 2026-03-18 00:20:35 +00:00