Ny retning: arbeidsflaten.md — spatial canvas med verktøy-paneler. Drag-and-drop mellom verktøy oppretter nye noder med source_material-edges. Noder muterer ikke — de føder nye noder. Oppdatert docs: - universell_input.md: "retyping" → "nye noder fra eksisterende" - rom_ikke_forum.md: "bli" → "føde", siloer → verktøy-paneler - universell_overfoering.md: blokker → verktøy-paneler, dual-modell - meldingsboks.md: multi-rolle → visning i flere kontekster Nye docs: - arbeidsflaten.md: retning med kompatibilitetsmatrise og inkompatibilitet - artikkelverktoy.md: langform TipTap-editor med drag-and-drop mottak Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
100 lines
3.4 KiB
Markdown
100 lines
3.4 KiB
Markdown
# Feature: Artikkelverktøyet — langform-editor på arbeidsflaten
|
|
|
|
## 1. Konsept
|
|
|
|
Artikkelverktøyet er et verktøy-panel på arbeidsflaten med en TipTap-editor
|
|
optimalisert for langform-skriving. Det aksepterer drag-and-drop fra andre
|
|
paneler og oppretter innholdsnoder med `source_material`-edges tilbake
|
|
til kildene.
|
|
|
|
Ref: [arbeidsflaten](../retninger/arbeidsflaten.md),
|
|
[publisering](../concepts/publisering.md)
|
|
|
|
## 2. Opprettelse
|
|
|
|
Når artikkelverktøyet åpnes, opprettes en ny innholdsnode:
|
|
|
|
```
|
|
node_kind: "content"
|
|
metadata.document: { "type": "doc", "content": [] } // Tom TipTap-doc
|
|
visibility: "hidden" // Privat til forfatteren deler
|
|
```
|
|
|
|
Noden er en artikkel fra fødsel — ingen "konvertering" fra annet innhold.
|
|
|
|
## 3. Drag-and-drop mottak
|
|
|
|
Artikkelverktøyet implementerer `BlockReceiver`-interfacet og aksepterer:
|
|
|
|
| Kilde | Handling | Edge |
|
|
|-------|----------|------|
|
|
| **Chatboble** | Sett inn sitert tekst i editoren | `source_material` (context: "quoted") |
|
|
| **Transkripsjon** | Sett inn tekstblokk fra segment | `source_material` (context: "quoted") |
|
|
| **Bilde** | Sett inn inline-bilde | `has_media` |
|
|
| **Lydfil** | Sett inn lydavspiller (embed) | `has_media` |
|
|
| **Tekst/notat** | Sett inn innhold | `source_material` (context: "referenced") |
|
|
| **Annen artikkel** | Sett inn utdrag | `source_material` (context: "quoted") |
|
|
|
|
Ved drop:
|
|
1. Ny `source_material`-edge fra artikkel → kilde
|
|
2. Innhold settes inn i editoren på markørposisjon
|
|
3. Visuell indikator i editoren viser at teksten har en kilde
|
|
(subtil venstrekant-markering, klikkbar for å se originalen)
|
|
|
|
## 4. Editor-konfigurasjon
|
|
|
|
TipTap med fulle extensions for langform:
|
|
|
|
- Overskrifter (h2, h3, h4)
|
|
- Blockquotes, kodeblokker
|
|
- Bilder (inline, refererer CAS-noder via `has_media`)
|
|
- Lister (ordnet, uordnet, sjekklister)
|
|
- Tabeller
|
|
- Lenker
|
|
- Embeds (lyd, video)
|
|
|
|
Forenklede presets tilgjengelig:
|
|
- **Artikkel** (default): alle extensions
|
|
- **Show notes**: lister, tidskoder, lenker
|
|
- **Notat**: tekst, sjekklister
|
|
|
|
## 5. Publiseringsintegrasjon
|
|
|
|
Artikkelen følger publiseringsreisen via edge-progresjon:
|
|
|
|
```
|
|
intended_for → submitted_to → belongs_to
|
|
(arbeidsfase) (vurdering) (publisert)
|
|
```
|
|
|
|
Publiseringspanelet vises ved siden av editoren når `intended_for`-edge
|
|
finnes. Forfatteren fyller ut presentasjonselementer (tittel, ingress,
|
|
forsidebilde) som egne noder med edges til artikkelen.
|
|
|
|
## 6. Kildesporbarhet
|
|
|
|
Artikkelens `source_material`-edges gir komplett lineage:
|
|
|
|
```
|
|
Artikkel "Trikken kan bli gratis"
|
|
←source_material── Chatboble i #redaksjon (sitert)
|
|
←source_material── Transkripsjonssegment fra episode 42 (sitert)
|
|
←source_material── Notat fra dagboken (referert)
|
|
←has_media──────── Bilde av trikken (CAS-media)
|
|
```
|
|
|
|
UI viser en "Kilder"-panel i editoren med alle koblede noder.
|
|
Klikk → naviger til originalen.
|
|
|
|
## 7. Bygger på
|
|
|
|
- [Universell input](../retninger/universell_input.md) — TipTap-editor, dokumentlagring
|
|
- [Publisering](../concepts/publisering.md) — publiseringsreise via edges
|
|
- [Arbeidsflaten](../retninger/arbeidsflaten.md) — drag-and-drop, verktøy-panel
|
|
- [Universell overføring](universell_overfoering.md) — mottaker-interface
|
|
|
|
## 8. Responsivt
|
|
|
|
- **Desktop:** Side ved side med andre paneler, full editor
|
|
- **Tablet:** Fullskjerm-editor med "Send til..."-meny for kilder
|
|
- **Mobil:** Forenklet editor, ingen drag-and-drop (bruk meny)
|