-
Notifications
You must be signed in to change notification settings - Fork 2
Debugging and Instrumentation
Isthimius edited this page Jun 22, 2026
·
2 revisions
Gondwana is built to be inspectable. It exposes lifecycle events, logging infrastructure, debug overlays, and runtime sampling hooks that make it much easier to understand what the engine is doing.
The engine exposes events such as:
PreInitializationPostInitializationInitializationCompleteBeforeBackgroundTasksExecuteAfterBackgroundTasksExecuteBeforeFrameRenderAfterFrameRenderCPSCalculated
These are excellent places to attach diagnostics. See Gondwana Engine Lifecycle for a more detailed description of the available lifecycle hooks.
At the layer level you can turn on:
ShowGridLinesShowCollisionBoxes
Those are simple but very effective when debugging alignment, tile boundaries, or collision issues.
The engine routes logs through EngineLogger, so subsystems can emit structured logs without being tied to one UI or one host.
When debugging rendering, ask:
- is the scene actually dirty?
- is the change in world space or screen space?
- did the layer enqueue a refresh rect?
- did the view project it where I expect?
- did the backbuffer mark the screen region dirty for presentation?
That sequence usually gets you to the answer quickly.
Gondwana/Engine.csGondwana/Logging/EngineLogger.csGondwana/Scenes/SceneLayer.csGondwana/Rendering/Backbuffers/BackbufferBase.cs