Development updates ahead and debugger sneak peek
We're very excited to bring you another update on PanGui.
In the past, we teased that we’ll be publishing deep dive technical blogs; we had this grand vision of writing in-depth articles about various technical aspects of PanGui with great illustrations. The drawback was that writing and polishing these posts began to take days - even weeks - out of PanGui's development. In the end, we decided that it would be better to instead focus on building PanGui faster, and get it to open beta as fast as possible.
This has resulted in us being rather quiet while figuring out how to best bring you content and updates without hindering development - bringing us to today!
Smaller, Focused & More Regular Updates
We’re going to start sharing smaller and more regular development updates focused on features and basic progress overviews, as PanGui is finally in a suitable state for this. Creating cool demos is already a core part of our workflow; they guide development, indicating where we have missing features or room for improvement.
So, these updates will be shorter, more focused, and packed with demos and sneak peeks - giving you a clear look at how PanGui is progressing as we move toward open beta.
But first, a broader status update:
Broader Status Update
PanGui’s core C# library is maturing fast, and focus is shifting more and more to higher-level features and polish built on an increasingly firm foundation. Across the board, nearly every part of PanGui has been improved since we launched the website, and everything has moved much closer to a production-ready state. From memory management to layouting, input, accessibility, text, styling, rendering.
Work on C++ is well underway, and we’ve increased its priority, and now plan to release it in closed alpha around the same time the C# version enters open beta.
Introducing the PanGui Debugger
Now, let's talk about something we haven't actually shown or mentioned in public yet!
One of the numerous additions we've been working on over the last several months is the PanGui debugger. Built directly into PanGui, the debugger will make development and debugging smoother, faster, and a lot more intuitive - as well as provide you with detailed data on exactly what is happening, when it’s happening, why it's happening, and how long it's taking to happen.
The debugger boasts a wide variety of features:
- Basic performance profiling
- Pausing and stepping gui frames
- Inspecting and visualizing layouting, styling, interactables, rendering output, text, gui and input state, etc.
- Input recording and playback, as well as input scheduling during paused frames
- Issue logging
- Memory allocation and fragmentation overviews and visualizations
Here is a sneak peek of the profiler and input recorder features of the debugger. Keep in mind that we are still iterating on these features, and they will mature further over time.
In this clip we feature a couple of things worth mentioning:
- Idle FPS: No, that's not the debugger lagging! When the debugger doesn't have focus, we get to see that the FPS drops to 5 FPS, and speeds up when things happen. The idle FPS is configurable down to 0 FPS.
- Profiler: It's not replacing Superluminal, but it gives you a broad overview of the performance of your application, and indicates when you might need to investigate closer. It also provides additional context, such as how many passes each frame took, and a list of reasons for why additional passes were requested.
- Input recorder: We can record and play back input, sped up or slowed down. Input recording is not something we've seen before, but we think it makes a lot of sense for UI work. Imagine working on tweaking an animation; now you can record the input to trigger the animation, play it on repeat, put it in slow motion, and tweak the animation in real time with hot reloading enabled.
- Frame stepping: Super useful for reproducing issues, or just to inspect the full state of a single frame. This is extremely useful together with the input recording feature.
Styling System up next
On top of that, the PanGui styling system is almost finished - so make sure to hang around for a demo and preview of that very soon. We think it rivals (and in many respects exceeds) CSS in terms of features, capabilities and ease-of-use, and we're very excited to show it off.
Closing Thoughts
Finally, we want to thank you for your patience, and for being part of this journey. Big things are coming, and we’re thrilled to finally start showing you what we’ve been working so hard for.
All the best,
The PanGui Team
PS. We encourage you to go join our discord if you haven’t already - to ask questions and chat with fellow developers about new features. See you there!