SceneDocument class
The in-memory .fscene document: a GPU-free, encoding-independent
description of a scene that the encoders serialize and the realizer turns
into a live Node graph.
A document owns one global documentId and id-keyed pools of nodes, resources, skins, animations, and payloads, plus the scene-wide stage settings. Ids are minted from allocator; references between entities are by LocalId. This type holds the data only; encoding (JSON and packed binary), composition (prefab overrides), and realization live in separate layers.
Constructors
- SceneDocument({DocumentId? documentId, IdAllocator? allocator, StageMetadata? stage})
-
Creates an empty document. A new
documentIdandallocator(with a fresh session salt) are generated unless supplied.
Properties
- allocator → IdAllocator
-
Mints ids for this editing session. Continuing a loaded document uses a
new allocator with a fresh session salt.
final
-
animations
→ Map<
LocalId, AnimationSpec> -
Animations, keyed by id.
final
- documentId → DocumentId
-
The document's global id, minted once at creation.
final
-
featuresRequired
→ Set<
String> -
Features a loader must support to load this document; missing one means
it must refuse rather than load partially.
final
-
featuresUsed
→ Set<
String> -
Features this document uses. Informational unless also in
featuresRequired.
final
- formatVersion ↔ int
-
The coarse format version this document targets.
getter/setter pair
- generator ↔ String?
-
A human-readable producer string (for example the importer version).
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
-
nodes
→ Map<
LocalId, NodeSpec> -
Scene-graph nodes, keyed by id.
final
-
payloads
→ Map<
LocalId, PayloadSpec> -
The binary chunk manifest, keyed by id.
final
-
resources
→ Map<
LocalId, ResourceSpec> -
Shared resources (geometry, materials, textures), keyed by id.
final
-
rootNodes
→ Iterable<
NodeSpec> -
The root nodes, resolved from roots (skipping any dangling id).
no setter
-
roots
→ List<
LocalId> -
The document's root node ids, in order.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
skins
→ Map<
LocalId, SkinSpec> -
Skins, keyed by id.
final
- stage ↔ StageMetadata
-
Scene-wide, non-spatial render settings.
getter/setter pair
-
views
→ List<
RenderViewSpec> -
Serialized render views, in order. Each binds a camera node to a
target (a RenderTextureResource id, or null for the screen).
final
Methods
-
addAnimation(
AnimationSpec animation) → AnimationSpec -
Registers a pre-built
animationand returns it. -
addNode(
NodeSpec node, {bool root = false}) → NodeSpec -
Registers
nodein the document, optionally as aroot, and returns it. -
addPayload(
PayloadSpec payload) → PayloadSpec -
Registers a pre-built
payloadand returns it. -
addResource<
T extends ResourceSpec> (T resource) → T -
Registers a pre-built
resourceand returns it (preserving its type). -
addSkin(
SkinSpec skin) → SkinSpec -
Registers a pre-built
skinand returns it. -
animation(
LocalId id) → AnimationSpec? -
The animation with
id, or null. -
createNode(
{String name = '', TransformSpec? transform, List< ComponentSpec> ? components, int layers = 1, bool root = false}) → NodeSpec -
Creates a node with a fresh id, registers it (optionally as a
root), and returns it. -
newId(
) → LocalId - Mints a fresh, document-unique LocalId from allocator.
-
node(
LocalId id) → NodeSpec? -
The node with
id, or null. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
payload(
LocalId id) → PayloadSpec? -
The payload with
id, or null. -
resource(
LocalId id) → ResourceSpec? -
The resource with
id, or null. -
skin(
LocalId id) → SkinSpec? -
The skin with
id, or null. -
toString(
) → String -
A string representation of this object.
inherited
-
usedSessions(
) → Set< int> - The distinct session salts present across every id in the document.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited