Skip to content

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 ​

readonly manifest: object

Defined in: packages/natsume/src/pack.ts:75

Parsed manifest.json.

document ​

readonly document: "scene.noir"

files ​

readonly files: readonly object[]

format ​

readonly format: "noa-package"

noir_version ​

readonly noir_version: readonly [1, 0]

version ​

readonly version: 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 ​

readonly components: object = counts

Index Signature ​

[key: string]: number

counts ​

readonly counts: object

counts.animations ​

readonly animations: number

counts.assets ​

readonly assets: number

counts.components ​

readonly components: number

counts.materials ​

readonly materials: number

counts.nodes ​

readonly nodes: number

features ​

readonly features: readonly object[]

playbackReady ​

readonly playbackReady: false

requiredHostInputs ​

readonly requiredHostInputs: readonly string[]

scripts ​

readonly scripts: readonly object[]


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?): readonly PackComponent<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): readonly object[]

Defined in: packages/natsume/src/pack.ts:124

Lists every node with this exact name.

Parameters ​

name ​

string

Returns ​

readonly object[]


findNodesByPath() ​

findNodesByPath(path): readonly object[]

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): readonly object[]

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

基于 Apache License 2.0 发布