Currency Teaching Demos¶
This folder contains teaching and sandbox panels for the Currency system.
Unlike the panels in HostileConsumer, these demos are designed to demonstrate optional runtime seams, scene wiring, and UI integrations in a controlled environment.
Some panels here may temporarily configure runtime behaviour or rely on scene-specific components to illustrate particular features of the currency system.
Why These Panels Are Not Hostile Consumers¶
Panels in this folder may:
- Demonstrate scene bootstrap patterns
- Use UI elements such as currency bars
- Attach demo-only scene components
- Configure service composition for demonstration
- Illustrate workflows that normally require scene wiring
Because of this, they are not used as verification of the public API surface.
These panels exist purely for teaching, experimentation, and demonstration.
Hostile Consumer Note¶
Panels in this folder are not classified as hostile-consumer panels.
Some demos rely on scene-level behaviour such as:
- service bootstrapping
- UI bindings
- scene pumps (for example escrow expiry pumps)
- example adapters
These elements are used to keep demo scenes self-contained and easy to explore.
They do not represent required runtime architecture for projects using RevFramework.
Public API Usage¶
Even though these panels are not classified as hostile consumers, they still follow the same design discipline:
- Currency operations go through
ICurrencyService - Services are resolved through
CurrencyResolve - Mutations use public service operations or extension methods
- Audit metadata flows through reason / sourceId overloads
- Adapters are composed through CurrencyFactories
These panels do not:
- reference
.Internalnamespaces - use reflection
- bypass currency policies
- bypass adapters or runtime rules
The difference from hostile-consumer panels is that demo panels may rely on scene wiring or UI elements.
Examples of Demo Behaviour¶
Panels in this folder demonstrate real-world integration scenarios such as:
- Currency UI bars reacting to
OnWalletChanged - Scene bootstrap composition of currency services
- Escrow workflows with expiry pumps
- Inventory-backed currency adapters
- Runtime interaction with exchange tables
- Policy and caps behaviour in UI workflows
These examples help illustrate how the Currency system interacts with gameplay code, UI, and scene composition.
Relationship to Hostile Consumer Panels¶
RevFramework includes two categories of teaching panels.
HostileConsumer¶
Panels that:
- use only public APIs
- rely on documented runtime types
- do not modify runtime wiring
- verify that the public API surface is correct
These panels act as API verification tools.
Demo¶
Panels in this folder:
- demonstrate scene usage patterns
- show UI integrations
- illustrate service composition examples
- may rely on scene-specific behaviour
They are not part of the hostile-consumer API guarantee.
When to Use These Panels¶
Use demo panels when you want to:
- explore currency behaviour interactively
- verify UI bindings such as currency bars
- test service compositions in a scene
- experiment with escrow, exchanges, or adapters
- understand how currency interacts with other systems
Production projects should implement their own runtime wiring and UI logic, using these demos only as references.
Summary¶
The panels in this folder are sandbox teaching tools.
They illustrate how the Currency system behaves in real scenes, but they are not used to verify the public API surface.
For API verification panels, see the HostileConsumer folder.