2019-10-30 16:10:15 +00:00
|
|
|
TODO FOLDHAUS
|
|
|
|
|
2019-11-01 11:17:46 +00:00
|
|
|
Intermediate Lifetime Memory & Operations
|
2019-11-01 13:16:30 +00:00
|
|
|
x Intermediate lifetime memory arena
|
2019-11-01 11:17:46 +00:00
|
|
|
- Temporary memory region = a multi frame operation
|
|
|
|
- Concept of an operation - temporary memory + interface command registry
|
|
|
|
- Allow one operation at a time at first
|
|
|
|
- Push/pop operations on a list?
|
|
|
|
- Current Operations:
|
|
|
|
- - View Sculpture
|
|
|
|
- - View/Edit Nodes
|
2019-11-01 13:16:30 +00:00
|
|
|
- x Add Node (needs nesting)
|
2019-11-01 11:17:46 +00:00
|
|
|
- - View SACN
|
|
|
|
|
2019-11-01 12:46:40 +00:00
|
|
|
- Why does backspacing in text entry not save when you close and reopen the node lister?
|
|
|
|
|
2019-11-01 11:17:46 +00:00
|
|
|
Plan
|
2019-11-01 12:46:40 +00:00
|
|
|
x start with adding nodes
|
|
|
|
x push/pop an operation
|
|
|
|
x create operation structure
|
|
|
|
x static size of operations list
|
|
|
|
x move command registry out of search lister and text entry into operation
|
|
|
|
x initialize/cleanup add node operation
|
2019-11-01 11:17:46 +00:00
|
|
|
- extend to other operations
|
|
|
|
|
2019-10-30 16:10:15 +00:00
|
|
|
Hardening
|
|
|
|
- memory visualization
|
|
|
|
- separate rendering thread
|
|
|
|
- cache led positions. Only update if they are moving
|
|
|
|
x input context changes
|
|
|
|
- - shift drag to 10x drag speed
|
|
|
|
- select nodes -> delete nodes
|
|
|
|
- remove node connections
|
|
|
|
|
|
|
|
Name
|
|
|
|
- Splash screen (like blender) (thisll be fun)
|
|
|
|
- - Image importer (stb image? or find a png > bmp converter for the image you have)
|
|
|
|
- - Display on startup
|
|
|
|
|
|
|
|
/Debug
|
|
|
|
x Make debug scope tracking thread safe - was throwing an error in stringsequal but that stopped.
|
|
|
|
x Keep an eye out.
|
|
|
|
|
|
|
|
Application
|
|
|
|
- More efficient HSV <-> RGB
|
|
|
|
|
|
|
|
- Save and load a session
|
|
|
|
- - Serialize Nodes
|
|
|
|
- Don't render if the window isn't visible
|
|
|
|
|
|
|
|
Development
|
|
|
|
- Fix your scope time tracker to account for threads.
|
|
|
|
- Nest scope times so you can see totals/dig in
|
|
|
|
- Log memory allocations
|
|
|
|
|
|
|
|
Interface
|
|
|
|
- fullscreen
|
|
|
|
- In world interface elements
|
|
|
|
- - Handles for Patterns
|
|
|
|
- - UI Popups
|
|
|
|
- - Value modifiers
|
|
|
|
- Scroll view
|
|
|
|
- Update the text system - use system fonts
|
|
|
|
|
|
|
|
Switch To Nodes
|
|
|
|
x basic node elements
|
|
|
|
- - evaluation step (one node at a time)
|
|
|
|
- - selector node (has a list of connections that it can switch between)
|
|
|
|
- serialize
|
|
|
|
- delete nodes
|
|
|
|
|
|
|
|
Structure
|
|
|
|
- motion
|
|
|
|
|
|
|
|
Renderer
|
|
|
|
- Mouse Picking - point at a led and see info about it
|
|
|
|
- Camera: pan
|
|
|
|
- Camera: zoom
|
|
|
|
- Camera: leds always face camera
|
|
|
|
|
|
|
|
Resource Management
|
|
|
|
- TODO: Need to figure out which textures are currently in graphics memory and which need to be resubmitted
|
|
|
|
- Icons
|
|
|
|
|
|
|
|
Animation
|
|
|
|
- timeline
|
|
|
|
- create clips that play
|
|
|
|
- clips can have parameters that drive them?
|
|
|
|
- clips should have prerequesites
|
|
|
|
- - channels active
|
|
|
|
- - patterns active in the channel
|
|
|
|
- - when a clip is playing, it should just take over the whole structure
|
|
|
|
|
|
|
|
Command Line
|
|
|
|
- select a channel/pattern
|
|
|
|
|
|
|
|
Optimization
|
|
|
|
- patterns are asking to be multithreaded
|
|
|
|
- probably want to convert as much color functions to use u32 Packed Colors
|
|
|
|
- - Probably want to think about this more. What about supporting different color depths
|
|
|
|
- for different output devices?
|