Skip to main content

Class: MeshPipeline

Constructors​

constructor​

• new MeshPipeline(): MeshPipeline

Returns​

MeshPipeline

Accessors​

dirtyCount​

• get dirtyCount(): number

Returns​

number

Methods​

expireStuckJobs​

▸ expireStuckJobs(nowMs, maxAgeMs): string[]

The leak watchdog: release any in-flight generation older than maxAgeMs and re-queue its key. Single-flight dispatch turns one unsettled job into a chunk level that never re-meshes again for the whole session, and every historical instance of that (a shed queue, a dispatch path missing its release, a worker that died) has looked like this exact symptom: a walkable chunk that stopped rendering hours into a long session and stayed gone until reload. Expiry converts whichever such path still exists — or gets written next — from a permanent hole into a logged self-heal. Returns the expired keys for the caller to report.

Parameters​

NameType
nowMsnumber
maxAgeMsnumber

Returns​

string[]


failJob​

▸ failJob(key, jobGeneration): void

Release an in-flight generation that produced no mesh (worker bail-out). Re-queues the key so remesh can retry instead of leaving a permanent ghost mesh when voxel data already changed but geometry never applied.

Parameters​

NameType
keystring
jobGenerationnumber

Returns​

void


getDirtyKeys​

▸ getDirtyKeys(center?): string[]

Dirty keys ready for dispatch: the urgent lane first in insertion order (player edits stay latency-ordered), then regular keys nearest-first around center so remesh work reaches the camera before the horizon. Without a center the regular lane keeps insertion order.

Parameters​

NameType
center?Coords2

Returns​

string[]


hasAnyInFlightJobs​

▸ hasAnyInFlightJobs(): boolean

Returns​

boolean


hasDirtyChunks​

▸ hasDirtyChunks(): boolean

Returns​

boolean


hasDisplayed​

▸ hasDisplayed(key): boolean

Whether some mesh of this section, current or not, has been applied.

Parameters​

NameType
keystring

Returns​

boolean


hasInFlightJob​

▸ hasInFlightJob(key): boolean

Parameters​

NameType
keystring

Returns​

boolean


inFlightJobCount​

▸ inFlightJobCount(): number

Returns​

number


isDirty​

▸ isDirty(key): boolean

Whether a mesh job for this section is waiting to be dispatched.

Parameters​

NameType
keystring

Returns​

boolean


isUrgent​

▸ isUrgent(key): boolean

Parameters​

NameType
keystring

Returns​

boolean


makeKey​

▸ makeKey(cx, cz, level): string

Parameters​

NameType
cxnumber
cznumber
levelnumber

Returns​

string


markFreshFromServer​

▸ markFreshFromServer(cx, cz, level): void

Parameters​

NameType
cxnumber
cznumber
levelnumber

Returns​

void


needsRemesh​

▸ needsRemesh(key): boolean

Parameters​

NameType
keystring

Returns​

boolean


onJobComplete​

▸ onJobComplete(key, jobGeneration): boolean

Parameters​

NameType
keystring
jobGenerationnumber

Returns​

boolean


onVoxelChange​

▸ onVoxelChange(cx, cz, level, isUrgent?): void

Parameters​

NameTypeDefault value
cxnumberundefined
cznumberundefined
levelnumberundefined
isUrgentbooleanfalse

Returns​

void


parseKey​

▸ parseKey(key): Object

Parameters​

NameType
keystring

Returns​

Object

NameType
cxnumber
cznumber
levelnumber

remove​

▸ remove(cx, cz): void

Parameters​

NameType
cxnumber
cznumber

Returns​

void


shouldStartJob​

▸ shouldStartJob(key): boolean

Parameters​

NameType
keystring

Returns​

boolean


startJob​

▸ startJob(key, nowMs?): number

Parameters​

NameType
keystring
nowMsnumber

Returns​

number