ComponentCodec class abstract
Translates between a serialized ComponentSpec and a live Component of one type.
Codecs are registered in a FsceneComponentRegistry; the realizer and
serializer dispatch through it. This is the seam that lets the format
carry component types the core does not know about. Flat components are
better served by DeclarativeComponentCodec, which derives the schema,
realization, and delta serialization from one field list.
- Implementers
Constructors
Properties
- componentType → Type
-
The exact component runtime type this codec serializes, used for O(1)
serialization dispatch. Component (the default) means "unknown, fall
back to scanning claims".
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
-
propertySchema
→ List<
ComponentPropertyDef> -
The component's editable properties, in display order. Drives the
inspector, agent discovery, and default-filling on realize. Empty for
codecs that do not declare a schema.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- schema → ComponentSchema
-
The component's full portable schema. The default wraps type and
propertySchema; override to add docs, an icon, or former type names.
no setter
- type → String
-
The serialized component type name this codec handles (for example
directionalLight).no setter
Methods
-
boolDefault(
String name) → bool - The declared default for a ComponentPropertyKind.boolean property.
-
claims(
Component component) → bool -
Whether
componentis an instance this codec serializes. -
defaultOf(
String name) → PropertyValue? -
The declared default for property
name, or null when the property has no default (throws whennameis undeclared). -
intDefault(
String name) → int - The declared default for an ComponentPropertyKind.integer property.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
numberDefault(
String name) → double -
The declared default for a ComponentPropertyKind.number (or integer)
property
name, as a double. -
realize(
ComponentSpec spec, RealizeContext context) → Component? -
Builds a live component from
spec, or returns null when it cannot be realized in the given context (for example a mesh with no resource realizer). -
serialize(
Component component, SerializeContext context) → ComponentSpec? -
Serializes
componentto a ComponentSpec, or returns null if this codec does not handle that component instance. -
stringDefault(
String name) → String - The declared default for a ComponentPropertyKind.string property.
-
toString(
) → String -
A string representation of this object.
inherited
-
vec3Default(
String name) → Vector3 - The declared default for a ComponentPropertyKind.vec3 property (cloned).
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited