Skip to content

API reference / @jsprismarine/prismarine / SharedTerrainTileStore

Class: SharedTerrainTileStore ​

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:58

Shares a fixed number of immutable terrain tiles across workers, then falls back to local work.

Create one instance in the parent and pass it to DataDrivenGenerator. Worker pipelines build their own view from SharedTerrainTileStore.buffer. The allocation never grows, and a full store does not evict live entries: callers build uncached tiles instead.

Constructors ​

Constructor ​

new SharedTerrainTileStore(optionsOrBuffer): SharedTerrainTileStore

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:74

Creates a bounded store or attaches to the buffer supplied by its parent thread.

Parameters ​

optionsOrBuffer ​

SharedArrayBuffer | SharedTerrainTileStoreOptions

Allocation limits in the parent, or the existing shared buffer in a worker.

Returns ​

SharedTerrainTileStore

Throws ​

RangeError when the limits cannot hold one slot or the supplied buffer is invalid.

Accessors ​

buffer ​

Get Signature ​

get buffer(): SharedArrayBuffer

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:126

The fixed shared-memory allocation that workers attach to.

Returns ​

SharedArrayBuffer


byteLength ​

Get Signature ​

get byteLength(): number

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:136

Total allocation size, including metadata.

Returns ​

number


capacity ​

Get Signature ​

get capacity(): number

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:131

Number of terrain tiles the allocation can hold.

Returns ​

number


maxTileBytes ​

Get Signature ​

get maxTileBytes(): number

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:141

Maximum serialized size of one terrain tile.

Returns ​

number

Methods ​

getOrCreate() ​

getOrCreate(key, ownerThreadId, build): Promise<GenerationRegionPayload>

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:146

Reads or builds a tile, publishing completed payload bytes atomically.

Parameters ​

key ​

string

ownerThreadId ​

number

build ​

() => Promise<GenerationRegionPayload>

Returns ​

Promise<GenerationRegionPayload>


getStats() ​

getStats(): SharedTerrainTileStoreStats

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:199

Reads counters and the allocation's fixed capacity.

Returns ​

SharedTerrainTileStoreStats


invalidate() ​

invalidate(key): boolean

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:186

Removes a malformed published value so the next caller can rebuild it.

Parameters ​

key ​

string

Returns ​

boolean


recoverOwner() ​

recoverOwner(ownerThreadId): number

Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:167

Clears claims held by a worker after its exit event; published tiles remain available.

Parameters ​

ownerThreadId ​

number

Returns ​

number