SYMBOL INDEX (358 symbols across 44 files) FILE: examples/src/BlockPicker.js class BlockTypeButton (line 8) | class BlockTypeButton extends Button2D { method draw (line 9) | draw(ctx) { class BlockPicker (line 42) | class BlockPicker { method constructor (line 43) | constructor(app) { method rebuild (line 54) | rebuild() { method setSelectedToDefault (line 102) | setSelectedToDefault() { FILE: examples/src/ExplosionParticles.js class ExplosionParticles (line 6) | class ExplosionParticles extends ECSComp { method constructor (line 7) | constructor(app) { method fire (line 44) | fire(pos) { method update (line 53) | update(time, dt) { FILE: examples/src/GPUParticleSystem.js constant UPDATEABLE_ATTRIBUTES (line 84) | const UPDATEABLE_ATTRIBUTES = [ class GPUParticleSystem (line 90) | class GPUParticleSystem extends Object3D { method constructor (line 91) | constructor(options) { method geometryUpdate (line 186) | geometryUpdate () { method random (line 207) | random () { method update (line 211) | update ( ttime ) { method dispose (line 218) | dispose () { method spawnParticle (line 233) | spawnParticle ( options ) { FILE: examples/src/ItemManager.js class ItemManager (line 4) | class ItemManager extends ECSComp { method constructor (line 5) | constructor(app) { method isBlockTypeItem (line 10) | isBlockTypeItem(type) { method removeItem (line 15) | removeItem(pos) { FILE: examples/src/PersistenceManager.js function GET_JSON (line 2) | function GET_JSON(url) { function POST_JSON (line 14) | function POST_JSON(url,data) { function loadImageFromURL (line 31) | function loadImageFromURL(url) { constant BASE_URL (line 44) | const BASE_URL = "https://vr.josh.earth/360/doc/" class PersistenceManager (line 46) | class PersistenceManager { method constructor (line 47) | constructor() { method save (line 51) | save(chunkManager, cache) { method load (line 103) | load(chunkManager) { FILE: examples/src/PigComp.js class PigComp (line 7) | class PigComp extends ECSComp { method constructor (line 8) | constructor(app) { method update (line 26) | update(time,dt) { method collide (line 30) | collide(phys, target, pos, diff) { FILE: examples/src/PubnubNetworkplay.js constant CHANNEL (line 7) | const CHANNEL = 'beta-movement' constant SEND_INTERVAL (line 8) | const SEND_INTERVAL = 333; class PubnubNetworkplay (line 9) | class PubnubNetworkplay extends ECSComp { method constructor (line 10) | constructor() { method connect (line 75) | connect() { method isConnected (line 82) | isConnected() { method isConnecting (line 86) | isConnecting() { method playerMoved (line 90) | playerMoved(phys) { method playerSetVoxel (line 93) | playerSetVoxel(pos,type) { FILE: examples/src/RemotePlayersProxy.js constant BUMP_HEIGHT (line 4) | const BUMP_HEIGHT = new Vector3(0,1,0) class RemotePlayersProxy (line 5) | class RemotePlayersProxy extends ECSComp { method constructor (line 6) | constructor(app) { method remotePlayerMoved (line 11) | remotePlayerMoved(id,pos) { FILE: examples/src/SmashParticles.js class SmashParticles (line 6) | class SmashParticles extends ECSComp { method constructor (line 7) | constructor(app) { method fire (line 44) | fire(pos) { method update (line 54) | update(time, dt) { FILE: examples/src/WebRTCAudioChat.js class WebRTCAudioChat (line 7) | class WebRTCAudioChat { method constructor (line 8) | constructor(app) { method connect (line 12) | connect() { method disconnect (line 45) | disconnect() { FILE: examples/src/index.js class VoxelWebXRControllerSystem (line 34) | class VoxelWebXRControllerSystem extends System { method execute (line 35) | execute(delta, time) { FILE: src/ChunkManager.js class Chunk (line 5) | class Chunk { method constructor (line 6) | constructor(data, pos, chunkBits) { method voxelIndexFromCoordinates (line 18) | voxelIndexFromCoordinates(x, y, z) { method voxelAtCoordinates (line 24) | voxelAtCoordinates(pt) { method setVoxelAtCoordinates (line 28) | setVoxelAtCoordinates(pt, val) { method dispose (line 35) | dispose() { constant SCALE (line 45) | const SCALE = new Vector3(1.0,1.0,1.0) class ChunkManager (line 47) | class ChunkManager { method constructor (line 48) | constructor(opts) { method on (line 73) | on(type, cb) { method emit (line 77) | emit(type,evt) { method clear (line 82) | clear() { method nearbyChunks (line 95) | nearbyChunks(position, distance) { method requestMissingChunks (line 113) | requestMissingChunks(pos) { method getBounds (line 121) | getBounds(x, y, z) { method generateChunk (line 129) | generateChunk(pos) { method makeChunkFromData (line 143) | makeChunkFromData(info,voxels) { method chunkIndexAtCoordinates (line 156) | chunkIndexAtCoordinates(x, y, z) { method chunkAtPosition (line 165) | chunkAtPosition(position) { method voxelIndexFromCoordinates (line 170) | voxelIndexFromCoordinates(x, y, z) { method voxelAtCoordinates (line 177) | voxelAtCoordinates(pt) { method setVoxelAtCoordinates (line 184) | setVoxelAtCoordinates(pt, val) { method setBlockRange (line 193) | setBlockRange(pos, dim, data) { method voxelAtPosition (line 216) | voxelAtPosition(pos, val) { method debug_getChunksLoadedCount (line 221) | debug_getChunksLoadedCount() { method removeFarChunks (line 230) | removeFarChunks(pos) { method getBlock (line 246) | getBlock(x,y,z) { method rebuildMesh (line 250) | rebuildMesh(chunk) { method rebuildAllMeshes (line 258) | rebuildAllMeshes() { method updateCenterPosition (line 262) | updateCenterPosition(pos) { FILE: src/CulledMesher.js class CulledMesher (line 1) | class CulledMesher { method constructor (line 2) | constructor() method mesh (line 8) | mesh(volume, dims) FILE: src/DesktopControls.js constant LEFT_MOUSE_BUTTON (line 6) | const LEFT_MOUSE_BUTTON = 1 constant RIGHT_MOUSE_BUTTON (line 7) | const RIGHT_MOUSE_BUTTON = 2 class DesktopControls (line 9) | class DesktopControls extends ECSComp { method constructor (line 11) | constructor(app, distance) { method enable (line 51) | enable() { method disable (line 55) | disable() { method update (line 59) | update(time) { FILE: src/ECSComp.js class ECSComp (line 1) | class ECSComp { method constructor (line 2) | constructor() { method addEventListener (line 6) | addEventListener(type, cb) { method _fire (line 11) | _fire(type,payload) { method enable (line 16) | enable() { method disable (line 20) | disable() { method isEnabled (line 24) | isEnabled() { method update (line 28) | update(time) { FILE: src/FullscreenControls.js constant HAS_POINTER_LOCK (line 6) | const HAS_POINTER_LOCK = 'pointerLockElement' in document || function requestPointerLock (line 11) | function requestPointerLock(el) { class FullScreenControls (line 17) | class FullScreenControls extends ECSComp { method constructor (line 18) | constructor(app) { method traceRay (line 69) | traceRay() { method enable (line 87) | enable() { method disable (line 99) | disable() { FILE: src/GreedyMesher.js class GreedyMesher (line 3) | class GreedyMesher { method constructor (line 4) | constructor() { method mesh (line 7) | mesh(volume, dims) { FILE: src/KeyboardControls.js constant Y_AXIS (line 4) | const Y_AXIS = new Vector3(0,1,0) constant SPEED (line 5) | const SPEED = 0.1 class KeyboardControls (line 7) | class KeyboardControls extends ECSComp { method constructor (line 8) | constructor(app) { method update (line 45) | update(time) { method rotateLeft (line 72) | rotateLeft() { method rotateRight (line 76) | rotateRight() { method getSpeedDirection (line 80) | getSpeedDirection() { method glideForward (line 85) | glideForward() { method glideBackward (line 91) | glideBackward() { method glideLeft (line 97) | glideLeft() { method glideRight (line 103) | glideRight() { method glideUp (line 110) | glideUp() { method glideDown (line 117) | glideDown() { FILE: src/PhysHandler.js constant GRAVITY (line 3) | const GRAVITY = new Vector3(0,-9.8,0) class PhysHandler (line 5) | class PhysHandler extends ECSComp { method constructor (line 6) | constructor(app, target, colliders) { method isFlying (line 15) | isFlying() { method startFlying (line 18) | startFlying() { method endFlying (line 21) | endFlying() { method startJump (line 24) | startJump() { method endJump (line 31) | endJump() { method markChanged (line 34) | markChanged() { method update (line 37) | update(time,dt) { FILE: src/SimpleMeshCollider.js constant SIZE (line 3) | const SIZE = new Vector3() constant CENTER (line 4) | const CENTER = new Vector3() function checkHitTileY (line 6) | function checkHitTileY(voxels, bounds, pos) { function checkHitTileX (line 24) | function checkHitTileX(voxels, bounds, pos) { function checkHitTileZ (line 36) | function checkHitTileZ(voxels, bounds, pos) { class SimpleMeshCollider (line 49) | class SimpleMeshCollider { method constructor (line 50) | constructor(app) { method collide (line 53) | collide(phys, target, pos, diff) { FILE: src/TextureManager.js class TextureManager (line 23) | class TextureManager { method constructor (line 24) | constructor(opts) { method packImage (line 108) | packImage(img,index) { method isEnabled (line 147) | isEnabled() { method update (line 151) | update(ttime) { method lookupUVsForBlockType (line 157) | lookupUVsForBlockType(typeNum) { method lookupInfoForBlockType (line 187) | lookupInfoForBlockType(typeNum) { method getBlockTypeForName (line 194) | getBlockTypeForName(name) { method loadTextures (line 200) | loadTextures(infos) { function ext (line 224) | function ext(name) { FILE: src/TouchControls.js constant Y_AXIS (line 5) | const Y_AXIS = new Vector3(0,1,0) constant SPEED (line 6) | const SPEED = 0.1 class TouchControls (line 9) | class TouchControls extends ECSComp { method isTouchEnabled (line 10) | isTouchEnabled() { method constructor (line 13) | constructor(app, distance, chunkManager) { method update (line 174) | update() { method enable (line 180) | enable() { method disable (line 187) | disable() { method glideForward (line 196) | glideForward() { method glideBackward (line 202) | glideBackward() { method getSpeedDirection (line 208) | getSpeedDirection() { method glideLeft (line 213) | glideLeft() { method glideRight (line 219) | glideRight() { FILE: src/VRControls.js constant Y_AXIS (line 8) | const Y_AXIS = new Vector3(0,1,0) constant SPEED (line 9) | const SPEED = 0.1 constant TRIGGER (line 11) | const TRIGGER = 'trigger' class VRControls (line 13) | class VRControls extends ECSComp { method constructor (line 15) | constructor(app) { method traceRay (line 36) | traceRay() { method rotateLeft (line 54) | rotateLeft() { method rotateRight (line 57) | rotateRight() { method getSpeedDirection (line 60) | getSpeedDirection() { method glideBackward (line 68) | glideBackward() { method glideForward (line 71) | glideForward() { method update (line 75) | update(time) { method updateCursor (line 80) | updateCursor(time) { method scanGamepads (line 87) | scanGamepads(time) { method updateGamepad (line 103) | updateGamepad(gamepad, time) { FILE: src/VRStats.js class VRStats (line 6) | class VRStats extends ECSComp { method constructor (line 7) | constructor(app) { method update (line 37) | update(time) { method setProperty (line 63) | setProperty(name, value) { FILE: src/VoxelMesh.js function generateAmbientOcclusion (line 17) | function generateAmbientOcclusion(grid) { function generateGrid (line 26) | function generateGrid(chunkManager,pos,indexes,vertices) { class VoxelMesh (line 69) | class VoxelMesh { method constructor (line 70) | constructor(chunk, mesher, scaleFactor, chunkManager) { method createSurfaceMesh (line 281) | createSurfaceMesh(material) { method faceVertexUv (line 288) | faceVertexUv(i) { function vertexAO (line 363) | function vertexAO(side1, side2, corner) { FILE: src/VoxelTexture.js class VoxelTexture (line 17) | class VoxelTexture { method constructor (line 18) | constructor(opts) { method load (line 88) | load(names, done) { method pack (line 116) | pack(name, done) { method find (line 149) | find(name) { method _expandName (line 164) | _expandName(name) { method _afterLoading (line 179) | _afterLoading() { method _powerof2 (line 205) | _powerof2(done) { method paint (line 227) | paint(mesh, materials) { method sprite (line 304) | sprite(name, w, h, cb) { method animate (line 354) | animate(mesh, names, delay) { method tick (line 369) | tick(dt) { function uvrot (line 374) | function uvrot(coords, deg) { function uvinvert (line 385) | function uvinvert(coords) { function ext (line 390) | function ext(name) { function defaults (line 394) | function defaults(obj) { function each (line 401) | function each(arr, it, done) { FILE: src/ecsy/camera_gimbal.js class StagePosition (line 1) | class StagePosition {} class StageRotation (line 2) | class StageRotation {} FILE: src/ecsy/dashboard.js class DomDashboard (line 6) | class DomDashboard extends Component { method constructor (line 7) | constructor() { class DashboardVisible (line 13) | class DashboardVisible extends Component { class DashboardDOMOvleraySystem (line 17) | class DashboardDOMOvleraySystem extends System { method execute (line 18) | execute(delta, time) { FILE: src/ecsy/fullscreen.js class FullscreenMode (line 3) | class FullscreenMode extends Component { class FullscreenButton (line 6) | class FullscreenButton extends Component { class FullscreenSystem (line 31) | class FullscreenSystem extends System { method execute (line 32) | execute(delta, time) { FILE: src/ecsy/highlight.js class Highlight (line 11) | class Highlight { class ActiveBlock (line 13) | class ActiveBlock { method constructor (line 14) | constructor() { class HighlightSystem (line 20) | class HighlightSystem extends System { method init (line 21) | init() { method traceRayAtScreenCoords (line 23) | traceRayAtScreenCoords( method execute (line 56) | execute(delta,time) { FILE: src/ecsy/input.js class InputFrame (line 18) | class InputFrame extends Component { method constructor (line 19) | constructor() { constant Y_AXIS (line 47) | const Y_AXIS = new Vector3(0,1,0) constant Z_AXIS (line 48) | const Z_AXIS = new Vector3(0,0,1) constant SPEED (line 49) | const SPEED = 0.1 class VoxelPlayerSystem (line 51) | class VoxelPlayerSystem extends System { method init (line 52) | init() { method execute (line 55) | execute(delta, time) { FILE: src/ecsy/keyboard.js class KeyboardBindingSet (line 4) | class KeyboardBindingSet extends Component { method constructor (line 5) | constructor() { class KeyboardSystem (line 11) | class KeyboardSystem extends System { method _setBindingValue (line 12) | _setBindingValue(keyboard_key, new_value) { method _keydown (line 25) | _keydown(e) { method _keyup (line 28) | _keyup(e) { method init (line 31) | init() { FILE: src/ecsy/mouse.js class MouseCursor (line 5) | class MouseCursor extends Component { method constructor (line 6) | constructor() { class MouseSystem (line 13) | class MouseSystem extends System { method _mouse_down (line 14) | _mouse_down(e) { method _mouse_move (line 25) | _mouse_move(e) { method _mouse_up (line 36) | _mouse_up(e) { method init (line 53) | init() { method execute (line 63) | execute(delta,time) { FILE: src/ecsy/voxels.js class VoxelLandscape (line 9) | class VoxelLandscape extends Component { method constructor (line 10) | constructor() { class VoxelTextures (line 16) | class VoxelTextures extends Component { method constructor (line 17) | constructor() { class VoxelSystem (line 23) | class VoxelSystem extends System { method execute (line 24) | execute(delta, time) { FILE: src/ecsy/webxr.js class WebXRActive (line 4) | class WebXRActive extends Component { class WebXRButton (line 7) | class WebXRButton extends Component { method constructor (line 8) | constructor() { class WebXRController (line 14) | class WebXRController extends Component { method constructor (line 15) | constructor() { class WebXRSystem (line 22) | class WebXRSystem extends System { method enterWebXR (line 23) | enterWebXR(ent) { method execute (line 44) | execute(delta, time) { FILE: src/physical.js constant WORLD_DESIRED (line 7) | const WORLD_DESIRED = new Vector3(0, 0, 0) constant DESIRED (line 7) | const WORLD_DESIRED = new Vector3(0, 0, 0) constant START (line 7) | const WORLD_DESIRED = new Vector3(0, 0, 0) constant END (line 7) | const WORLD_DESIRED = new Vector3(0, 0, 0) constant DIRECTION (line 7) | const WORLD_DESIRED = new Vector3(0, 0, 0) constant LOCAL_ATTRACTOR (line 7) | const WORLD_DESIRED = new Vector3(0, 0, 0) constant TOTAL_FORCES (line 7) | const WORLD_DESIRED = new Vector3(0, 0, 0) function applyTo (line 15) | function applyTo(which) { class Physical (line 29) | class Physical { method constructor (line 31) | constructor(avatar, collidables, dimensions, terminal) { method tick (line 75) | tick(dt) { method subjectTo (line 240) | subjectTo (force) { method removeForce (line 249) | removeForce (force) { method attractTo (line 258) | attractTo (vector, mass) { method aabb (line 265) | aabb () { method collide (line 277) | collide (other, bbox, world_vec, resting) { method atRestX (line 283) | atRestX () { method atRestY (line 289) | atRestY () { method atRestZ (line 293) | atRestZ () { method fell (line 297) | fell (distance) { FILE: src/raycast.js function traceRay_impl (line 1) | function traceRay_impl( function startTraceRay (line 188) | function startTraceRay(voxelProvider, origin, direction, max_d, hit_pos,... FILE: src/utils.js function toHexColor (line 4) | function toHexColor(num) { function generateChunkInfoFromFunction (line 11) | function generateChunkInfoFromFunction(l, h, f) { constant EPSILON (line 32) | const EPSILON = 1e-8 constant DIRS (line 37) | const DIRS = { function traceRayAtScreenCoords (line 48) | function traceRayAtScreenCoords(app, pt, distance) { FILE: src/webxr-boilerplate/BackgroundAudioLoader.js class BackgroundAudioLoader (line 5) | class BackgroundAudioLoader { method constructor (line 6) | constructor(manager) { method load (line 10) | load( url, onLoad, onProgress, onError ) { FILE: src/webxr-boilerplate/Pointer.js constant POINTER_ENTER (line 17) | const POINTER_ENTER = "enter" constant POINTER_EXIT (line 18) | const POINTER_EXIT = "exit" constant POINTER_CLICK (line 19) | const POINTER_CLICK = "click" constant POINTER_MOVE (line 20) | const POINTER_MOVE = "move" constant POINTER_PRESS (line 21) | const POINTER_PRESS = "press" constant POINTER_RELEASE (line 22) | const POINTER_RELEASE = "release" class Pointer (line 27) | class Pointer { method constructor (line 28) | constructor(app, opts) { method tick (line 95) | tick(time) { method fire (line 101) | fire(obj, type, payload) { method fireSelf (line 104) | fireSelf(type,payload) { method cameraFollowMouse (line 110) | cameraFollowMouse(e) { method mouseMove (line 118) | mouseMove(e) { method touchStart (line 143) | touchStart(e) { method touchMove (line 158) | touchMove(e) { method touchEnd (line 169) | touchEnd(e) { method controllerMove (line 186) | controllerMove(controller) { method _processMove (line 195) | _processMove() { method _processClick (line 219) | _processClick() { method mouseClick (line 235) | mouseClick(e) { method mouseDown (line 243) | mouseDown(e) { method mouseUp (line 257) | mouseUp(e) { method controllerSelectStart (line 271) | controllerSelectStart(e) { method controllerSelectEnd (line 281) | controllerSelectEnd(e) { method waitSceneClick (line 296) | waitSceneClick(cb) { method addEventListener (line 301) | addEventListener(type,cb) { method on (line 304) | on(type,cb) { method off (line 308) | off(type,cb) { method setMouseSimulatesController (line 311) | setMouseSimulatesController(val) { FILE: src/webxr-boilerplate/WebXRBoilerPlate.js constant FULLSCREEN_ENTERED (line 4) | const FULLSCREEN_ENTERED = "fullscreenenter" constant FULLSCREEN_EXITED (line 5) | const FULLSCREEN_EXITED = "fullscreenexit" class WebXRBoilerPlate (line 6) | class WebXRBoilerPlate { method constructor (line 7) | constructor(options) { method addEventListener (line 19) | addEventListener(type,cb) { method _fire (line 23) | _fire(type,payload) { method isFullscreenSupported (line 28) | isFullscreenSupported() { method init (line 32) | init() { method onRender (line 85) | onRender(cb) { method enterVR (line 89) | enterVR() { method playFullscreen (line 93) | playFullscreen() { method exitFullscreen (line 98) | exitFullscreen() { method checkContainerSize (line 104) | checkContainerSize() { FILE: src/webxr-boilerplate/raycaster.js function Raycaster (line 9) | function Raycaster( origin, direction, near, far ) { function ascSort (line 38) | function ascSort( a, b ) { function intersectObject (line 46) | function intersectObject( object, raycaster, intersects, recursive ) { FILE: src/webxr-boilerplate/vrmanager.js function printError (line 1) | function printError(err) { constant VR_DETECTED (line 5) | const VR_DETECTED = "detected" constant VR_CONNECTED (line 6) | const VR_CONNECTED = "connected" constant VR_DISCONNECTED (line 7) | const VR_DISCONNECTED = "disconnected" constant VR_PRESENTCHANGE (line 8) | const VR_PRESENTCHANGE = "presentchange" constant VR_ACTIVATED (line 9) | const VR_ACTIVATED = "activated" class VRManager (line 13) | class VRManager { method constructor (line 14) | constructor(renderer) { method addEventListener (line 76) | addEventListener(type, cb) { method fire (line 80) | fire(type,evt) { method enterVR (line 87) | enterVR() { FILE: src/webxr-boilerplate/vrstats.js class VRStats (line 2) | class VRStats extends Group { method constructor (line 3) | constructor(app) { method update (line 28) | update(time) { method setProperty (line 54) | setProperty(name, value) {