Teaching — UI¶
This folder contains the shared IMGUI infrastructure used by RevFramework teachable panels.
It provides common support for:
- panel layout and chrome
- scaling and anchoring
- draggable/resizable panel behaviour
- feedback and result banners
- dependency/wiring guard messages
- shared section and help rendering
These scripts exist to keep teachable panels consistent, readable, and easy to extend.
What Lives Here¶
Typical contents include shared teachable-panel infrastructure such as:
TeachablePanelBase— standard lifecycle and panel rendering entry pointPanelBase— shared IMGUI layout, scaling, dragging, anchoring, resizing, and sizing helpersPanelDependencyGuard— standardised dependency/wiring callouts and hard-stop checksPanelFeedbackUtility— feedback box rendering for info/warning/error/success statesPanelResultUI— standard rendering for operation resultsPanelSections— shared section/header/help/button helpersOpResult— lightweight result model with UI-neutral severityStyleSizer— internal helper that scales the sharedGUIStylefont sizesTeachablePanelTheme— the shared colour and spacing constants every panel draws with
That is the whole folder. There is no PanelLayout type — this list named one for a long time, and layout lives in PanelBase itself (Row, RowAuto, Cols, and the reference-unit scaling around them).
Purpose¶
These utilities exist to support the teaching layer of RevFramework.
They are designed to make teachable panels:
- self-explanatory
- visually consistent
- easier to debug
- easier to maintain across systems
This helps the framework teach itself directly inside Unity, instead of forcing users to rely only on external documentation.
Not Gameplay UI¶
This folder is not a gameplay UI framework.
It is not intended for:
- in-game HUDs
- player-facing menus
- production UI architecture
- runtime feature UI systems
These scripts are built around IMGUI and are meant for teachable/debug tooling, not shipped player UX.
Intended Usage¶
Use this folder when you want to:
- understand how teachable panels are structured
- inspect the shared UI layer behind RevFramework teaching tools
- extend or maintain existing teachable panels in a consistent way
Design Notes¶
This UI layer intentionally:
- avoids direct dependencies on gameplay UI frameworks
- keeps feedback rendering standard across systems
- uses a shared panel lifecycle to reduce duplication
- separates result/status models from visual rendering
- supports lightweight dependency validation and guided callouts
This is part of the teaching ecosystem, not the public gameplay API surface.
Not a Public Runtime Surface¶
Although these utilities are shared across teachable panels, they should not be treated as a general-purpose extension framework for game UI.
If you are building a real game UI, use your own preferred approach:
- uGUI
- UI Toolkit
- a custom runtime UI layer
- another framework entirely
Safe to Remove¶
If you are not using RevFramework teachable panels, this folder can be removed safely.
Removing it does not affect:
- runtime systems
- supported gameplay APIs
- production integrations