TODO FOLDHAUS BUGS - Typing a period into a float value doesn't register. Problem here is that we arent' translating key presses into characters at the win32 layer. Need to do that. Hardening - turn the default sculpture view into an operation mode ? (have to think about this) - Then we want to think about separating out mode render functions from mode update functions. Not sure its necessary but having something that operates like an update funciton but is called render is weird. Might want some sort of coroutine functionality in place, where modes can add and remove optional, parallel update functions - memory visualization - - Log memory allocations - separate rendering thread - cache led positions. Only update if they are moving - - shift drag to 10x drag speed UI Improvements - highlight node field under active edit - draw cursor in node field under active edit x print node field names on hover or on the node - Mouse Held Commands - Actual cursor states API Improvements x Clean up DrawString... good lord x Add Text Alignment to DrawString - Investigate why we're giving nodes bounds :NodesDontNeedToKnowTheirBounds - - Cant we just calculate this at render time? - Move nodes over to referencing eachother based on a UID system - separate out interface nodes from computation nodes (interface in a binary/quad tree?) Application - More efficient HSV <-> RGB - Save and load a session - 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 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 - selector node (has a list of connections that it can switch between) - delete nodes - remove node connections - Serialize Nodes - evaluation step (one node at a time) 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? 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