API 参考 / EffectPack
Class: EffectPack
Defined in: packages/natsume/src/pack.ts:71
Immutable inspection data; no renderer, camera, or runtime instance is created.
Constructors
Constructor
new EffectPack(
document,manifest,files,meshes):EffectPack
Defined in: packages/natsume/src/pack.ts:82
Parameters
document
DocumentT
manifest
Manifest
files
Map<string, Uint8Array<ArrayBufferLike>>
meshes
Map<number, MeshT>
Returns
EffectPack
Properties
manifest
readonlymanifest:object
Defined in: packages/natsume/src/pack.ts:75
Parsed manifest.json.
document
readonlydocument:"scene.noir"
files
readonlyfiles: readonlyobject[]
format
readonlyformat:"noa-package"
noir_version
readonlynoir_version: readonly [1,0]
version
readonlyversion:1
Accessors
components
Get Signature
get components(): readonly
object[]
Defined in: packages/natsume/src/pack.ts:102
All components of the document; narrow by dataType, or use findComponents.
Returns
readonly object[]
customComponents
Get Signature
get customComponents(): readonly
object[]
Defined in: packages/natsume/src/pack.ts:106
Components that carry a custom script.
Returns
readonly object[]
disposed
Get Signature
get disposed():
boolean
Defined in: packages/natsume/src/pack.ts:94
True after dispose(); reading package data then throws DISPOSED.
Returns
boolean
nodes
Get Signature
get nodes(): readonly
object[]
Defined in: packages/natsume/src/pack.ts:98
All nodes of the document.
Returns
readonly object[]
Methods
describe()
describe():
object
Defined in: packages/natsume/src/pack.ts:193
Summarizes counts, component types, scripts and required host inputs. Does not check playability.
Returns
object
components
readonlycomponents:object=counts
Index Signature
[key: string]: number
counts
readonlycounts:object
counts.animations
readonlyanimations:number
counts.assets
readonlyassets:number
counts.components
readonlycomponents:number
counts.materials
readonlymaterials:number
counts.nodes
readonlynodes:number
features
readonlyfeatures: readonlyobject[]
playbackReady
readonlyplaybackReady:false
requiredHostInputs
readonlyrequiredHostInputs: readonlystring[]
scripts
readonlyscripts: readonlyobject[]
dispose()
dispose():
void
Defined in: packages/natsume/src/pack.ts:263
Releases cached files, meshes and decoded pixels. Safe to call more than once.
Returns
void
findComponents()
findComponents<
K>(type,nodeId?): readonlyPackComponent<K>[]
Defined in: packages/natsume/src/pack.ts:140
Returns components of one type, optionally limited to a node, with typed data.
Type Parameters
K
K extends ComponentType
Parameters
type
K
nodeId?
number
Returns
readonly PackComponent<K>[]
findNodes()
findNodes(
name): readonlyobject[]
Defined in: packages/natsume/src/pack.ts:124
Lists every node with this exact name.
Parameters
name
string
Returns
readonly object[]
findNodesByPath()
findNodesByPath(
path): readonlyobject[]
Defined in: packages/natsume/src/pack.ts:128
Matches slash-separated node names from a scene root, e.g. "Root/Effect/Spark".
Parameters
path
string
Returns
readonly object[]
getAssetBytes()
getAssetBytes(
id):Uint8Array<ArrayBufferLike> |undefined
Defined in: packages/natsume/src/pack.ts:153
Returns a copy of an asset's bytes, or undefined if the ID is unknown.
Parameters
id
number
Returns
Uint8Array<ArrayBufferLike> | undefined
getComponents()
getComponents(
nodeId): readonlyobject[]
Defined in: packages/natsume/src/pack.ts:120
Lists the components attached to a node.
Parameters
nodeId
number
Returns
readonly object[]
getNode()
getNode(
id): {active:boolean;id:number;layerMask:number;name:string| {[key:number]:number;[toStringTag]:"Uint8Array";buffer: {[toStringTag]:"ArrayBuffer";byteLength:number;slice(begin?,end?):ArrayBuffer; } | {[toStringTag]:"SharedArrayBuffer";byteLength:number;slice(begin?,end?):SharedArrayBuffer; };byteLength:number;byteOffset:number;BYTES_PER_ELEMENT:number;length:number;[iterator]():ArrayIterator<number>;at(index):number|undefined;copyWithin(target,start,end?):this;entries():ArrayIterator<[number,number]>;every(predicate,thisArg?):boolean;fill(value,start?,end?):this;filter(predicate,thisArg?):Uint8Array<ArrayBuffer>;find(predicate,thisArg?):number|undefined;findIndex(predicate,thisArg?):number;forEach(callbackfn,thisArg?):void;includes(searchElement,fromIndex?):boolean;indexOf(searchElement,fromIndex?):number;join(separator?):string;keys():ArrayIterator<number>;lastIndexOf(searchElement,fromIndex?):number;map(callbackfn,thisArg?):Uint8Array<ArrayBuffer>;reduce(callbackfn):number;reduce(callbackfn,initialValue):number;reduce<U>(callbackfn,initialValue):U;reduceRight(callbackfn):number;reduceRight(callbackfn,initialValue):number;reduceRight<U>(callbackfn,initialValue):U;reverse():this;set(array,offset?):void;slice(start?,end?):Uint8Array<ArrayBuffer>;some(predicate,thisArg?):boolean;sort(compareFn?):this;subarray(begin?,end?):Uint8Array<ArrayBufferLike>;toLocaleString():string;toLocaleString(locales,options?):string;toString():string;valueOf():this;values():ArrayIterator<number>; } |null;parentId:number;transform: {position: {x:number;y:number;z:number;pack(builder):number; } |null;rotation: {w:number;x:number;y:number;z:number;pack(builder):number; } |null;scale: {x:number;y:number;z:number;pack(builder):number; } |null;pack(builder):number; } |null;pack(builder):number; } |undefined
Defined in: packages/natsume/src/pack.ts:112
Finds a node by ID.
Parameters
id
number
Returns
{ active: boolean; id: number; layerMask: number; name: string | {[key: number]: number; [toStringTag]: "Uint8Array"; buffer: { [toStringTag]: "ArrayBuffer"; byteLength: number; slice(begin?, end?): ArrayBuffer; } | { [toStringTag]: "SharedArrayBuffer"; byteLength: number; slice(begin?, end?): SharedArrayBuffer; }; byteLength: number; byteOffset: number; BYTES_PER_ELEMENT: number; length: number; [iterator](): ArrayIterator<number>; at(index): number | undefined; copyWithin(target, start, end?): this; entries(): ArrayIterator<[number, number]>; every(predicate, thisArg?): boolean; fill(value, start?, end?): this; filter(predicate, thisArg?): Uint8Array<ArrayBuffer>; find(predicate, thisArg?): number | undefined; findIndex(predicate, thisArg?): number; forEach(callbackfn, thisArg?): void; includes(searchElement, fromIndex?): boolean; indexOf(searchElement, fromIndex?): number; join(separator?): string; keys(): ArrayIterator<number>; lastIndexOf(searchElement, fromIndex?): number; map(callbackfn, thisArg?): Uint8Array<ArrayBuffer>; reduce(callbackfn): number; reduce(callbackfn, initialValue): number; reduce<U>(callbackfn, initialValue): U; reduceRight(callbackfn): number; reduceRight(callbackfn, initialValue): number; reduceRight<U>(callbackfn, initialValue): U; reverse(): this; set(array, offset?): void; slice(start?, end?): Uint8Array<ArrayBuffer>; some(predicate, thisArg?): boolean; sort(compareFn?): this; subarray(begin?, end?): Uint8Array<ArrayBufferLike>; toLocaleString(): string; toLocaleString(locales, options?): string; toString(): string; valueOf(): this; values(): ArrayIterator<number>; } | null; parentId: number; transform: { position: { x: number; y: number; z: number; pack(builder): number; } | null; rotation: { w: number; x: number; y: number; z: number; pack(builder): number; } | null; scale: { x: number; y: number; z: number; pack(builder): number; } | null; pack(builder): number; } | null; pack(builder): number; } | undefined