schema library
The component schema descriptor model, pure-data descriptions of
component types (properties, kinds, defaults, constraints) that travel
across process boundaries. See component_schema.dart for the model and
property_constraints.dart for the constraint taxonomy.
Classes
- AngleRadians
- A number stored in radians, displayed and edited in degrees.
- AssetExtensions
- Filters an asset picker to the given file extensions (with leading dots).
- ComponentPropertyDef
- A declared, editable property of a component type: the single source of truth for its name, carried kind, default, constraints, and docs.
- ComponentSchema
- A component type's full schema, the unit that travels (dev channel, project cache, package manifests, MCP).
- GizmoArrow
- An arrow from the node origin along a node-local axis.
- GizmoColor
- A color parameter, a literal linear RGBA or a binding to a color/vec3 property. A null GizmoPrimitive.color means the editor theme's gizmo color (accent when selected).
- GizmoCondition
- Draws a primitive only when the property at path equals equals, for union-kind properties (a collider's shape variant).
- GizmoFrustum
- A perspective view frustum opening along node-local +Z (the engine camera looks along its node's local +Z).
- GizmoIcon
- An unscaled billboard glyph at the node origin, the component's clickable presence when the node has no mesh.
- GizmoLines
- Literal node-local line segments, consumed as point pairs.
- GizmoPrimitive
- One drawable unit of a gizmo. Subtypes carry their geometry parameters; the shared fields govern visibility, color, and conditional drawing.
- GizmoScalar
- A scalar parameter, a literal or a binding to a numeric property.
- GizmoSpec
- The declarative gizmo block a component schema carries, an ordered list of primitives the editor draws for components of that type.
- GizmoWireBox
- A wireframe box, sized by literal half extents or a bound vec3 property.
- GizmoWireCapsule
- A wireframe capsule centered on the node origin, its length along axis.
- GizmoWireCircle
- A wireframe circle centered on the node origin, in the plane normal to axis.
- GizmoWireCone
- A wireframe cone with its apex at the node origin, opening along axis.
- GizmoWireCylinder
- A wireframe cylinder centered on the node origin, its length along axis.
- GizmoWireRect
- A wireframe rectangle centered on the node origin, in the plane normal to axis.
- GizmoWireSphere
- A wireframe sphere (three great circles).
- IntRange
- A hard inclusive clamp on an integer value; a null bound is open. Inspector, stepper or slider when both bounds are present.
- LayerMask32
- A 32-bit bitmask (collision layers/masks, render layers). Inspector, a bitmask editor.
- MinCount
- A list must hold at least count entries.
- Multiline
- A multi-line text field.
- Normalized
- A vector normalized on write (joint axes).
- PowerOfTwo
- An integer constrained to powers of two within min..max (shadow map resolutions). Inspector, a dropdown of the powers in range.
-
PropertyConstraint<
T> - A single declared constraint on a property value.
- Range
- A hard inclusive clamp on a numeric value; a null bound is open. Inspector, clamped field. Coercion and realize clamp into range.
- RgbColor
- A vec3 that carries a linear RGB color (light colors), edited with a color picker while staying vector-encoded for document compatibility.
- SoftRange
- The slider range for a numeric value, presentation only; values outside it remain valid, unlike Range.
- SortedDescending
- A list of objects must stay sorted by strictly descending fieldName (LOD levels by screen size).
- Step
- The scrub/step increment for a numeric field.
- TextPattern
- A soft-validated regular expression on a string (diagnostic, not a rejection).
- UnknownConstraint
- A constraint tag this build does not recognize, preserved verbatim so a re-encode never drops newer metadata.
Enums
- ComponentPropertyKind
- The editable type of one component property, used by the inspector to pick a widget, by tooling to validate input, and by the format to know how a value is carried.
- GizmoVisibility
- When a primitive draws relative to the owning node's selection state.
Functions
-
decodeComponentSchemas(
Object? json) → List< ComponentSchema> - Decodes a schema list, skipping malformed entries.
-
encodeComponentSchemas(
Iterable< ComponentSchema> schemas) → List<Object?> - Encodes a schema list (a manifest or cache payload).
-
propertyValuesEqual(
PropertyValue? a, PropertyValue? b) → bool -
Whether
aandbcarry the same value, comparing structurally (vectors by components, lists and maps element-wise, refs by id).