Source DocsJak 1PackageslevelsdarkcaveOn this pagedarkcave-obssourceTypescavecrystalcavecrystal: process-drawablesourceFieldstype: typename: basicmask: process-maskparent: pointerbrother: pointerchild: pointerppointer: pointerself: process-treepool: dead-poolstatus: basicpid: int32main-thread: cpu-threadtop-thread: threadentity: entity-actorstate: statetrans-hook: functionpost-hook: functionevent-hook: functionallocated-length: int32next-state: stateheap-base: pointerheap-top: pointerheap-cur: pointerstack-frame-top: stack-frameconnection-list: connectablestack: uint8root: trsqvnode-list: cspace-arraydraw: draw-controlskel: joint-controlnav: nav-controlalign: align-controlpath: path-controlvol: vol-controlfact: fact-infolink: actor-link-infopart: sparticle-launch-controlwater: water-controlsound: ambient-soundstate-flags: state-flagsstate-time: time-frameroot-override: collide-shapeis-master?: symbolcrystal-id: int32glow-u: floatglow-wf-period: int32glow-wf-offset: int32prev-compute-glow-time: time-framestart-fade-time: time-frameend-fade-time: time-frameactivated-time: time-framelast-updated-user-lighting: time-frameplayer-attack-id: uint64on-color-mult: vectoron-color-emissive: vectoroff-color-mult: vectoroff-color-emissive: vectorMethodsupdate-connected-crystals!(obj: cavecrystal) => nonesourcecompute-glow(obj: cavecrystal) => floatsourceStatescavecrystal-active: TODOcavecrystal-idle: TODO