Dokument-Tab als schwebendes Fenster und zurück #371

Closed
opened 2026-10-09 13:49:18 +02:00 by meleki · 1 comment
Owner

Ein Dokument-Tab soll sich in ein schwebendes Fenster verwandeln und wieder andocken lassen. Anlass: Der Parametric EQ hat seit #370 einen eigenen Tab, zum Anhören muss man aber in den Sound-FX-Tab wechseln.

Abgestimmter Plan (Stufe 1: ein Fenster pro Art, durch Umhängen)

Es gibt einen Editor pro Art, nicht einen pro Tab. Das Pane einer Art wandert deshalb ins Fenster und beim Andocken zurück, wie die Game-View beim Vollbild (showGameFullscreen).

  1. Rechtsklick auf einen Dokument-Tab → Float. Das Fenster hat eine Titelzeile zum Verschieben, eine Ecke zum Größe-Ändern und einen Dock-Knopf. Herausziehen aus der Leiste und Zurückziehen kommen später.
  2. Ein Fenster pro Art. Ist für eine Art ein Fenster offen und wird ein anderes Dokument dieser Art geöffnet, öffnet es sich im Fenster. Mehrere Fenster gleichzeitig gehen, solange es verschiedene Arten sind.
  3. Nur Dokument-Tabs. Scene und Game bleiben fest (eigene Sonderwege, Vollbild).
  4. Position und Größe werden nicht gemerkt, auch nicht pro Browser. Welche Fenster offen sind, merkt sich der Editor ebenfalls nicht.
  5. Kopieren, Einfügen und Entf gehen dorthin, wo zuletzt geklickt wurde (Fenster oder Tab), nicht mehr nur an den sichtbaren Tab.

Später, falls nötig (Stufe 2)

Ein Editor pro Dokument, damit ein Fenster und ein Tab derselben Art gleichzeitig gehen. Das ist ein großer Umbau: von 87 state.on-Anmeldungen in den Editoren melden sich nur 3 wieder ab, die Test-Hooks greifen an 156 Stellen auf genau einen Editor pro Art zu.

Ein Dokument-Tab soll sich in ein schwebendes Fenster verwandeln und wieder andocken lassen. Anlass: Der Parametric EQ hat seit #370 einen eigenen Tab, zum Anhören muss man aber in den Sound-FX-Tab wechseln. ## Abgestimmter Plan (Stufe 1: ein Fenster pro Art, durch Umhängen) Es gibt einen Editor pro Art, nicht einen pro Tab. Das Pane einer Art wandert deshalb ins Fenster und beim Andocken zurück, wie die Game-View beim Vollbild (`showGameFullscreen`). 1. **Rechtsklick auf einen Dokument-Tab → *Float*.** Das Fenster hat eine Titelzeile zum Verschieben, eine Ecke zum Größe-Ändern und einen *Dock*-Knopf. Herausziehen aus der Leiste und Zurückziehen kommen später. 2. **Ein Fenster pro Art.** Ist für eine Art ein Fenster offen und wird ein anderes Dokument dieser Art geöffnet, öffnet es sich im Fenster. Mehrere Fenster gleichzeitig gehen, solange es verschiedene Arten sind. 3. **Nur Dokument-Tabs.** Scene und Game bleiben fest (eigene Sonderwege, Vollbild). 4. **Position und Größe werden nicht gemerkt**, auch nicht pro Browser. Welche Fenster offen sind, merkt sich der Editor ebenfalls nicht. 5. **Kopieren, Einfügen und Entf** gehen dorthin, wo zuletzt geklickt wurde (Fenster oder Tab), nicht mehr nur an den sichtbaren Tab. ## Später, falls nötig (Stufe 2) Ein Editor pro Dokument, damit ein Fenster und ein Tab derselben Art gleichzeitig gehen. Das ist ein großer Umbau: von 87 `state.on`-Anmeldungen in den Editoren melden sich nur 3 wieder ab, die Test-Hooks greifen an 156 Stellen auf genau einen Editor pro Art zu.
admin added this to the Development project 2026-10-09 14:27:34 +02:00
admin moved this to Next in Development on 2026-10-09 14:27:35 +02:00
admin moved this to Done in Development on 2026-10-09 14:27:50 +02:00
Author
Owner

Umgesetzt in 76f5097 („Float a document's tab in a window of its own, and dock it“).

Was es gibt

  • Rechtsklick auf einen Dokument-Tab → Menü mit Float und Close. Float nimmt das Dokument aus der Leiste in ein Fenster über dem Editor.
  • Titelzeile verschiebt, Ecke unten rechts ändert die Größe, Dock holt es als aktiven Tab zurück, × schließt es. Das Fenster bleibt immer ganz auf dem Bildschirm.
  • Ein Fenster pro Art (das Pane der Art wird umgehängt, wie beim Vollbild der Game-View). Ein anderes Dokument derselben Art öffnet im Fenster und schließt das bisherige. Fenster verschiedener Arten gehen gleichzeitig, z. B. Sound FX neben dem Parametric EQ.
  • Entf, Kopieren und Einfügen gehen ins Fenster, in das zuletzt geklickt wurde, nach einem Klick in den Editor wieder an den Tab.
  • Nur Dokumente schweben, Scene und Game nicht. Im Vollbild sind die Fenster ausgeblendet, Laden eines Projekts und Abmelden schließen sie.
  • Nicht gemerkt werden Position, Größe und offene Fenster (wie abgesprochen). Ein Fenster öffnet in der Mitte, jedes weitere 24 px versetzt.

Tests

  • Unit documents: 16 grün (5 neu), Gegenprobe an neighbourOf rot.
  • e2e 44 (melektaus-atx, Kette 1-12, 37, 44): ALL PASSED, 505 Checks, 6 neu.
  • Gate (melektaus-atx): CHECK EXIT 0, 274 Dateien, 4236 Tests.
  • Nach Gate und e2e noch geändert: dispose() schließt offene Fenster vorher (sonst bliebe ein resize-Listener am Renderer). Danach nur Typcheck, Lint und Build.

Nicht geprüft: EQ und Sound FX gleichzeitig im Fenster, Tastenkürzel in Feldern im Fenster, mehrere Fenster übereinander.

Wiki: Concepts (The tab row), Architecture, Sounds, Development in 6b8d3e0.

Umgesetzt in 76f5097 („Float a document's tab in a window of its own, and dock it“). **Was es gibt** - Rechtsklick auf einen Dokument-Tab → Menü mit *Float* und *Close*. *Float* nimmt das Dokument aus der Leiste in ein Fenster über dem Editor. - Titelzeile verschiebt, Ecke unten rechts ändert die Größe, *Dock* holt es als aktiven Tab zurück, × schließt es. Das Fenster bleibt immer ganz auf dem Bildschirm. - **Ein Fenster pro Art** (das Pane der Art wird umgehängt, wie beim Vollbild der Game-View). Ein anderes Dokument derselben Art öffnet im Fenster und schließt das bisherige. Fenster verschiedener Arten gehen gleichzeitig, z. B. Sound FX neben dem Parametric EQ. - Entf, Kopieren und Einfügen gehen ins Fenster, in das zuletzt geklickt wurde, nach einem Klick in den Editor wieder an den Tab. - Nur Dokumente schweben, Scene und Game nicht. Im Vollbild sind die Fenster ausgeblendet, Laden eines Projekts und Abmelden schließen sie. - **Nicht gemerkt** werden Position, Größe und offene Fenster (wie abgesprochen). Ein Fenster öffnet in der Mitte, jedes weitere 24 px versetzt. **Tests** - Unit documents: 16 grün (5 neu), Gegenprobe an `neighbourOf` rot. - e2e 44 (melektaus-atx, Kette 1-12, 37, 44): ALL PASSED, 505 Checks, 6 neu. - Gate (melektaus-atx): CHECK EXIT 0, 274 Dateien, 4236 Tests. - Nach Gate und e2e noch geändert: `dispose()` schließt offene Fenster vorher (sonst bliebe ein `resize`-Listener am Renderer). Danach nur Typcheck, Lint und Build. **Nicht geprüft:** EQ und Sound FX gleichzeitig im Fenster, Tastenkürzel in Feldern im Fenster, mehrere Fenster übereinander. Wiki: *Concepts* (The tab row), *Architecture*, *Sounds*, *Development* in 6b8d3e0.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#371