host library
Everything in this package, for the editor that hosts modules: the
registries a module never fills itself, how the scope is built, and
the parts of the services modules are not shown. A module imports
just_editor_core.dart instead.
Classes
- AddComponentCommand
- Adds a component to an entity.
- AddComponentPicker
- An expandable in-place panel that lets the user search for and add a component to the currently selected entity.
- Array3DSpec
- The 3-D designer's Array: how many copies of the selection, laid out how. Counts include the original.
- ArrayStep3D
- One copy an array makes, as a change to the original: turned by turn about about (its position, and its own turn when turnsItself), then moved by move.
- AssetAction
- Something a module offers to do with a file in the Assets dock.
- AssetDrop
- A file dropped on the viewport, for AssetKind.drop.
- AssetEntry
- One file or folder under the project's assets.
- AssetIndex
- Every file under a project folder, kept current as the disk changes.
- AssetKind
- What a file is, as far as the editor cares: how the asset browser draws it, what it can be filtered by, and what dropping it on the viewport makes.
- AssetKinds
- The kinds of file one editor knows: the modules' first, newest first, then the editor's own.
- AssetRefEditorRow
-
A project file picked by path: a box showing the path that opens a
searchable list of the files with one of extensions under
assets/(and the installed packages' aspackages/<name>/…). A file dragged from the editor's asset browser can be dropped on the box. - AssetReferences
- Which files mention an asset, and rewriting them when it moves.
- AudioDrop
- What an audio file dropped on the viewport becomes, and the source the editor's sound prefabs place.
- AxesFieldRow
-
A vector on one row: the field's label, then a scrubbable cell per axis —
Position X [ 0.0 ] Y [ 0.0 ]. Each cell's letter is its drag handle, in the axis colour the gizmos use. - BoolEditorRow
- An on/off field: a checkbox and "On" or "Off" in a box; a tap flips it.
- BuiltInTools
- Ids of the tools the editor itself provides.
- CallbackCommand
- A command built from two closures, for actions simple enough that a named class would be noise.
- CameraSyncingView
- A view that puts its own framing on the camera when it is shown — the 3-D view its orbit — rather than leaving the camera flat, as the 2-D view does.
- CollectionEditor
- Edits a list or a map field as rows, not as JSON.
- ColorEditorRow
- A colour field: a swatch and its hex code (or "Gradient") in a box that opens the editor's colour picker when tapped. With supportsGradient the picker offers gradients, and a tint over them, as well as a solid colour.
- CommandContext
- What a command is handed when it runs.
- CommandRegistry
- The commands one editor knows and the keys that run them.
- CommitTextField
- A text field that keeps what was typed when Enter is pressed or when it loses the focus — Tab, a click anywhere else — the one rule every typed field in the editor follows, and shows a value changed from outside, an undo say, whenever it is not being typed in. Esc puts back what was there and leaves the field.
- ComponentDrag
- What a drag carries: which component of which entity.
- ComponentDragGrip
- The grip at the left of a card's header: drag it to move the card. The inspector scrolls while it is held at the panel's top or bottom edge.
- ComponentDropZone
- A card a dragged one can be dropped on: above it in its top half, below it in its bottom half, a line showing which. A pinned card takes a drop only below it — nothing goes above it.
- ComponentEdit
- An edit of components made by code — a handle dragged, a collider fitted, a preset applied — recorded as one undo step of every saved field it changed, whatever those were. Several components edited together — a shape's size and where its entity stands, so one face stays put — are still one step.
- ComponentEditorExtras
-
Editor-only additions to how one component type is inspected, keyed by
its definition's
type. - ComponentEntry
- A single entry in the component picker catalogue.
- ComponentExtrasRegistry
- The extras registered with one editor, merged per type.
- ComponentFieldCommand
- Changes one field of one component, using the editor descriptor's own read/write closures.
- ComponentPlacement
- One card's place among the cards shown for its entity, and the moves it can make. shown is the movable cards' types, in order.
- ComponentPlaceMenu
- The ⋮ on a card's header: the moves, for the keyboard and for a place further than a drag comfortably reaches.
- CompositeCommand
- Several commands performed as one undo step.
- CreateEntitiesCommand
- Creates entities from component JSON, and destroys them again on undo.
- DefinitionSection
- The inspector for one component: header from its hints, a control per field from the scope's editors, and whatever extras the editor adds.
- DeleteEntitiesCommand
- Destroys entities, and rebuilds them from their captured state on undo.
- Designer3DState
- How the 3-D Level Designer is set up to build — the working plane it places on where nothing else is under the pointer, and whether that plane keeps to the selection — and how its view draws the scene: the view mode, the selection's outline, a slice.
- DesignerCanvas
- Drawing helpers for everything painted onto the level designer's viewport.
- DesignerCommand
- Something the editor can do on request: from a key, a menu, a module's own button. Identified by id so a binding can name it.
- DesignerConfig
-
The designer's tunables: which grid sizes the status bar offers, which
brush sizes
[and]step through, how many camera bookmark slots the digit keys address. - DesignerGeometry
- Geometry helpers shared by the designer's tools and painter.
- DesignerGuide
- A horizontal or vertical alignment guide.
- DesignerOverlay
- Something drawn over the level in the designer viewport.
- DesignerSession
- The Level Designer while it is open, as a module sees it: what its status-bar controls, side-panel sections and saved designer data are handed, and what a command run from the designer gets.
- DesignerToolContext
- What a tool needs from the designer session it belongs to.
- DockBadge
- The small marker on a dock's tab: a count, a dot for "something new".
- DockContext
- What a dock's content is built with.
- DockDefinition
- A dock in the bottom panel: a tab beside the built-in ones (Console, Assets, Timeline, Profiler, World…).
- DockMemory
- What a dock remembers between launches: its filters, its view mode, which folders were open. Small JSON-able values by key.
- DockReadout
-
A fact a module's dock puts on the status bar: a live value that is
always in view —
Waves 3 left— and a button to its dock, opened with openArgs. - DropdownEditorRow
- One text value out of a list, as an EditorDropdown whose entries read as the values themselves.
- EdgeInsetsEditorRow
- Space around something, as four numbers on one row.
- EditorAlert
- A small dialog in the editor's look: a title, what it is about, and the buttons — the one to press last and filled.
- EditorBadge
- A small status pill: tinted with its accent rather than filled with it.
- EditorButton
- A button with words on it, in the editor's colours whatever the ambient Material theme is.
- EditorCard
- A raised, bordered block of related things.
- EditorChip
-
A filter or a switch that says how many things it would show:
Errors 3. Lit while selected. -
EditorChoice<
T> - What the menu pops with. A wrapper, because a popup treats a null result as "dismissed" and a dropdown's value may legitimately be null-like.
- EditorChromeState
- What the editor's chrome remembers while it is open, per editor: the dragged width of the right panel and its tab, whether the settings dialog is open, which inspector cards and groups are folded, and the performance history the docks chart.
- EditorCommand
- One reversible editor action.
- EditorDialogFrame
- The frame the editor's big dialogs share — the sprite editor, the interface and tileset editors, the settings: the editor dimmed behind, and the dialog over it with room to spare at the edges, so opening one does not feel like leaving.
- EditorDivider
- A hairline between regions.
-
EditorDropdown<
T> - The editor's dropdown: a field the same height as the text and number fields beside it, opening a compact list directly below.
-
EditorDropdownOption<
T> - One choice in an EditorDropdown.
- EditorEmptyState
- What a panel shows when it has nothing to show, and what to do about it.
- EditorHistory
- The editor's undo/redo stack: one for the whole editor (the scope's), the Level Designer included.
- EditorHistoryMark
- An EditorHistory as it was at one moment (EditorHistory.mark), to go back to (EditorHistory.restore).
- EditorIconButton
- A small square icon button — the editor's one.
- EditorKeyClaim
- Keys a focused panel keeps for itself, ahead of the editor's shortcuts.
- EditorKeys
- The keyboard as the platform has it, in one place: which modifier the editor's shortcuts are made with, what it is called, and which keys delete.
- EditorLogConstants
- Limits of the editor's log: the lines it keeps and the file it writes.
- EditorLogEntry
- One line of the editor log: what the Console dock lists, and one JSON line of the saved log file.
- EditorLogService
- The editor's log: what the Console dock lists.
- EditorLogStorage
- Where the editor log's lines are kept between runs.
- EditorLook
- The editor's ambient look for what is under it: its text at the size and weight the settings ask for, motion as they allow, and one style of tooltip.
- EditorMarker
- A small icon the viewport draws at every entity of a kind, selected or not, so things with nothing to draw can be found at a glance: a camera, a spawn point, a light.
- EditorMessenger
- Wraps the editor overlay and provides EditorSnackBarController to the subtree; EditorSnackBarLayer draws what it holds.
- EditorMetrics
- The editor's sizes as the settings make them: radii from the corner radius, gaps from the density, durations from the animation speed — and the accessibility settings over all of them: bigger targets, no motion, longer timings.
- EditorModule
- Everything a project contributes to the editor, in one place.
- EditorModuleContext
- What a module is handed when it registers.
- EditorPrefs
- One editor's persisted preferences: the built-in overlay settings, typed, and an open set of keys for whatever a module wants to remember.
- EditorScene
-
A scene's name and how it is authored — the
nameandmodea scene file keeps beside itsentities. - EditorSceneState
-
The authoring state of the open EditorScene: selection, dirtiness, the
order of the top-level entities, and the transform edits the gizmos and
the inspector make on the live ECS world (
Entity/TransformComponent). - EditorScope
-
Everything one editor owns: its registries, services and state, in a
just_dicontainer that is disposed with it. - EditorScopeProvider
- Makes an EditorScope available to a widget subtree.
- EditorScrollbar
- A scroll bar that is always there when a list holds more than it shows.
- EditorSearchField
- A compact search box. onChanged fires as the text changes; the clear button empties it.
- EditorSectionHeader
-
The uppercase caption over a group:
LAYERS,MODULES. -
EditorSegmented<
T> - One of a few: the choices side by side, the picked one lit. Narrower than its labels, the choices share what there is.
- EditorSlider
- A continuous value: a slider to drag, and the number beside it to type.
- EditorSnack
- One snackbar that has been shown and not yet dismissed, with what it has heard from its task so far. Each keeps its own subscription and timer, so showing or minimising another never cuts its task off.
- EditorSnackBarController
- The snackbars of one editor: shows, minimises and dismisses them.
- EditorSnackBarEntry
- Data object describing a snackbar to show.
- EditorSnackBarLayer
- The snackbars showing, stacked newest at the bottom. Drop it in a Stack, positioned against the corner of the canvas it should sit in.
- EditorSnackBarStep
- A single step update emitted into an EditorSnackBarEntry.progressStream.
- EditorSwatches
- Round colour swatches, the picked one ringed.
- EditorTheme
- The editor's colours by name, each read from the palette the overlay last applied (current).
- EditorThemeData
- The editor's palette as a value, so it can change while the editor runs.
- EditorThemeScope
- Provides the current EditorThemeData to a subtree; rebuilds dependents when the controller changes.
- EditorToggle
- On or off: a small switch that takes the keyboard like a button.
- EditorToolbar
- A row of controls along the top of a dock, a panel or a dialog.
- EditorToolButton
- A toolbar's tool: bigger than an icon button, with the key that picks it in its corner — because the keys are what anyone doing this repeatedly will use; the buttons are for finding them. The tool in hand is filled and has a bar down its left edge.
- EditorView
- How the editor sees the scene: what it looks at, how close, and how to get between the screen and the world.
- EditorViewState
- One editor's view-only state: the entities hidden in the viewport and locked against picking, the entity the inspector is pinned to, and the selection's gizmo.
- EntityIcon
- An icon for an entity in the scene tree and the inspector's header, when a module knows better than the generic one.
- EntityLinkList
- A read-only list of references to other entities, shown by name and clickable, instead of as the ids the engine stores.
- EntityPicker
- Finds what is under the pointer, seen through an EditorView.
- EntityProtectionRule
- A module's say on which entities must not be deleted: EditorScope.isProtected is true for an entity any rule protects.
- EntityRayTest
-
Knows the real shape of some entities — a 3-D model's triangles — so a
pick lands on what is drawn, not on its box. Modules offer these
(
EditorModule.pickTests). - EntityRenameBox
- An entity's name, while it is being typed: Enter or a click elsewhere takes it, Escape throws it away. The scene tree's rows and the inspector's header both rename with it.
- EntitySnapProvider
- Snaps edges and centres to other entities and ruler guides.
- EntitySpec
- Name plus serialized components — enough to rebuild one entity — and where it goes in the tree.
- EntityStateCommand
- Rewrites entities in place between two captured states.
- EntitySurfaceTest
- Knows where a ray meets some entities' real surface and which way it faces there — a model's triangles, a 3-D shape's — so something placed on a slope or a ball sits on it, not on its box. Pick tests that know an entity's triangles offer it too.
- EntityVertexSource
- Knows the corners of some entities' real shape — a model's vertices, a 3-D shape's — so a move can put one thing's corner on another's (hold V while dragging). Pick tests that know an entity's triangles offer it too.
- FieldAccessory
- Something the inspector puts beside a component's fields, and tells of each edit made through them — the timeline's key button, which records what is changed while a timeline is open.
- FieldAccessoryContext
- One row of a component's fields, as a FieldAccessory is shown it.
- FieldEditorContext
- Everything a field editor is given: the field, its hint, the live value, and how to write it back.
- FieldEditorRegistry
-
Which control edits which
jge.FieldType, by type id. - FocusOutline
- An accent ring around child while something in it has the keyboard.
- GameCameraEditorView
- The 2-D editor view: the engine's main camera, driven directly while the editor authors (the brain is told not to).
- GettingStartedTip
- A line a module adds to the start card, the guide shown over the viewport while no scene is open: how to work with what the module brings. One sentence, or two short ones.
- GizmoConstants
-
The sizes and colours of the move, scale and rotate gizmos, shared by
the editor's drawing (
GizmoPainter,TransformGizmo) and hit-testing (GizmoHitTester) so what takes a press lines up with what is drawn. - GizmoModeSettings
- The gizmos of one GizmoMode: shown or not, and the kinds turned off within it.
- GizmoSettings
- The gizmos of every GizmoMode, each its own.
- GridSnapProvider
- Snaps the rectangle onto the grid: its top-left corner for squares, its centre for hexes — whatever the topology's GridTopology.snapRect does.
- GridTopology
- The shape of the cells the designer paints, snaps and fills on.
- GroupCommand
- Puts entities inside a new group entity.
- HandleClick
- A click on a ViewportHandle that did not drag.
- HandleDrag
- Where the pointer is in a drag of a ViewportHandle.
- HandleDragSession
- One drag (or click) of a ViewportHandle at a time: the handle under a press, the drag handed to it, and what it changed in its component recorded as one undo step when the press ends.
- HierarchySlot
- Where an entity sat: its parent (by id) and its place among its siblings, or among the roots.
- InspectorAction
- A button in a component's inspector header.
- InspectorField
- The inspector's field look: the label column, the box every control is drawn in, and the type in and beside it.
- InspectorSection
- A section a module adds to the inspector, after the component sections.
- KeyBinding
- A key chord that runs a command.
- KeyCap
-
A key as it is printed on a keycap:
Ctrl+Shift+Z. - LayerPreset
- A named draw-order layer the designer offers.
- LayerPresetRegistry
- The layers available in the designer.
- LevelAids
-
What a game kit knows about how its levels are played, for the Level
Designer's aids: how its player moves (movementOf), below what height
things are lost (killHeight), and how a play-test starts from a point
(playFrom). A module offers one (
EditorModule.levelAids); every module's is asked, whichever designer is chosen — it describes the game, not the tools. - LevelDesignerController
- Live state for the Level Designer workspace.
- LevelToolHandler
- A viewport tool: something that interprets pointer drags as an edit.
- LivePreview
- A value shown in the scene for a while without being recorded — what a colour picker writes while it is open — and then put back.
- MapLayerTreeItem
- A layer of a level map.
- MapTreeItem
- A row of the tree that is part of a level map rather than an entity: one of its layers.
- Material2DWorkspaceView
- A 2-D material window, for what modules add to it.
- Material3DWorkspaceView
- A 3-D material window, for what modules add to it.
- MiniColorField
- A bare colour swatch that opens the colour dialog: the same box, no label column.
- MinimizedSnacksChip
- The status strip's word on minimised snackbars: the latest one's title, how many there are, and a click to bring them back.
- MiniNumberField
- A bare number box: the inspector's field box with no label column. Kept on Enter, Tab or a click elsewhere; text that is not a finite number puts back the value it had.
- MiniTextField
- A bare line of text: the same box, no label column. Kept on Enter, Tab or a click elsewhere, as every typed field is.
- ModifierKeys
- The modifier keys held during a pointer gesture or a key press.
- ModuleRegistry
- The modules registered with one editor, and how their contributions reach the editor's registries.
- MovementProfile
- How a game's player moves, as far as a level's shape goes: how high and how far a jump carries it, how steep a slope it walks up, how high a step it takes. What the Level Designer's aids draw from.
- NumberScrubConfig
- Drag-to-scrub configuration for numeric inspector fields: how far a drag moves the value, how it is written, and the limits it is kept within.
- OffsetListEditorRow
- A list of points — a polygon's or a chain's vertices — as an x and a y box per point, a remove button on each, and "Add point" under them.
- OpenWorkspace
- A workspace that is open, and the file it was opened on.
- OverlayLayout
- Sizes of the overlay's frame, in logical pixels.
- OverlayOrder
- Conventional DesignerOverlay.order values for the built-in overlays, so a project can slot its own overlay into the right depth without guessing.
- OverlayPaintContext
- Everything an overlay needs to draw itself.
- OverlayPointerContext
- What an interactive overlay is given for a pointer event on the canvas, in screen space.
- OverlayRegistry
- The overlays available in the designer.
- OverlaySettingsPrefKeys
-
The keys the editor's own settings are kept under in its key-value
store, one for each field of
OverlayUiSettings, and the keys of what it keeps of the last session. - OverlaySettingsStore
-
The editor's settings in its key-value store: OverlayUiSettings under
the OverlaySettingsPrefKeys, each as text, beside the raw keys modules
keep through
EditorPrefs. Also turns the settings into an exported file and back. - OverlayUiSettings
- The editor's own preferences: how its chrome looks, how it can be made easier to use, how the viewport draws and snaps, how scenes are kept safe, and the keys that run its commands. Persisted by the settings store; modules keep theirs as SettingPrefs beside it.
- PackageAssetPaths
- Where asset paths live on disk.
- PackageAssetRoot
-
A package whose assets a project can use, as
packages/<name>/…. - PathBinding
- Tells PathTool which component on an entity owns a path, and how to read and write it.
- PathTool
- Edits a component's waypoint path directly on the canvas.
- PendingFieldEdits
- The typed fields that have the keyboard, and what each keeps.
- PerfHistorySample
- One frame's performance, as EditorChromeState.recordPerfSample took it from the debugger, for the docks' charts.
- Placement3D
- How something placed in 3-D is set down: turned upright or to stand on the surface, spun about its up, sized, and lifted so that its lowest point touches the surface, its middle over the point.
- PlacementRoll
- The random part of the next placement — a turn about its up and a size — rolled ahead, so the preview shows exactly what a click makes, and rolled again after each one.
- Point2
- Integer grid coordinate.
- PrefabCategory
- A palette group, with where it sorts. Prefabs name their category by label; a category nobody declares sorts after the declared ones.
- PrefabColours
- The colours the editor's own prefabs come in, by what they are for — for a module's prefabs to sit beside them.
- PrefabDefinition
- A ready-made entity the Level Designer can stamp into a level.
- PrefabFavourites
- The prefabs an author has marked as favourites, listed first in the palette. Per user, kept in the editor's preferences, by prefab id.
- PrefabOrigin
-
What a prefab instance records on an entity it made, which no codec
saves: its link (
PrefabLink) — the instance's top entity and where in the prefab this one is — and, on the top, the instance as loaded (PrefabInstanceComponent). - PrefabRegistry
- The palette of prefabs available in the Level Designer.
- PrefabVariant
- Another way to offer prefabs that are already there: each prefab it appliesTo is offered again with extra components added — a physics module's "Solid" and "Trigger" of every shape another module offers, without either knowing the other.
- ProblemFix
-
A way to put a problem right in one click —
Use "player". Each one is an ordinary edit: it goes on the undo stack like any other. - ProjectColours
-
The palettes and gradients a project keeps, and the colours this user
picked lately — one
ColourLibraryfor every colour picker in the editor. - ProjectFiles
- Writing, moving and naming the project's files safely.
- ProjectPhysicsLayers
-
The project's collision layers — their names, colours, descriptions and
which collide — from the project's layer file
(
jge.PhysicsLayers.defaultPath). - ProjectTags
- The tags a project knows, from three places:
- RayEntityPicker
- Picks in 3-D: the view's ray through the pixel (EditorView.screenToRay) against each entity's box in space, nearest first, each hit then checked against its real shape when an EntityRayTest knows it.
- RayTriangleHit
- Where a ray met a triangle list: how far along it (t, in units of its direction) and which way the triangle faced there.
- RayTriangles
- Rays against triangle lists: what a pick test that knows an entity's real shape — a model's mesh, a 3-D shape's — measures with.
- ReadonlyRow
- A label and a value that cannot be edited: the same box as the other rows, unfilled, with the value in quieter text.
- RemoveComponentCommand
- Removes a component from an entity.
- RenameCommand
- Renames an entity.
- ReorderCommand
- Moves one entity among its siblings, or among the roots.
- ReorderComponentsCommand
-
Puts an entity's components in a new order — a card dragged, or moved
from its menu, in the inspector. The order is the entity's
(
Entity.reorderComponents): what the inspector lists and what the scene saves; the game finds components by type, so it runs as before. - ReparentCommand
- Moves entities to a new place in the tree, as one undoable step.
- SceneCodec
- Encodes and decodes components for one editor, through the engine's definition registry.
- SceneModeFilters
- What an editor shows in each scene mode — one place, so the inspector, the timeline and the pickers agree.
- SceneProblem
- Something wrong with the open scene, said in words an author can act on.
- SceneStore
- Reads and writes the project's scene files.
- SceneSummary
- A scene as the Scenes list shows it, read from its file.
- SceneTree
- The rows to draw, and where the runtime section begins.
- SceneTreeAction
- An entry a module adds to an entity's context menu in the scene tree, offered too in the viewport's menu for an entity under the pointer.
- SceneTreeModel
- Works out the scene tree's rows from a world: build.
- SceneTreeRowButton
- A small button at the end of a row: the eye, the padlock, the swatch.
- SceneTreeRowDecoration
- Something drawn at the end of an entity's row in the scene tree: a badge, a toggle.
- SceneTreeRowTile
- An entity's row in the scene tree: its on-in-the-game box, the indent and chevron, its icon and name (or the rename box), any trailing badges, and its mark, eye, pin and menu buttons. Each button shows only when its callback is given.
- ScrubbableNumberField
- A number box whose label is its drag handle: drag the label sideways to scrub the value by the config's step, or type a number and keep it with Enter, Tab or a click elsewhere. Esc, with a change typed, puts back what was there; text that is not a finite number is refused the same way.
- ScrubFieldRow
- One number with its label as a drag handle (a ScrubbableNumberField): drag the label sideways to change it, or type a value and keep it with Enter, Tab or a click elsewhere.
- SelectionHandleLayout
- Where the select tool's handles sit and how they feel, in screen pixels.
- SetEnabledCommand
- Whether an entity is on or off in the game.
-
SettingPref<
T> - A preference a module keeps in the editor's settings store, typed.
- SettingRange
- A setting's allowed range, for the dialog's slider and for clamping a stored or imported value as it is read.
- SettingsSection
- A page a module adds to the editor's settings dialog, listed under Modules in its sidebar. Read and write your own SettingPrefs through EditorPrefs.
- SidePanelSection
- A collapsible section a module adds to the designer's side panel, under the built-in ones.
- SliderFieldRow
- A number between two limits as a slider, with the value beside it to type: for a setting whose range matters more than its digits.
- SmartSnap
- Snapping to other entities rather than to the grid.
- SnapGuide
- An alignment the moving selection snapped to, drawn as a guide line.
- SnapProvider
- One way of snapping. Providers are asked in descending priority; the first to answer for an axis wins that axis.
- SnapRequest
- What a tool asks when it wants something snapped.
- SnapResolver
- The providers of one session, resolved by priority.
- SnapResult
- How far to shift a moving rectangle so it lines up with its neighbours.
- SpaceContext
- What a 3-D tool knows of the pointer, besides what every tool does: the ray through it, what that ray meets, the working plane it builds on and how it snaps.
- SpacingGuide
- The gap between the selection and its nearest neighbour on one side.
- SquareGrid
-
The default grid: axis-aligned squares,
cellSizeon a side. - StatusBarControl
- A control a module adds to the designer's status bar.
- SurfacePoint
- A point on a surface in space and which way the surface faces there: where something placed from the viewport goes, and which way is up for it.
- TagReferences
- Finds, renames and removes tags in saved scene, prefab and timeline JSON.
- TagUse
- One place a tag is used in a saved scene or timeline.
- TextEditorRow
- A text field: a CommitTextField that wraps a long value onto up to four lines and keeps what was typed on Enter or when the field is left.
- ThemeController
- The editor's current palette and the presets it can switch between.
- ThemePreset
- A named palette the settings dialog offers.
- ThrottledSignalConsumer
- builder, built again when any of signals change, and when often changes — that one at most every every while it keeps changing: the first change after a still moment at once, the last one always.
- TiledObjectInfo
- An object from a Tiled map's object layers, as an importer sees it: already placed in the world, with plain values rather than Tiled's model.
- TiledObjectMapper
- Turns objects of a Tiled map into entities when the map is imported: a spawn point, a coin, a moving platform.
- ToolbarButton
- A button a module adds over the viewport: on the play toolbar after the built-in Play, Pause, Stop and Level Designer buttons, or in the column down the right (see slot).
- ToolContext
- Everything a tool needs to act, without reaching into the plugin.
- ToolGroup
- A part of the tool strip: the tools that do one kind of job, under a caption.
- ToolGroups
- The groups the tool strip divides tools into.
- ToolOptionsContext
- What a tool's options are built with, for the left of the designer's status bar.
- ToolRegistry
- The tools available in the designer's left-hand palette.
- TransformCommand
- Moves, rotates or scales one or more entities.
- TransformModes
- Which modes what is selected can take.
- TransformSnapshot
- A single entity's transform, captured so it can be restored exactly.
- TrashedAsset
- A file in the trash, able to come back.
- TreeFilter
- What the tree is narrowed to.
- TreeRow
- One line of the tree.
- UngroupCommand
- Takes a group apart: its children move up into its place, and the empty group goes.
- UniqueNamer
- Hands out entity names nothing else has.
- UnknownComponents
- The components a scene names that no registered definition can read, kept exactly as the file had them.
- UnknownComponentsCard
- What a scene named that nothing registered can read: listed, not editable, and saved back exactly as it came.
- ValidationContext
- What a validator looks at. File access goes through here so a check can be tested without a project on disk.
- ViewportHandle
- One point the author can drag.
- ViewportHandles
- Points a module lets the author drag in the viewport to edit the selected entity: a polygon's corners, a shape's size.
- ViewportLook
- How the viewport draws what the editor adds to the game — the grid, the handles, the selection — as the settings make it.
- ViewportOverlay
- Something a module draws over the editor's viewport, with the Level Designer open or not, as one of its gizmos (gizmoKind): a light's reach, a camera's frustum, a trigger volume in space.
- ViewportOverlayContext
- What a ViewportOverlay draws with, for one frame.
- WorkingPlane
- The plane a 3-D designer builds on where nothing is under the pointer: the ground at some height, or an upright wall at some depth.
- WorkspaceContext
- What a workspace's content is built with.
- WorkspaceContribution
-
Something a module adds to the window workspaceId (a
WorkspaceDefinition.id; the editor's own are in WorkspaceIds). - WorkspaceDefinition
- A large tool a module adds — a sprite editor, a dialogue graph — opened over the editor while the scene stays loaded underneath. One is open at a time. While one is, the level's tools, keys and play controls stand down.
- WorkspaceHeader
- The bar along the top of a workspace: what it is and what file it has open, whether that is saved, Save, Undo and Redo — then the workspace's own tools, and on the right full screen and close.
- WorkspaceIds
- The ids of the editor's windows that modules add to most.
- WorkspaceKeyScope
- Where a workspace's keys arrive.
- WorkspaceOverlay
- Drawn over the window's view — its preview, its canvas — filling it: build is given the view's size.
- WorkspaceSection
- A section of the window's panel, after the window's own: title its header, build what is under it.
- WorkspaceSections
- The WorkspaceSections modules add to view's window, each under its header: what a window puts in its panel after its own sections.
- WorkspaceTool
- A button on the window's toolbar, after the window's own.
- WorkspaceToolButtons
- The WorkspaceTools modules add to view's window, as buttons: what a window puts on its toolbar after its own.
- WorkspaceView
- What a window hands what modules add to it: which window it is, the file it has open, the editor — and changes, which fires when what it shows does, so what is built from it is built again.
Enums
- ArrayMode3D
- How the 3-D designer's Array lays copies out.
- AutosaveMode
- What the autosave does with a scene that has changed.
- ClosePrompt
- When closing a scene asks first.
- CommandScope
- When a command may run.
- DockSeverity
- How loudly a dock's badge speaks.
- DropZone
- Where a dragged row would land relative to the one under it.
- EditorButtonKind
- What a text button is for.
- EditorSnackBarType
- What kind of message a snackbar gives: its colour and icon, and whether the Messages setting lets it show (EditorSnackBarController.shows). One that follows a task shows whatever its type.
- GizmoKind
- A kind of gizmo, turned off or on by itself: right-click the Gizmos button.
- GizmoMode
- Where the editor is, for what it draws over the level: each place keeps its own gizmos, shown or hidden, and its own kinds turned off.
- MessageLevel
- Which messages show over the editor.
- OverlayDensity
- How tightly the editor's chrome is packed: the three steps the settings dialog offers for OverlayUiSettings.compactness.
- PaintMode
- What the paint tool does on drag.
- PivotMode3D
- Where the 3-D gizmo sits on what is selected, and what it turns and scales about.
- PrefabPlacement
- How a prefab is created in the viewport.
- ProblemSeverity
- How bad a SceneProblem is: the colour and icon it is shown with, and the Problems dock lists errors first.
- ResizeHandle
- One of the eight resize handles on a selection's bounds.
- TagUseKind
- Whether an entity carries the tag, or something points at it.
- ToolbarSlot
- Where a ToolbarButton stands over the viewport.
- ToolButton
- Which mouse button began a gesture.
- TransformMode
- Which gizmo the selection shows: the floating toolbar's buttons, Q, W, E and R. One for the editor and the Level Designer alike.
- UnsavedChoice
- What to do with work that has not been saved.
- ViewMode3D
- How the 3-D view draws the scene: as the game does, its colours only, its edges, or what things collide with.
- ViewportHandleStyle
- How a ViewportHandle is drawn.
- WorkingPlaneAxis
- Which way the 3-D designer's working plane lies.
- WorkspacePresentation
- How an open workspace sits in the editor.
Mixins
- InteractiveOverlay
- An overlay that also takes pointer input: rulers you drag guides out of, a minimap you click to jump. Offered every press before any tool, topmost first; the one that returns true from onPointerDown owns the gesture.
Extensions
- EditorLogSession on EditorLogService
-
What only the editor that hosts the log does with it: start capturing
for a session and stop. Exported by
host.dart; a module only logs. - EditorScopeHost on EditorScope
-
What only the editor that hosts a scope does with it: rebuild its
registries, add its own tools, and connect what the scope asks of the
editor's windows. Exported by
host.dart; a module never needs it. - EditorSnackBarTypeX on EditorSnackBarType
- The look of an EditorSnackBarType.
- OverlayDensityX on OverlayDensity
- What the settings dialog shows for an OverlayDensity, and the compactness it stands for.
Constants
-
kComponentGroups
→ const List<
String> - The order of the Add Component picker's sections, by group name.
- kTreeDropEdge → const double
- How near a row's edge a drop has to be, in logical pixels, to mean "between these two" rather than "inside this one"; never more than a third of the row (dropZoneFor).
Properties
- kSceneTreeRowTileHeight → double
-
The height the list lays a row out at.
no setter
Functions
-
askToRecover(
BuildContext context, {required String title, String? message}) → Future< bool?> - Offers work that was never saved — an autosaved backup: Recover (true), Open saved (false), or Cancel — which is null, and decides nothing.
-
askToSaveChanges(
BuildContext context, {required String title, String? message}) → Future< UnsavedChoice?> - Asks whether to save before something that would lose unsaved work: Save, Don't save, or Cancel — which is null.
-
buildComponentSections(
{required Entity entity, required EditorSceneState sceneState, required EditorScope scope, EditorHistory? history, World? world, }) → List< Widget> -
One inspector section per component on
entity, built from each component's definition. A component with no definition is not shown: it cannot be saved either. The exception is what the file named but nothing could read, which is shown — read-only — because it is saved. -
carriedWith(
Iterable< Entity> moving, {required World world}) → List<Entity> -
Everything under
moving— children, theirs, and so on — that is not moving itself: what goes along when a parent is moved or turned. -
createEditorLogStorage(
) → EditorLogStorage -
The storage for this platform: the log file with
dart:io, nothing on the web. -
detachEntity(
Entity entity, {required World world, required EditorSceneState sceneState}) → void -
Takes
entityout of whatever holds it — its parent's list of children, or the top-level order — leaving it parentless and in neither until it is placed again (placeEntity) or destroyed. -
dropZoneFor(
double dy, double height) → DropZone -
What a drop
dypixels down a rowheighttall means. -
editorFieldDecoration(
{String? hint, Widget? prefixIcon, Widget? suffixIcon, EdgeInsetsGeometry? contentPadding, String? suffixText}) → InputDecoration - The decoration every small field in the editor shares: a dark fill, a line that shows, the accent when it has the keyboard.
-
editorMaterialTheme(
[EditorThemeData? data]) → ThemeData - A Material theme in the editor's colours, for widgets from other packages that take their colours from Theme — the colour picker.
-
editorMenuDivider(
) → PopupMenuDivider - The rule between groups of items.
-
editorMenuHeading<
T> (String label) → PopupMenuItem< T> - A group's name, above the things in it. Not something to choose.
-
editorMenuItem<
T> (T value, String label, {bool enabled = true, Color? color, double height = 30, IconData? icon, Color? iconColor, String? shortcut, bool iconSlot = false}) → PopupMenuItem< T> - One line of a menu.
-
getComponentRegistryEntries(
EditorScope scope) → List< ComponentEntry> - Every component the picker can add: each runtime definition the scope knows.
-
isEscapeDown(
KeyEvent event) → bool -
Whether
eventis Esc going down: what puts a field's value back. -
isPinnedComponent(
Type type) → bool -
Whether components of
typekeep the first place and do not move: what an entity is placed by heads its list. -
isSelfOrDescendant(
Entity candidate, Entity entity, {required World world}) → bool -
Whether
candidateisentityor somewhere under it. -
mayLeaveUnsaved(
BuildContext context, {required bool dirty, required Future< bool> save(), String title = 'Save your changes?', String? message}) → Future<bool> - Asks what to do with unsaved work before leaving it, and does it.
-
openEditorDropdownMenu<
T> (BuildContext anchor, {required List< EditorDropdownOption< options, T? selected, bool searchable = false, T customValue(String typed)?, String customLabel(String typed)?, double fontSize = 11, double? width, double gap = 0}) → Future<T> >EditorChoice< T> ?> -
Opens an EditorDropdown's list below whatever
anchoris the context of — for a button that is not a dropdown field but offers the same list: a "⋮" menu's "Add tag…". Null when it was dismissed. -
paintViewportHandles(
Canvas canvas, List< ViewportHandle> handles, Offset? project(Vector3 world), {int activeIndex = -1}) → void -
Draws
handleswhereprojectputs them; the one atactiveIndexis held. -
parseTypedNumber(
String text, {NumberScrubConfig? config}) → double? -
A number typed into a field, or null for anything else — and for what
is not a finite number (
NaN,Infinity,1e999), which no scene file can hold, so a component holding one could not be saved. Withconfig, kept within itsminandmax, and whole when it is an integer. -
placeComponent(
List< Type> order, Type type, {Type? before, Type? after}) → List<Type> -
orderwithtypetaken out and put back just beforebeforeor just afterafter— at the end when neither is found. Pinned types stay first, as they were. -
placeEntity(
Entity entity, {required World world, required EditorSceneState sceneState, required HierarchySlot slot}) → void -
Moves
entityinto a slot, detaching it from wherever it is. -
reorderedTypes(
Entity entity, Type type, {Type? before, Type? after}) → List< Type> ? -
The order a set of moves leaves
entityin, or null when nothing moves. -
sampleViewport(
GlobalKey< State< key, Offset global) → Future<StatefulWidget> >Color?> -
The colour the viewport shows at
global, read off the game drawn underkey's repaint boundary — gizmos and all. Null away from the viewport. -
selectionToShapePaintStyle(
ColourSelection sel, {BlendMode blendMode = BlendMode.modulate}) → ShapePaintStyle -
selas a shape's paint. A gradient's tint becomes the style's colour, which the engine multiplies over the gradient byblendMode. -
shapePaintStyleToSelection(
ShapePaintStyle style) → ColourSelection -
styleas the picker's selection. With a gradient, the style's colour is the tint over it, and the solid colour to switch back to is the gradient's first. -
showEditorColourPicker(
BuildContext context, {required ColourSelection initial, ColourDialogView view = ColourDialogView.both, String? title, bool showTint = false, ValueChanged< ColourSelection> ? onPreview}) → Future<ColourSelection?> -
Opens the colour picker beside
context's widget, in the editor's look, offering the project's palettes and gradients and an eyedropper on the viewport. Each change goes toonPreviewwhile it is open; the choice comes back when it closes, null when cancelled. -
showEditorConfirm(
BuildContext context, {required String title, required String message, required String confirmLabel, bool danger = true}) → Future< bool> - Asks before something that cannot be taken back. True when the user went ahead.
-
showEditorMenu<
T> (BuildContext context, Offset at, List< PopupMenuEntry< items) → Future<T> >T?> -
Opens
itemsat the global pointat, in the editor's colours. -
showEditorMenuBelow<
T> (BuildContext anchor, List< PopupMenuEntry< items, {double gap = 4}) → Future<T> >T?> -
Opens
itemsgapbelow the widgetanchoris the context of: from its left edge, or — where there is no room to the right — its right edge, so a menu from a button at the end of a row opens inward instead of pressed against the header and the window's edge. -
tooltipWithShortcut(
String tooltip, String? shortcut) → String -
Label (Ctrl+S): a tooltip with the key that does the same, when there is one. -
workspaceOverlays(
WorkspaceView view, Size size) → List< Widget> -
The WorkspaceOverlays modules add to
view's window, over a view ofsize: each fills it, the first furthest back. What a window stacks over its view.
Typedefs
- FieldEditorBuilder = Widget Function(FieldEditorContext context)
- Builds the inspector control for one field.
- InheritedColor = ({Color color, String from})? Function(Component component, String field)
-
What
component's unset colour fieldfieldfalls back to, or null when this lookup has nothing to say about it. - PrefabPicture = Widget? Function(PrefabDefinition prefab, double size)
-
Draws
prefab's picture for the palette — a shape seen from above at an angle, a model's thumbnail —sizepixels square; null when it has none, and the palette shows its icon (seeEditorModule.prefabPictures). -
SceneValidator
= List<
SceneProblem> Function(ValidationContext context) -
One check over the scene. A module adds its own through
EditorModule.validators. - ScrollableBuilder = Widget Function(BuildContext context, ScrollController controller)
-
Builds a scrollable around
controller.