What a plugin is handed in install: the engine's registries, as this
plugin sees them.
Every registry here is scoped to the plugin being installed. What it registers is tracked and cancelled when the plugin is switched off, ranked by its place in the install order, and checked against its manifest — a view plugin is refused a step system here, at the call, with its name in the message.
The kernel's registries and the rest
loop and events are the kernel's and every engine has them. Everything
else — render steps, decoders, entity kinds, editor pieces, MCP tools —
is a PluginRegistry some package of the engine provides, looked up by
its type with registry. That is what lets a later step of the engine
add a registry without this interface changing: the package that fills a
registry declares it (DecoderRegistry in flutter3d_core,
EntityKindRegistry in flutter3d_sim, EditorRegistry in
flutter3d_editor_core, McpToolRegistry in flutter3d_mcp) and hands
it to the host. An engine without, say, an editor has no editor
registry, and a plugin that wants one either asks maybeRegistry or is
refused by name.
Made by the plugin host: base, so a member added in a later minor
arrives with a default.
Constructors
- PluginHost()
-
For the plugin host's own class, which extends this; a plugin is handed
one in
installand never makes its own.const
Properties
- apiVersion → PluginApiVersion
-
The plugin API this engine provides.
no setter
- backend → String?
-
The graphics backend the engine runs on, or null when it draws nothing
— a server, a test.
no setter
- events → EventRegistry
-
The event bus.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- loop → LoopRegistry
-
The loop's phases and systems.
no setter
- manifest → PluginManifest
-
The manifest of the plugin being installed.
no setter
- profile → SimulationProfile
-
What the simulation the plugin is installed in promises about its
numbers. A plugin that relies on a capability asks it
(
host.profile.isBitExact), never which profile it is.no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
maybeRegistry<
R extends PluginRegistry> () → R? -
The registry of type
R, or null when this engine has none. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registry<
R extends PluginRegistry> () → R -
The registry of type
R. Throws a StateError namingRand the plugin when this engine has none. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited