@web-engine-dev/resources / ResourceRegistryImpl
Class: ResourceRegistryImpl
Global registry mapping resource typeId strings to their schemas and descriptors.
Provides iteration over all registered scene resources (for serialization) and sorted access (for editor UI display order).
Remarks
Thread-safety: This registry is expected to be populated at module load time and read during runtime. It is not designed for concurrent writes. Registration should occur before any systems start reading from it.
Constructors
Constructor
new ResourceRegistryImpl():
ResourceRegistryImpl
Returns
ResourceRegistryImpl
Accessors
size
Get Signature
get size():
number
The number of registered scene resources.
Returns
number
Methods
[iterator]()
[iterator]():
Iterator<[string,ResourceRegistryEntry]>
Iterate all registered scene resources as [typeId, entry] pairs.
Iteration order is insertion order (Map semantics).
Returns
Iterator<[string, ResourceRegistryEntry]>
clear()
clear():
void
Remove all entries from the registry.
Intended for use in test harnesses to reset state between tests. Production code should not call this.
Returns
void
getByDescriptor()
getByDescriptor<
T>(descriptor):ResourceSchema|undefined
Look up a schema by its resource descriptor.
Extracts the string key from descriptor.type. If the descriptor uses a symbol-based type (from defineResource), this returns undefined because scene-serializable resources must use string-based types.
Type Parameters
T
T
Parameters
descriptor
The resource descriptor to look up
Returns
ResourceSchema | undefined
The resource schema, or undefined if not found
getByTypeId()
getByTypeId(
typeId):ResourceRegistryEntry|undefined
Look up a registry entry by its typeId string.
Parameters
typeId
string
The stable type identifier from the schema
Returns
ResourceRegistryEntry | undefined
The registry entry, or undefined if not found
register()
register<
T>(descriptor,schema):void
Register a scene resource with its schema.
Type Parameters
T
T
Parameters
descriptor
The resource descriptor (must have a string type matching schema.typeId)
schema
The resource schema defining fields, defaults, and serialization metadata
Returns
void
Throws
If a resource with the same typeId is already registered
sortedEntries()
sortedEntries():
object[]
Returns all entries sorted by displayOrder (ascending).
Schemas without a displayOrder property default to Infinity, placing them after all explicitly ordered entries. Entries with equal order are sorted by typeId for deterministic output.
Returns
object[]
Sorted array of entry objects with typeId, descriptor, and schema