plugins library
The flutterware plugin contract.
Pure Dart on purpose — nothing here may import package:flutter. A
project's tool/flutterware.dart runs under a plain dart run, and every
type below has to survive the trip to a CLI, a file projection or an agent,
not just to the GUI.
Classes
- ActionOption
- One legal value of a ActionParameterKind.choice parameter.
- ActionParameter
- One argument of a PluginAction.
- Address
-
Where something is — the one identifier the GUI,
fw, MCP and an artifact all carry. - AppStoreListing
- See Listing.appStore.
- Artifact
- What a job hands back.
- Assets
- Everything a package's bundle resolves to — declared assets, the density variants beside them, the fonts, and whatever its dependencies contribute.
- AssetsPackage
- ChangesConfig
- A project's ranking rules for the changes screen.
- CommandRun
- See StackRun.command.
- DefineSource
- Where a Knob's value or offered values are found.
- Dependencies
- Pub dependencies, per declared package.
- DependenciesPackage
- Device
- One device an address may name.
- DeviceInsets
- A device's safe areas, as one value.
- Devices
- The devices worth offering, which is not all of them.
- DevStack
- A long-lived external thing whose lifecycle is delegated to project commands and whose state is polled — the docker stack, the emulator suite, the database container the app talks to in development.
- Entrypoint
-
One
main()a package can be launched from. - FilePerLocaleCatalog
- See TranslationCatalog.new.
- FlutterSdkSource
- See DefineSource.flutterSdk.
- Flutterware
-
Entry point for a project's
tool/flutterware.dart: - FlutterwareConfig
-
The object a project's
tool/flutterware.dartconfigures. - FuzzyMatch
- A successful match: a score (higher is better) and the character indexes in the target that the query matched, for highlighting.
- Guard
- A plugin's objection to tearing a worktree down, raised before the checklist renders.
- HostAddressesSource
- See DefineSource.hostAddresses.
- Knob
-
One knob an entry point's
maintakes, annotated. - LauncherIcon
-
The launcher-icon editor. Only meaningful for packages that are apps, so it
deliberately offers no
each— naming them is the point. - LauncherIconPackage
- Lints
- Lints — which analyzer rules this repo evaluated, and which it never did.
- Listing
- One store's listing: its device classes and its locales.
- LocalesPerKeyCatalog
- See TranslationCatalog.localesPerKey.
- NativeSplash
-
The native splash screen: what
flutter_native_splashwill produce, on every surface and in both themes. - NativeSplashPackage
- Pkg
-
A package in the project, declared once in
tool/flutterware.dartand referenced by every plugin that operates on it. - PlayListing
- See Listing.play.
- Plugin
-
A plugin as a project declares it in
tool/flutterware.dart. - PluginAction
-
Something a plugin can do, offered identically to a button,
fw run, and an agent. - PluginChild
- A sub-entry of a plugin — in practice, one of its packages.
- PluginDeclaration
- One declared plugin, as read back by the GUI.
- PluginManifest
- The decoded manifest.
- PluginPackage
- Base for a plugin's per-package entry.
- PluginReport
- Everything a plugin says about itself right now — all of it data.
- PluginResult
- What an action hands back when it hands back data rather than a file.
- PluginView
- A plugin's answer to "what are you showing right now?", as data.
- PreviewCanvas
- The devices one subtree of a package is meant to be seen on.
- Previews
-
Previews — your
@Previews, rendered in the embedded engine. - PreviewsPackage
- Probe
- How a DevStack finds out what state it is in.
- ProducesArtifacts
- A result that also produced files worth handing over as files.
- ProjectIdentity
- The package that stands for the whole repository, and its picture.
- Renders
-
The app's render points — widgets and documents bound in a
@RenderRegistry()registrar, rendered as SVG, PNG or PDF in the studio and from a server throughfw render bundle. - RendersPackage
- ReportsFailure
- A result whose action succeeded while the thing it ran did not — a red scenario suite, a failing analysis, a build that produced diagnostics.
- ResultField
- ResultShape
- The wire shape of what an action returns.
- Run
- Running the app on a device: what is connected, what is free, what is already running where — across every worktree of the repo, not just this one — and launching an entry point onto it.
- RunPackage
- Scenarios
-
Scenarios — app tests with per-step screenshots, run under FakeAsync in a
directly-spawned
flutter_tester. - ScenariosPackage
- ScenarioTime
- Scene
-
The scene editor: WYSIWYG scenes and the motion that animates them, in
files this tool owns end to end (
*.scene.dart). - ScenePackage
- ScriptRun
- See StackRun.script.
- ScriptSource
- See DefineSource.script.
- SearchHit
- One result: where it is, why it matched, and how well.
- ServerInspection
-
Live inspection of the project's Dart servers: HTTP requests, SQL queries
and logs, reported from inside the running process by
package:flutterware/server.dart. - StackCommand
- One more thing a DevStack's CLI can be asked to do.
- StackRun
-
Something a DevStack runs: the probe,
start,stop, a StackCommand. - StagedViewport
- A screen to render a preview on, as it travels from the host to a harness.
- Status
- A plugin's whole state reduced to one line.
- StatusBadge
- A per-plugin or per-worktree glyph small enough for a tab or a switcher row.
- StoreCanvas
- The image a store receives, in physical pixels.
- StoreShots
- Store screenshots — the named shots of a package's scenarios, at the sizes two stores publish, in a tree an upload tool reads.
- StoreShotsApp
- One app: where its code is, what it is called, and where it ships to.
- StoreTarget
- One point of a listing, with both stores' vocabularies already resolved — what everything downstream of the declaration consumes.
- TeardownStep
- One checkable step in the "close this worktree" checklist.
- TranslationCatalog
-
One catalog, as
tool/flutterware.dartdeclares it. - Translations
- Translations — which key is on which screen, and a picture of it.
- TranslationsPackage
- ViewField
- A labelled value — the workhorse.
- ViewItem
- One row of a ViewItems list: a name plus optional trailing state.
- ViewItems
- A flat list — catalog entries, failing tests, running processes.
- ViewNode
- ViewSection
- A titled group. The only node that nests.
- ViewTable
- A table with a header row. Columns are aligned in the text rendering.
- ViewText
- A free line of prose — a summary, a hint, an error message.
- Worlds
- Worlds: several people on your real server, set up by a script.
- WorldScript
- One world: its file, and what to call it.
- WorldsPackage
Enums
- ActionParameterKind
- What a parameter accepts — the smallest vocabulary that lets a renderer build an input and an agent know what is legal.
- AppStoreClass
- A display class of Apple's, and the device that renders it.
- DeviceKind
- What silhouette to draw around a screen, if any.
- DevicePlatform
-
Ours rather than
TargetPlatform, which is Flutter-only. Translated at the one place a frame is drawn. - GuardLevel
- How strongly a guard objects to closing a worktree.
- KeyboardMode
- Whether the software keyboard follows the app, or the person looking at it.
- KeyboardVariant
- Which keyboard a field asked for — what a platform draws, not only how tall it is.
- PlayClass
- A device class of Google Play's, the device that renders it, and the canvas it has to land on.
- ProbeShape
- How a Probe's output is read.
- RunPlatform
- What an Entrypoint can run on — one of Flutter's platforms, or a shorthand for a group of them.
- ScenarioNetwork
- ScreenOrientation
- Which way up a device is — an axis applied on top of a Device, not a device of its own.
- SearchReason
- What a hit is — the chip on a result row.
- StatusBadgeKind
- How a badge renders: nothing, a coloured dot, or a small count.
- StoreLayout
- How the exported tree is laid out.
- TeardownPhase
- When a teardown step runs relative to the others. Steps run in phase order; the built-in "remove the git worktree" step always runs last.
- Tone
- Severity of a piece of plugin state, independent of how it is rendered.
Constants
- fitDeviceId → const String
-
What
?device=means "no device at all": the panel itself, at whatever size the window happens to be. - foldersConfigKey → const String
-
The config key a plugin sets to
truewhen it addresses a package's folders apart, which is what lets one package be declared once per folder. - manifestVersion → const int
-
What
tool/flutterware.dartprints: the project's plugin declarations. - previewPanelHeight → const int
- previewPanelWidth → const int
- The rectangle an entry under no canvas is framed as, in logical pixels at a ratio of 1.
Properties
-
deviceIds
→ List<
String> -
Every value
?device=accepts, fitDeviceId first.no setter -
keyboardModeIds
→ List<
String> -
Every value
?keyboard=accepts, the default first.no setter -
orientationIds
→ List<
String> -
Every value
?orientation=accepts, portrait first.no setter
Functions
-
canvasFor(
List< PreviewCanvas> canvases, String path) → PreviewCanvas? -
The canvas that applies to
path, or null when none of them does. -
deviceById(
String id) → Device? -
The device
idnames, or null for fitDeviceId and for anything unknown — which the caller must tell apart, because one is a choice and the other is a mistake. See isDeviceId. -
fuzzyMatch(
String query, String text) → FuzzyMatch? -
Case-insensitive subsequence match of
queryagainsttext. Null when not every query character is found in order. -
isDeviceId(
String id) → bool -
Whether
idis a value this build accepts at all. -
isKeyboardModeId(
String id) → bool -
Whether
idis a keyboard mode this build accepts. -
isOrientationId(
String id) → bool -
Whether
idis an orientation this build accepts. -
keyboardModeById(
String id) → KeyboardMode? -
The keyboard mode
idnames, or null for anything unknown. -
keyboardVariantForName(
String name, {bool signed = false}) → KeyboardVariant -
The variant a field asking for
namegets. -
orientationById(
String id) → ScreenOrientation? -
The orientation
idnames, or null for anything unknown. -
searchReport(
PluginReport report, String query, {required String worktree}) → List< SearchHit> -
Everywhere in
reportyou could go that matchesquery, without asking the plugin for anything.
Typedefs
- ValueSource = DefineSource
- The new name for DefineSource, which no longer only feeds defines.