What problem does it solve?
Developers working in the Gum UI codebase often cannot tell whether a piece of logic belongs in the Forms, Runtime, or Renderable layer, leading to misplaced code and confusion between Runtime types and backend renderables.
Core Features & Use Cases
- Layer Ownership Map: Defines what the Forms, Runtime (GueDeriving), and Renderable layers each own and how code is shared across backends like MonoGame, Skia, and raylib.
- Property Dispatch Guidance: Explains why CustomSetPropertyOnRenderable exists, its two dispatch styles (renderable-type vs runtime-type), and why runtime-type dispatch is the preferred direction.
- Use Case: When adding a new property to a control and wondering whether to dispatch on
renderableIpso is LineCircle or graphicalUiElement is CircleRuntime, this Skill tells you to prefer Runtime-type dispatch and why.
Quick Start
Ask which layer a given Gum class or property belongs in, for example whether a texture property should be dispatched on the renderable or the Runtime type.