GUI Milestone 2
This commit is contained in:
parent
f46f9542b4
commit
8f341f631a
3 changed files with 190 additions and 22 deletions
42
GUI_PLAN.md
42
GUI_PLAN.md
|
|
@ -35,27 +35,27 @@ A Qt6-based node editor GUI for warppipe using the QtNodes (nodeeditor) library.
|
|||
- [x] Use port name from PortInfo as port label
|
||||
- [x] Verify nodes appear in graph view with correct titles and ports
|
||||
|
||||
- [ ] Milestone 2 - Visual Styling and Node Types
|
||||
- [ ] Define node type classification based on `media_class`:
|
||||
- [ ] Sink → "Hardware Sink" (blue-gray base color)
|
||||
- [ ] Source → "Hardware Source" (blue-gray base color)
|
||||
- [ ] Virtual sinks created by warppipe → "Virtual Sink" (green base color)
|
||||
- [ ] Virtual sources created by warppipe → "Virtual Source" (green base color)
|
||||
- [ ] Application audio streams (ephemeral) → "Application" (brown/orange base color)
|
||||
- [ ] Implement custom NodeStyle via `nodeData(NodeRole::Style)`:
|
||||
- [ ] Return QtNodes::NodeStyle::toJson().toVariantMap()
|
||||
- [ ] Set GradientColor0-3, NormalBoundaryColor, FontColor based on node type
|
||||
- [ ] Reference potato's `nodeStyleVariant()` function for color scheme
|
||||
- [ ] Detect ephemeral (application) nodes:
|
||||
- [ ] Track node appearance/disappearance via Client poll or registry events
|
||||
- [ ] Mark node as "inactive" if it disappears (no audio playing)
|
||||
- [ ] Persist inactive nodes in graph model (do NOT remove from visual graph)
|
||||
- [ ] Apply "ghost" styling to inactive nodes:
|
||||
- [ ] Set `Opacity = 0.6f` (vs 1.0f for active)
|
||||
- [ ] Darken gradient colors (use `.darker(150-180)`)
|
||||
- [ ] Fade font color (lighter gray)
|
||||
- [ ] Keep connections visible with faded style
|
||||
- [ ] Verify: Application nodes appear vibrant when active, fade when inactive, never disappear
|
||||
- [x] Milestone 2 - Visual Styling and Node Types
|
||||
- [x] Define node type classification based on `media_class`:
|
||||
- [x] Sink → "Hardware Sink" (blue-gray base color)
|
||||
- [x] Source → "Hardware Source" (blue-gray base color)
|
||||
- [x] Virtual sinks created by warppipe → "Virtual Sink" (green base color)
|
||||
- [x] Virtual sources created by warppipe → "Virtual Source" (green base color)
|
||||
- [x] Application audio streams (ephemeral) → "Application" (brown/orange base color)
|
||||
- [x] Implement custom NodeStyle via `nodeData(NodeRole::Style)`:
|
||||
- [x] Return QtNodes::NodeStyle::toJson().toVariantMap()
|
||||
- [x] Set GradientColor0-3, NormalBoundaryColor, FontColor based on node type
|
||||
- [x] Reference potato's `nodeStyleVariant()` function for color scheme
|
||||
- [x] Detect ephemeral (application) nodes:
|
||||
- [x] Track node appearance/disappearance via Client poll or registry events
|
||||
- [x] Mark node as "inactive" if it disappears (no audio playing)
|
||||
- [x] Persist inactive nodes in graph model (do NOT remove from visual graph)
|
||||
- [x] Apply "ghost" styling to inactive nodes:
|
||||
- [x] Set `Opacity = 0.6f` (vs 1.0f for active)
|
||||
- [x] Darken gradient colors (use `.darker(150-180)`)
|
||||
- [x] Fade font color (lighter gray)
|
||||
- [x] Keep connections visible with faded style
|
||||
- [x] Verify: Application nodes appear vibrant when active, fade when inactive, never disappear
|
||||
|
||||
- [ ] Milestone 3 - Link Visualization and Drag-Connect
|
||||
- [ ] Implement connection mapping:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue