# Proposal: Skjermen — live-produksjon i arbeidsflaten ## Konsept "Skjermen" er et panel i arbeidsflaten som fungerer som et produksjonsbord. Du drar inn videostrømmer, bilder, tekst og andre noder — og arrangerer dem fritt. Det som er i skjermen er det som tas opp eller strømmes. Skjermen er ikke en video-editor. Den er en **live kompositor** som bruker drag-and-drop med eksisterende noder. ## Delt arbeidsflate som møterom/studio Et møterom eller studio er en delt arbeidsflate med riktige traits. Alle deltakere ser sin egen arbeidsflate, men skjermen(e) er synkronisert — alle ser samme komposisjon. ``` Delt arbeidsflate (podcaststudio): Synkronisert: Personlig: ┌──────────────────────┐ ┌─────────┐ │ SKJERM (program) │ │ Notater │ ← kun deg │ Trond │ Arne │ └─────────┘ │ Vegard│ Logo │ ┌─────────┐ │ ●REC │ │ Chat │ ← alle ser └──────────────────────┘ └─────────┘ ┌──────────────────────┐ ┌─────────┐ │ SKJERM (preview) │ │ Mixer │ ← delt │ Arne (stor) │ └─────────┘ │ Trond│Vegard (små) │ └──────────────────────┘ ``` ## Videoramme Hvert deltaker har et panel — "videoramme" — som fanger kamera og mikrofon. Produserer en LiveKit-track som er en strøm-node. - Styres av eieren (velg kamera, mikrofon, on/off) - Kan dras inn i skjermer av vert/produsent - Samme strøm kan refereres fra flere skjermer - Kan også fange skjermdeling ## Skjerm-panelet ### Grunnfunksjoner - **Drop-target:** aksepterer videostrømmer, bilder, tekst, noder - **Fritt arrangement:** hvert element har posisjon, størrelse, z-order - **Resizerbart:** elementene inne i skjermen resizes fritt - **Aspect ratio:** låses til 16:9 (default), 4:3, 1:1 eller fritt - **Bakgrunn:** farge, gradient eller bilde - **Snap-to-grid:** valgfritt, for presis plassering ### Frameless modus Noder som dras inn i skjermen rendres **uten grensesnittelementer**. Ingen BlockShell-header, ingen resize-handles, ingen border, ingen skygge. Bare innholdet. Skjermen er output — den skal se ut som et ferdig bilde, ikke som et utviklerverktøy. Resize og flytting av elementer *inne i skjermen* gjøres av skjermens egen editor-modus (kun tilgjengelig for vert), ikke av BlockShell. Elementene er rene rektangler med innhold. Dette betyr at noder trenger en `frameless`-renderingsmodus: - **Videoramme:** bare `