0:14The only reason we are writing a user interface is to support our debug system
                    
                        0:14The only reason we are writing a user interface is to support our debug system
                     
                    
                        0:14The only reason we are writing a user interface is to support our debug system
                     
                 
                
                    1:08Since we are the only users of the UI, we don't care if it's not intuitive, as long as it provides efficient interaction at a low implementation cost
                    
                        1:08Since we are the only users of the UI, we don't care if it's not intuitive, as long as it provides efficient interaction at a low implementation cost
                     
                    
                        1:08Since we are the only users of the UI, we don't care if it's not intuitive, as long as it provides efficient interaction at a low implementation cost
                     
                 
                
                
                    3:22Our approach to UI code
                    
                        3:22Our approach to UI code
                     
                    
                        3:22Our approach to UI code
                     
                 
                
                    4:45Initial plan for today: Turning off the profiling visualization
                    
                        4:45Initial plan for today: Turning off the profiling visualization
                     
                    
                        4:45Initial plan for today: Turning off the profiling visualization
                     
                 
                
                    7:09The debug UI can be a nice complement live code editing
                    
                        7:09The debug UI can be a nice complement live code editing
                     
                    
                        7:09The debug UI can be a nice complement live code editing
                     
                 
                
                    9:19Change of plans: We'll get rid of the global debug variables
                    
                        9:19Change of plans: We'll get rid of the global debug variables
                     
                    
                        9:19Change of plans: We'll get rid of the global debug variables
                     
                 
                
                    10:30Moving global variables inside the debug state
                    
                        10:30Moving global variables inside the debug state
                     
                    
                        10:30Moving global variables inside the debug state
                     
                 
                
                    10:50Making sure all routines have access to the debug state
                    
                        10:50Making sure all routines have access to the debug state
                     
                    
                        10:50Making sure all routines have access to the debug state
                     
                 
                
                    12:22It will be better to access the debug state through the DebugGlobalMemory. Implementing DEBUGGetState
                    
                        12:22It will be better to access the debug state through the DebugGlobalMemory. Implementing DEBUGGetState
                     
                    
                        12:22It will be better to access the debug state through the DebugGlobalMemory. Implementing DEBUGGetState
                     
                 
                
                    17:15Testing. We got rid of those global variables
                    
                        17:15Testing. We got rid of those global variables
                     
                    
                        17:15Testing. We got rid of those global variables
                     
                 
                
                    18:19The memory for the DEBUGRenderGroup comes from the transient arena. It should come from the debug arena
                    
                        18:19The memory for the DEBUGRenderGroup comes from the transient arena. It should come from the debug arena
                     
                    
                        18:19The memory for the DEBUGRenderGroup comes from the transient arena. It should come from the debug arena
                     
                 
                
                    19:05Performing the DEBUGRenderGroup allocation inside DEBUGReset
                    
                        19:05Performing the DEBUGRenderGroup allocation inside DEBUGReset
                     
                    
                        19:05Performing the DEBUGRenderGroup allocation inside DEBUGReset
                     
                 
                
                    20:06Access to the debug state should imply its initialization
                    
                        20:06Access to the debug state should imply its initialization
                     
                    
                        20:06Access to the debug state should imply its initialization
                     
                 
                
                    22:20CollationArena will be a subarena of DebugArena
                    
                        22:20CollationArena will be a subarena of DebugArena
                     
                    
                        22:20CollationArena will be a subarena of DebugArena
                     
                 
                
                    23:50Initializing the debug RenderGroup
                    
                        23:50Initializing the debug RenderGroup
                     
                    
                        23:50Initializing the debug RenderGroup
                     
                 
                
                    24:32DEBUGReset will call BeginRender
                    
                        24:32DEBUGReset will call BeginRender
                     
                    
                        24:32DEBUGReset will call BeginRender
                     
                 
                
                    25:42DEBUGOverlay will call EndRender
                    
                        25:42DEBUGOverlay will call EndRender
                     
                    
                        25:42DEBUGOverlay will call EndRender
                     
                 
                
                    26:50The debug system shouldn't rely on the asset system; debug assets should be baked into the binary
                    
                        26:50The debug system shouldn't rely on the asset system; debug assets should be baked into the binary
                     
                    
                        26:50The debug system shouldn't rely on the asset system; debug assets should be baked into the binary
                     
                 
                
                    32:45If we want the debug system to have access to the asset system, we need to make sure that the asset system is initialized first
                    
                        32:45If we want the debug system to have access to the asset system, we need to make sure that the asset system is initialized first
                     
                    
                        32:45If we want the debug system to have access to the asset system, we need to make sure that the asset system is initialized first
                     
                 
                
                    33:58Implementing DEBUGStart and DEBUGEnd
                    
                        33:58Implementing DEBUGStart and DEBUGEnd
                     
                    
                        33:58Implementing DEBUGStart and DEBUGEnd
                     
                 
                
                    39:09Testing. Live code editing and debug services work together now
                    
                        39:09Testing. Live code editing and debug services work together now
                     
                    
                        39:09Testing. Live code editing and debug services work together now
                     
                 
                
                    40:10Resizing the profile view by changing its orthographic projection
                    
                        40:10Resizing the profile view by changing its orthographic projection
                     
                    
                        40:10Resizing the profile view by changing its orthographic projection
                     
                 
                
                    44:43The mouse pointer position should also be transformed
                    
                        44:43The mouse pointer position should also be transformed
                     
                    
                        44:43The mouse pointer position should also be transformed
                     
                 
                
                    45:27Controlling the placement of the profile rectangle
                    
                        45:27Controlling the placement of the profile rectangle
                     
                    
                        45:27Controlling the placement of the profile rectangle
                     
                 
                
                    49:57Adjusting lane heights
                    
                        49:57Adjusting lane heights
                     
                    
                        49:57Adjusting lane heights
                     
                 
                
                    53:37Displaying the profile rectangle so that we can debug the code that scales and positions it
                    
                        53:37Displaying the profile rectangle so that we can debug the code that scales and positions it
                     
                    
                        53:37Displaying the profile rectangle so that we can debug the code that scales and positions it
                     
                 
                
                
                
                    1:01:40@Miblo I appreciate that there are more robust ways of implementing such things, but would it be practical to use the debug data to drive some of the game's visual effects, e.g. fire or, more likely, some otherworldly magical entity or the display on an in-game computer? Maybe it could be a sort of Easter Egg for those of us who know how the game's made
🗪
 
                    
                        1:01:40@Miblo I appreciate that there are more robust ways of implementing such things, but would it be practical to use the debug data to drive some of the game's visual effects, e.g. fire or, more likely, some otherworldly magical entity or the display on an in-game computer? Maybe it could be a sort of Easter Egg for those of us who know how the game's made
🗪
 
                     
                    
                        1:01:40@Miblo I appreciate that there are more robust ways of implementing such things, but would it be practical to use the debug data to drive some of the game's visual effects, e.g. fire or, more likely, some otherworldly magical entity or the display on an in-game computer? Maybe it could be a sort of Easter Egg for those of us who know how the game's made
🗪
 
                     
                 
                
                    1:02:45@elxenoaizd There are magenta spikes in the debug graph that happens so fast we don't have time to click on them. How do we plan to catch those? Having the ability to step-over frame-by-frame would be useful, methinks. Another idea is to have the debug text left off at the last rect position we hovered at
🗪
 
                    
                        1:02:45@elxenoaizd There are magenta spikes in the debug graph that happens so fast we don't have time to click on them. How do we plan to catch those? Having the ability to step-over frame-by-frame would be useful, methinks. Another idea is to have the debug text left off at the last rect position we hovered at
🗪
 
                     
                    
                        1:02:45@elxenoaizd There are magenta spikes in the debug graph that happens so fast we don't have time to click on them. How do we plan to catch those? Having the ability to step-over frame-by-frame would be useful, methinks. Another idea is to have the debug text left off at the last rect position we hovered at
🗪