Skip to content

Documentation / scene / SerializableClass

Type Alias: SerializableClass ​

SerializableClass = object

Defined in: libs/scene/src/utility/serialization/types.ts:286

Descriptor for a serializable class/type.

This defines how a class is identified, constructed, and inspected for properties. Editors and serializers can use this metadata to instantiate objects, load initial parameters, and enumerate property accessors.

Properties ​

ctor ​

ctor: GenericConstructor

Defined in: libs/scene/src/utility/serialization/types.ts:288

Concrete constructor for the serializable class.


parent? ​

optional parent?: GenericConstructor

Defined in: libs/scene/src/utility/serialization/types.ts:290

Optional parent/superclass constructor to represent inheritance in tooling.


noTitle? ​

optional noTitle?: boolean

Defined in: libs/scene/src/utility/serialization/types.ts:292

If true, suppresses title rendering in UI for compact displays.


name ​

name: string

Defined in: libs/scene/src/utility/serialization/types.ts:294

Display name used by tooling and editors.


createFunc? ​

optional createFunc?: (ctx?, init?) => { obj: any; loadProps?: boolean; } | Promise<{ obj: any; loadProps?: boolean; }>

Defined in: libs/scene/src/utility/serialization/types.ts:305

Custom factory to create an instance and optionally control property loading.

If loadProps is false, the caller may skip default property loading (useful for lazy or staged initialization).

Parameters ​

ctx? ​

any

Optional construction context (editor/runtime-specific).

init? ​

any

Optional initialization payload.

Returns ​

{ obj: any; loadProps?: boolean; } | Promise<{ obj: any; loadProps?: boolean; }>

The created object and a loadProps hint.


getInitParams? ​

optional getInitParams?: (obj, flags) => any

Defined in: libs/scene/src/utility/serialization/types.ts:318

Extracts initialization parameters from an instance suitable for re-creation.

This is the inverse of createFunc's init argument, enabling round-trip serialization of constructor/initializer data.

Parameters ​

obj ​

any

The instance to introspect.

flags ​
saveProps ​

boolean

Returns ​

any

An initialization payload (serializable).


getProps ​

getProps: () => PropertyAccessor<any>[]

Defined in: libs/scene/src/utility/serialization/types.ts:326

Enumerates property accessors for this class.

The returned list defines the full set of serializable/editor-visible properties.

Returns ​

PropertyAccessor<any>[]

Array of property accessors.

Released under the MIT License.