melonjs 20.3.0 → 20.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -19
- package/build/application/application.d.ts +0 -17
- package/build/application/application.d.ts.map +1 -1
- package/build/application/settings.d.ts +3 -0
- package/build/application/settings.d.ts.map +1 -1
- package/build/audio/audio.d.ts.map +1 -1
- package/build/audio/backend/engine.d.ts +0 -19
- package/build/audio/backend/engine.d.ts.map +1 -1
- package/build/audio/backend/sound.d.ts +1 -51
- package/build/audio/backend/sound.d.ts.map +1 -1
- package/build/audio/backend/spatial.d.ts.map +1 -1
- package/build/audio/backend/types.d.ts +11 -1
- package/build/audio/backend/types.d.ts.map +1 -1
- package/build/audio/backend/voice.d.ts +0 -25
- package/build/audio/backend/voice.d.ts.map +1 -1
- package/build/audio/playback.d.ts.map +1 -1
- package/build/audio/procedural.d.ts.map +1 -1
- package/build/audio/state.d.ts +6 -79
- package/build/audio/state.d.ts.map +1 -1
- package/build/camera/camera2d.d.ts +0 -68
- package/build/camera/camera2d.d.ts.map +1 -1
- package/build/camera/camera3d.d.ts +86 -79
- package/build/camera/camera3d.d.ts.map +1 -1
- package/build/camera/effects/fade_effect.d.ts +0 -5
- package/build/camera/effects/fade_effect.d.ts.map +1 -1
- package/build/camera/effects/mask_effect.d.ts +0 -5
- package/build/camera/effects/mask_effect.d.ts.map +1 -1
- package/build/camera/fog.d.ts +118 -0
- package/build/camera/fog.d.ts.map +1 -0
- package/build/geometries/box3d.d.ts +0 -28
- package/build/geometries/box3d.d.ts.map +1 -1
- package/build/geometries/ellipse.d.ts +0 -20
- package/build/geometries/ellipse.d.ts.map +1 -1
- package/build/geometries/observablePoint.d.ts +0 -3
- package/build/geometries/observablePoint.d.ts.map +1 -1
- package/build/geometries/path2d.d.ts +0 -19
- package/build/geometries/path2d.d.ts.map +1 -1
- package/build/geometries/polygon.d.ts +0 -12
- package/build/geometries/polygon.d.ts.map +1 -1
- package/build/geometries/roundrect.d.ts +0 -18
- package/build/geometries/roundrect.d.ts.map +1 -1
- package/build/geometries/sphere.d.ts +0 -9
- package/build/geometries/sphere.d.ts.map +1 -1
- package/build/geometries/toarccanvas.d.ts.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2652 -413
- package/build/index.js.map +3 -3
- package/build/input/gamepad.d.ts.map +1 -1
- package/build/input/pointer.d.ts +0 -4
- package/build/input/pointer.d.ts.map +1 -1
- package/build/input/pointerevent.d.ts +0 -6
- package/build/input/pointerevent.d.ts.map +1 -1
- package/build/lang/deprecated.d.ts.map +1 -1
- package/build/level/gltf/GLTFModel.d.ts +0 -81
- package/build/level/gltf/GLTFModel.d.ts.map +1 -1
- package/build/level/gltf/GLTFScene.d.ts +1 -44
- package/build/level/gltf/GLTFScene.d.ts.map +1 -1
- package/build/level/gltf/gltf_sampler.d.ts +1 -48
- package/build/level/gltf/gltf_sampler.d.ts.map +1 -1
- package/build/level/level.d.ts +195 -113
- package/build/level/level.d.ts.map +1 -1
- package/build/level/tiled/TMXGroup.d.ts +1 -65
- package/build/level/tiled/TMXGroup.d.ts.map +1 -1
- package/build/level/tiled/TMXLayer.d.ts +0 -44
- package/build/level/tiled/TMXLayer.d.ts.map +1 -1
- package/build/level/tiled/TMXObject.d.ts +1 -136
- package/build/level/tiled/TMXObject.d.ts.map +1 -1
- package/build/level/tiled/TMXObjectFactory.d.ts +1 -40
- package/build/level/tiled/TMXObjectFactory.d.ts.map +1 -1
- package/build/level/tiled/TMXTile.d.ts +1 -30
- package/build/level/tiled/TMXTile.d.ts.map +1 -1
- package/build/level/tiled/TMXTileMap.d.ts +0 -10
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
- package/build/level/tiled/TMXTileset.d.ts +0 -113
- package/build/level/tiled/TMXTileset.d.ts.map +1 -1
- package/build/level/tiled/TMXTilesetGroup.d.ts +0 -1
- package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -1
- package/build/level/tiled/TMXUtils.d.ts +1 -43
- package/build/level/tiled/TMXUtils.d.ts.map +1 -1
- package/build/level/tiled/factories/shape.d.ts +1 -7
- package/build/level/tiled/factories/shape.d.ts.map +1 -1
- package/build/level/tiled/factories/text.d.ts +1 -7
- package/build/level/tiled/factories/text.d.ts.map +1 -1
- package/build/level/tiled/factories/tile.d.ts +1 -7
- package/build/level/tiled/factories/tile.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts +0 -60
- package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts +0 -42
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts +0 -5
- package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +0 -31
- package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXRenderer.d.ts +2 -2
- package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/autodetect.d.ts +1 -6
- package/build/level/tiled/renderer/autodetect.d.ts.map +1 -1
- package/build/lighting/light2d.d.ts +0 -25
- package/build/lighting/light2d.d.ts.map +1 -1
- package/build/lighting/light3d.d.ts +0 -16
- package/build/lighting/light3d.d.ts.map +1 -1
- package/build/loader/loader.d.ts +42 -33
- package/build/loader/loader.d.ts.map +1 -1
- package/build/loader/loadingscreen.d.ts +0 -33
- package/build/loader/loadingscreen.d.ts.map +1 -1
- package/build/loader/parsers/aseprite.d.ts +0 -13
- package/build/loader/parsers/aseprite.d.ts.map +1 -1
- package/build/loader/parsers/audio.d.ts +1 -30
- package/build/loader/parsers/audio.d.ts.map +1 -1
- package/build/loader/parsers/binary.d.ts +1 -10
- package/build/loader/parsers/binary.d.ts.map +1 -1
- package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -1
- package/build/loader/parsers/compressed_textures/parseDDS.d.ts +1 -7
- package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -1
- package/build/loader/parsers/compressed_textures/parseKTX.d.ts +1 -7
- package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -1
- package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +1 -7
- package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -1
- package/build/loader/parsers/compressed_textures/parsePKM.d.ts +1 -7
- package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -1
- package/build/loader/parsers/compressed_textures/parsePVR.d.ts +1 -7
- package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -1
- package/build/loader/parsers/fontface.d.ts +1 -13
- package/build/loader/parsers/fontface.d.ts.map +1 -1
- package/build/loader/parsers/gltf.d.ts +1 -70
- package/build/loader/parsers/gltf.d.ts.map +1 -1
- package/build/loader/parsers/image.d.ts +1 -22
- package/build/loader/parsers/image.d.ts.map +1 -1
- package/build/loader/parsers/json.d.ts +1 -10
- package/build/loader/parsers/json.d.ts.map +1 -1
- package/build/loader/parsers/mtl.d.ts +1 -28
- package/build/loader/parsers/mtl.d.ts.map +1 -1
- package/build/loader/parsers/obj.d.ts +1 -59
- package/build/loader/parsers/obj.d.ts.map +1 -1
- package/build/loader/parsers/pbr.d.ts +1 -62
- package/build/loader/parsers/pbr.d.ts.map +1 -1
- package/build/loader/parsers/script.d.ts +1 -10
- package/build/loader/parsers/script.d.ts.map +1 -1
- package/build/loader/parsers/shader.d.ts +1 -52
- package/build/loader/parsers/shader.d.ts.map +1 -1
- package/build/loader/parsers/tmx.d.ts +1 -10
- package/build/loader/parsers/tmx.d.ts.map +1 -1
- package/build/loader/parsers/video.d.ts +1 -10
- package/build/loader/parsers/video.d.ts.map +1 -1
- package/build/math/color.d.ts.map +1 -1
- package/build/math/noise.d.ts +0 -40
- package/build/math/noise.d.ts.map +1 -1
- package/build/math/observableVector2d.d.ts +0 -3
- package/build/math/observableVector2d.d.ts.map +1 -1
- package/build/math/observableVector3d.d.ts +0 -3
- package/build/math/observableVector3d.d.ts.map +1 -1
- package/build/math/vector2d.d.ts +0 -6
- package/build/math/vector2d.d.ts.map +1 -1
- package/build/math/vertex.d.ts +25 -0
- package/build/math/vertex.d.ts.map +1 -1
- package/build/particles/emitter.d.ts +0 -65
- package/build/particles/emitter.d.ts.map +1 -1
- package/build/particles/particle.d.ts +0 -81
- package/build/particles/particle.d.ts.map +1 -1
- package/build/physics/bounds.d.ts +0 -1
- package/build/physics/bounds.d.ts.map +1 -1
- package/build/physics/broadphase/broadphase.d.ts +0 -7
- package/build/physics/broadphase/broadphase.d.ts.map +1 -1
- package/build/physics/broadphase/octree.d.ts +0 -91
- package/build/physics/broadphase/octree.d.ts.map +1 -1
- package/build/physics/broadphase/quadtree.d.ts +0 -47
- package/build/physics/broadphase/quadtree.d.ts.map +1 -1
- package/build/physics/builtin/body.d.ts +2 -65
- package/build/physics/builtin/body.d.ts.map +1 -1
- package/build/physics/builtin/detector.d.ts +0 -312
- package/build/physics/builtin/detector.d.ts.map +1 -1
- package/build/physics/builtin/sat.d.ts +1 -48
- package/build/physics/builtin/sat.d.ts.map +1 -1
- package/build/physics/builtin/sat3d.d.ts +1 -56
- package/build/physics/builtin/sat3d.d.ts.map +1 -1
- package/build/physics/collision.d.ts +0 -2
- package/build/physics/collision.d.ts.map +1 -1
- package/build/physics/response.d.ts +0 -1
- package/build/physics/response.d.ts.map +1 -1
- package/build/physics/world.d.ts.map +1 -1
- package/build/renderable/anchorPoint.d.ts +1 -73
- package/build/renderable/anchorPoint.d.ts.map +1 -1
- package/build/renderable/animation.d.ts +0 -7
- package/build/renderable/animation.d.ts.map +1 -1
- package/build/renderable/colorlayer.d.ts +0 -5
- package/build/renderable/colorlayer.d.ts.map +1 -1
- package/build/renderable/container.d.ts +0 -55
- package/build/renderable/container.d.ts.map +1 -1
- package/build/renderable/draggable.d.ts +0 -5
- package/build/renderable/draggable.d.ts.map +1 -1
- package/build/renderable/dragndrop.d.ts +1 -12
- package/build/renderable/dragndrop.d.ts.map +1 -1
- package/build/renderable/entity/entity.d.ts +0 -8
- package/build/renderable/entity/entity.d.ts.map +1 -1
- package/build/renderable/frameAnimation.d.ts +0 -41
- package/build/renderable/frameAnimation.d.ts.map +1 -1
- package/build/renderable/groundshadow.d.ts +1 -91
- package/build/renderable/groundshadow.d.ts.map +1 -1
- package/build/renderable/imagelayer.d.ts +0 -29
- package/build/renderable/imagelayer.d.ts.map +1 -1
- package/build/renderable/instanced_mesh.d.ts +26 -104
- package/build/renderable/instanced_mesh.d.ts.map +1 -1
- package/build/renderable/mesh.d.ts +130 -141
- package/build/renderable/mesh.d.ts.map +1 -1
- package/build/renderable/nineslicesprite.d.ts +0 -4
- package/build/renderable/nineslicesprite.d.ts.map +1 -1
- package/build/renderable/renderable.d.ts +1 -44
- package/build/renderable/renderable.d.ts.map +1 -1
- package/build/renderable/sprite.d.ts +0 -45
- package/build/renderable/sprite.d.ts.map +1 -1
- package/build/renderable/sprite3d.d.ts +0 -95
- package/build/renderable/sprite3d.d.ts.map +1 -1
- package/build/renderable/text/bitmaptext.d.ts +0 -14
- package/build/renderable/text/bitmaptext.d.ts.map +1 -1
- package/build/renderable/text/bitmaptextdata.d.ts +0 -22
- package/build/renderable/text/bitmaptextdata.d.ts.map +1 -1
- package/build/renderable/text/glyph.d.ts +1 -39
- package/build/renderable/text/glyph.d.ts.map +1 -1
- package/build/renderable/text/text.d.ts +0 -20
- package/build/renderable/text/text.d.ts.map +1 -1
- package/build/renderable/text/textstyle.d.ts +1 -5
- package/build/renderable/text/textstyle.d.ts.map +1 -1
- package/build/renderable/trail.d.ts +0 -29
- package/build/renderable/trail.d.ts.map +1 -1
- package/build/renderable/trigger.d.ts +0 -6
- package/build/renderable/trigger.d.ts.map +1 -1
- package/build/renderable/ui/uibaseelement.d.ts +0 -40
- package/build/renderable/ui/uibaseelement.d.ts.map +1 -1
- package/build/renderable/ui/uispriteelement.d.ts +0 -35
- package/build/renderable/ui/uispriteelement.d.ts.map +1 -1
- package/build/state/stage.d.ts +0 -66
- package/build/state/stage.d.ts.map +1 -1
- package/build/state/state.d.ts.map +1 -1
- package/build/system/device.d.ts +0 -12
- package/build/system/device.d.ts.map +1 -1
- package/build/system/dom.d.ts +1 -8
- package/build/system/dom.d.ts.map +1 -1
- package/build/system/legacy_pool.d.ts +1 -6
- package/build/system/legacy_pool.d.ts.map +1 -1
- package/build/system/platform.d.ts +0 -1
- package/build/system/platform.d.ts.map +1 -1
- package/build/system/pool.d.ts +0 -9
- package/build/system/pool.d.ts.map +1 -1
- package/build/system/save.d.ts.map +1 -1
- package/build/system/timer.d.ts +0 -20
- package/build/system/timer.d.ts.map +1 -1
- package/build/tweens/tween.d.ts +0 -62
- package/build/tweens/tween.d.ts.map +1 -1
- package/build/utils/array-multimap.d.ts +1 -13
- package/build/utils/array-multimap.d.ts.map +1 -1
- package/build/utils/decode.d.ts.map +1 -1
- package/build/utils/fetchdata.d.ts +1 -31
- package/build/utils/fetchdata.d.ts.map +1 -1
- package/build/utils/utils.d.ts +0 -13
- package/build/utils/utils.d.ts.map +1 -1
- package/build/video/blendmodes.d.ts +1 -106
- package/build/video/blendmodes.d.ts.map +1 -1
- package/build/video/buffer/index.d.ts +1 -39
- package/build/video/buffer/index.d.ts.map +1 -1
- package/build/video/buffer/vertex.d.ts +1 -82
- package/build/video/buffer/vertex.d.ts.map +1 -1
- package/build/video/canvas/canvas_renderer.d.ts +2 -23
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
- package/build/video/canvas_factory.d.ts +1 -24
- package/build/video/canvas_factory.d.ts.map +1 -1
- package/build/video/effects/blendEffect.d.ts +0 -54
- package/build/video/effects/blendEffect.d.ts.map +1 -1
- package/build/video/effects/colorMatrix.d.ts +0 -10
- package/build/video/effects/colorMatrix.d.ts.map +1 -1
- package/build/video/effects/glsl_realization.d.ts +1 -17
- package/build/video/effects/glsl_realization.d.ts.map +1 -1
- package/build/video/effects/radialGradient.d.ts +0 -1
- package/build/video/effects/radialGradient.d.ts.map +1 -1
- package/build/video/effects/shadereffect.d.ts +0 -113
- package/build/video/effects/shadereffect.d.ts.map +1 -1
- package/build/video/effects/wgsl/layout.d.ts +1 -27
- package/build/video/effects/wgsl/layout.d.ts.map +1 -1
- package/build/video/effects/wgsl/parse.d.ts +1 -8
- package/build/video/effects/wgsl/parse.d.ts.map +1 -1
- package/build/video/effects/wgsl/scaffold.d.ts +1 -42
- package/build/video/effects/wgsl/scaffold.d.ts.map +1 -1
- package/build/video/effects/wgsl_realization.d.ts +1 -82
- package/build/video/effects/wgsl_realization.d.ts.map +1 -1
- package/build/video/gpu/batcher.d.ts +1 -13
- package/build/video/gpu/batcher.d.ts.map +1 -1
- package/build/video/gpu/instancerecord.d.ts +1 -163
- package/build/video/gpu/instancerecord.d.ts.map +1 -1
- package/build/video/gpu/meshchunk.d.ts +1 -48
- package/build/video/gpu/meshchunk.d.ts.map +1 -1
- package/build/video/gpu/meshvertex.d.ts +1 -53
- package/build/video/gpu/meshvertex.d.ts.map +1 -1
- package/build/video/gpu/primitives.d.ts +1 -59
- package/build/video/gpu/primitives.d.ts.map +1 -1
- package/build/video/gpu/quadcorners.d.ts +1 -10
- package/build/video/gpu/quadcorners.d.ts.map +1 -1
- package/build/video/gpu/textureslots.d.ts +1 -121
- package/build/video/gpu/textureslots.d.ts.map +1 -1
- package/build/video/gpu/texturestore.d.ts +1 -138
- package/build/video/gpu/texturestore.d.ts.map +1 -1
- package/build/video/gpu/topology.d.ts.map +1 -1
- package/build/video/gpu/vertexformat.d.ts +0 -28
- package/build/video/gpu/vertexformat.d.ts.map +1 -1
- package/build/video/gradient.d.ts +0 -81
- package/build/video/gradient.d.ts.map +1 -1
- package/build/video/renderer.d.ts +21 -102
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/renderstate.d.ts +0 -51
- package/build/video/renderstate.d.ts.map +1 -1
- package/build/video/rendertarget/canvasrendertarget.d.ts +0 -10
- package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -1
- package/build/video/rendertarget/render_target_pool.d.ts +1 -82
- package/build/video/rendertarget/render_target_pool.d.ts.map +1 -1
- package/build/video/rendertarget/webglrendertarget.d.ts +1 -64
- package/build/video/rendertarget/webglrendertarget.d.ts.map +1 -1
- package/build/video/rendertarget/webgpurendertarget.d.ts +0 -8
- package/build/video/rendertarget/webgpurendertarget.d.ts.map +1 -1
- package/build/video/texture/atlas.d.ts +1 -75
- package/build/video/texture/atlas.d.ts.map +1 -1
- package/build/video/texture/cache.d.ts +0 -136
- package/build/video/texture/cache.d.ts.map +1 -1
- package/build/video/texture/frametexture.d.ts +1 -71
- package/build/video/texture/frametexture.d.ts.map +1 -1
- package/build/video/texture/noise_texture2d.d.ts +0 -43
- package/build/video/texture/noise_texture2d.d.ts.map +1 -1
- package/build/video/texture/parser/aseprite.d.ts +1 -8
- package/build/video/texture/parser/aseprite.d.ts.map +1 -1
- package/build/video/texture/parser/spritesheet.d.ts +1 -8
- package/build/video/texture/parser/spritesheet.d.ts.map +1 -1
- package/build/video/texture/parser/texturepacker.d.ts +1 -8
- package/build/video/texture/parser/texturepacker.d.ts.map +1 -1
- package/build/video/texture/resource.d.ts +0 -9
- package/build/video/texture/resource.d.ts.map +1 -1
- package/build/video/texture/texture2d.d.ts +0 -11
- package/build/video/texture/texture2d.d.ts.map +1 -1
- package/build/video/utils/autodetect.d.ts +1 -5
- package/build/video/utils/autodetect.d.ts.map +1 -1
- package/build/video/webgl/batchers/batcher.d.ts +0 -55
- package/build/video/webgl/batchers/batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts +0 -14
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/lit_quad_batcher.d.ts +0 -72
- package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/material_batcher.d.ts +0 -89
- package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/mesh_batcher.d.ts +14 -343
- package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/primitive_batcher.d.ts +0 -10
- package/build/video/webgl/batchers/primitive_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/quad_batcher.d.ts +0 -30
- package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/buffer/index.d.ts +1 -36
- package/build/video/webgl/buffer/index.d.ts.map +1 -1
- package/build/video/webgl/buffer/instance_buffer.d.ts +1 -53
- package/build/video/webgl/buffer/instance_buffer.d.ts.map +1 -1
- package/build/video/webgl/buffer/retained_geometry.d.ts +1 -81
- package/build/video/webgl/buffer/retained_geometry.d.ts.map +1 -1
- package/build/video/webgl/buffer/uniformblock.d.ts +1 -80
- package/build/video/webgl/buffer/uniformblock.d.ts.map +1 -1
- package/build/video/webgl/buffer/vertexstate.d.ts +1 -100
- package/build/video/webgl/buffer/vertexstate.d.ts.map +1 -1
- package/build/video/webgl/glshader.d.ts +0 -49
- package/build/video/webgl/glshader.d.ts.map +1 -1
- package/build/video/webgl/lighting/pack3d.d.ts +1 -47
- package/build/video/webgl/lighting/pack3d.d.ts.map +1 -1
- package/build/video/webgl/lighting/std140.d.ts +1 -109
- package/build/video/webgl/lighting/std140.d.ts.map +1 -1
- package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts +1 -103
- package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
- package/build/video/webgl/shaders/multitexture-lit.d.ts +1 -26
- package/build/video/webgl/shaders/multitexture-lit.d.ts.map +1 -1
- package/build/video/webgl/shaders/multitexture.d.ts +1 -9
- package/build/video/webgl/shaders/multitexture.d.ts.map +1 -1
- package/build/video/webgl/texture/store.d.ts +1 -50
- package/build/video/webgl/texture/store.d.ts.map +1 -1
- package/build/video/webgl/utils/attributes.d.ts +1 -11
- package/build/video/webgl/utils/attributes.d.ts.map +1 -1
- package/build/video/webgl/utils/maxtextures.d.ts +1 -36
- package/build/video/webgl/utils/maxtextures.d.ts.map +1 -1
- package/build/video/webgl/utils/precision.d.ts +1 -14
- package/build/video/webgl/utils/precision.d.ts.map +1 -1
- package/build/video/webgl/utils/program.d.ts +1 -5
- package/build/video/webgl/utils/program.d.ts.map +1 -1
- package/build/video/webgl/utils/samplercache.d.ts +1 -68
- package/build/video/webgl/utils/samplercache.d.ts.map +1 -1
- package/build/video/webgl/utils/string.d.ts +1 -21
- package/build/video/webgl/utils/string.d.ts.map +1 -1
- package/build/video/webgl/utils/topology.d.ts +1 -23
- package/build/video/webgl/utils/topology.d.ts.map +1 -1
- package/build/video/webgl/utils/uniforms.d.ts +1 -25
- package/build/video/webgl/utils/uniforms.d.ts.map +1 -1
- package/build/video/webgl/utils/vertexformat.d.ts +1 -26
- package/build/video/webgl/utils/vertexformat.d.ts.map +1 -1
- package/build/video/webgl/webgl_renderer.d.ts +22 -285
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
- package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts +0 -6
- package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts.map +1 -1
- package/build/video/webgpu/batchers/lit_quad_batcher.d.ts +0 -8
- package/build/video/webgpu/batchers/lit_quad_batcher.d.ts.map +1 -1
- package/build/video/webgpu/batchers/mesh_batcher.d.ts +1 -230
- package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgpu/batchers/primitive_batcher.d.ts.map +1 -1
- package/build/video/webgpu/batchers/quad_batcher.d.ts +0 -82
- package/build/video/webgpu/batchers/quad_batcher.d.ts.map +1 -1
- package/build/video/webgpu/buffer/arena.d.ts +1 -63
- package/build/video/webgpu/buffer/arena.d.ts.map +1 -1
- package/build/video/webgpu/buffer/instance_buffer.d.ts +1 -64
- package/build/video/webgpu/buffer/instance_buffer.d.ts.map +1 -1
- package/build/video/webgpu/buffer/retained_geometry.d.ts +1 -54
- package/build/video/webgpu/buffer/retained_geometry.d.ts.map +1 -1
- package/build/video/webgpu/buffer/uniformring.d.ts +1 -67
- package/build/video/webgpu/buffer/uniformring.d.ts.map +1 -1
- package/build/video/webgpu/effect_binding.d.ts +1 -16
- package/build/video/webgpu/effect_binding.d.ts.map +1 -1
- package/build/video/webgpu/pipeline/bindgroups.d.ts +1 -32
- package/build/video/webgpu/pipeline/bindgroups.d.ts.map +1 -1
- package/build/video/webgpu/pipeline/cache.d.ts +1 -163
- package/build/video/webgpu/pipeline/cache.d.ts.map +1 -1
- package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts +1 -87
- package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
- package/build/video/webgpu/shaders/mesh-instanced.d.ts +1 -43
- package/build/video/webgpu/shaders/mesh-instanced.d.ts.map +1 -1
- package/build/video/webgpu/texture/compressed.d.ts +1 -32
- package/build/video/webgpu/texture/compressed.d.ts.map +1 -1
- package/build/video/webgpu/texture/frametexture.d.ts +1 -62
- package/build/video/webgpu/texture/frametexture.d.ts.map +1 -1
- package/build/video/webgpu/texture/store.d.ts +1 -147
- package/build/video/webgpu/texture/store.d.ts.map +1 -1
- package/build/video/webgpu/webgpu_renderer.d.ts +0 -88
- package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
- package/package.json +5 -4
- package/skills/melonjs/SKILL.md +1 -1
- package/skills/melonjs-3d/SKILL.md +301 -2
- package/skills/melonjs-3d-assets/SKILL.md +25 -6
- package/skills/melonjs-audio/SKILL.md +21 -0
- package/skills/melonjs-camera-and-drawing/SKILL.md +4 -0
- package/skills/melonjs-effects-and-shaders/SKILL.md +2 -1
- package/skills/melonjs-loading-assets/SKILL.md +30 -1
- package/skills/melonjs-performance/SKILL.md +5 -0
- package/skills/melonjs-tilemaps/SKILL.md +31 -11
- package/skills/melonjs-ui-and-text/SKILL.md +17 -127
|
@@ -1,164 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* The per-instance record shared by both GPU backends (#1508).
|
|
4
|
-
*
|
|
5
|
-
* An instance carries a **row-major 3×4 affine transform** — three `vec4`
|
|
6
|
-
* rows — rather than a full 4×4: the bottom row of an affine matrix is
|
|
7
|
-
* always `(0, 0, 0, 1)`, so storing it would waste 16 bytes and a fourth
|
|
8
|
-
* attribute slot per instance. Two further slots are opt-in, declared once
|
|
9
|
-
* per instanced mesh:
|
|
10
|
-
*
|
|
11
|
-
* The transform occupies 12 floats (48 bytes); a colour slot adds 4 more
|
|
12
|
-
* (16 bytes) when `instanceColors` is declared, and a custom-data slot
|
|
13
|
-
* another 4 when `instanceData` is.
|
|
14
|
-
*
|
|
15
|
-
* Colour is four floats rather than four packed bytes for the same reason
|
|
16
|
-
* `aColor` is on the mesh vertex layout: a packed 4-byte slot can form a
|
|
17
|
-
* NaN bit pattern that Apple's Metal-backed driver canonicalizes on upload,
|
|
18
|
-
* zeroing the bytes the shader reads.
|
|
19
|
-
*
|
|
20
|
-
* The custom slot is deliberately **opaque** — the stock lit shader reads
|
|
21
|
-
* its `rgb` as emissive, while a custom mesh shader is free to read it as a
|
|
22
|
-
* wind phase, an atlas offset or a random seed.
|
|
23
|
-
* @ignore
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* floats occupied by the 3×4 transform
|
|
27
|
-
* @ignore
|
|
28
|
-
*/
|
|
29
|
-
export declare const TRANSFORM_FLOATS = 12;
|
|
30
|
-
/**
|
|
31
|
-
* floats occupied by an optional `vec4` slot
|
|
32
|
-
* @ignore
|
|
33
|
-
*/
|
|
34
|
-
export declare const SLOT_FLOATS = 4;
|
|
35
|
-
/**
|
|
36
|
-
* Describes one instanced mesh's record: how wide it is and where each
|
|
37
|
-
* optional slot begins. Offsets are in floats; multiply by 4 for bytes.
|
|
38
|
-
* @ignore
|
|
39
|
-
*/
|
|
40
|
-
export interface InstanceRecordLayout {
|
|
41
|
-
/** floats per instance */
|
|
42
|
-
floats: number;
|
|
43
|
-
/** bytes per instance (the vertex-buffer `arrayStride`) */
|
|
44
|
-
stride: number;
|
|
45
|
-
/** float offset of the colour slot, or -1 when absent */
|
|
46
|
-
colorOffset: number;
|
|
47
|
-
/** float offset of the custom-data slot, or -1 when absent */
|
|
48
|
-
dataOffset: number;
|
|
49
|
-
/** whether the colour slot is present */
|
|
50
|
-
hasColor: boolean;
|
|
51
|
-
/** whether the custom-data slot is present */
|
|
52
|
-
hasData: boolean;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Build the record layout for the given opt-in slots.
|
|
56
|
-
* @param hasColor - whether a per-instance colour slot is present
|
|
57
|
-
* @param hasData - whether a per-instance custom `vec4` slot is present
|
|
58
|
-
* @returns the resolved layout
|
|
59
|
-
* @ignore
|
|
60
|
-
*/
|
|
61
|
-
export declare function instanceRecordLayout(hasColor: boolean, hasData: boolean): InstanceRecordLayout;
|
|
62
|
-
/**
|
|
63
|
-
* Write a matrix into an instance record as three row-major `vec4` rows.
|
|
64
|
-
*
|
|
65
|
-
* `Matrix3d` stores its values **column-major** (the GL convention —
|
|
66
|
-
* translation lives at `val[12..14]`), so this transposes the upper 3×4 on
|
|
67
|
-
* the way in. The shader transposes back when it rebuilds a `mat4`.
|
|
68
|
-
* @param target - the CPU-side instance buffer
|
|
69
|
-
* @param offset - float offset of this instance's record
|
|
70
|
-
* @param matrix - the transform to write
|
|
71
|
-
* @ignore
|
|
72
|
-
*/
|
|
73
|
-
export declare function writeInstanceTransform(target: Float32Array, offset: number, matrix: Matrix3d): void;
|
|
74
|
-
/**
|
|
75
|
-
* Write a translation / rotation / scale triple into an instance record.
|
|
76
|
-
*
|
|
77
|
-
* This is the shape authored instancing arrives in: glTF's
|
|
78
|
-
* `EXT_mesh_gpu_instancing` stores per-instance `TRANSLATION`, `ROTATION`
|
|
79
|
-
* (a quaternion) and `SCALE` accessors rather than matrices. Composing them
|
|
80
|
-
* straight into the record avoids building a `Matrix3d` per instance —
|
|
81
|
-
* a forest of five thousand trees would otherwise allocate five thousand
|
|
82
|
-
* throwaway matrices at load.
|
|
83
|
-
*
|
|
84
|
-
* The rotation is applied first, then scale, then translation (glTF's
|
|
85
|
-
* `T * R * S` convention), and the result is transposed into the record's
|
|
86
|
-
* row-major rows.
|
|
87
|
-
* @param target - the CPU-side instance buffer
|
|
88
|
-
* @param offset - float offset of this instance's record
|
|
89
|
-
* @param tx - translation x
|
|
90
|
-
* @param ty - translation y
|
|
91
|
-
* @param tz - translation z
|
|
92
|
-
* @param qx - rotation quaternion x
|
|
93
|
-
* @param qy - rotation quaternion y
|
|
94
|
-
* @param qz - rotation quaternion z
|
|
95
|
-
* @param qw - rotation quaternion w
|
|
96
|
-
* @param sx - scale x
|
|
97
|
-
* @param sy - scale y
|
|
98
|
-
* @param sz - scale z
|
|
99
|
-
* @ignore
|
|
100
|
-
*/
|
|
101
|
-
export declare function writeInstanceTRS(target: Float32Array, offset: number, tx: number, ty: number, tz: number, qx: number, qy: number, qz: number, qw: number, sx: number, sy: number, sz: number): void;
|
|
102
|
-
/**
|
|
103
|
-
* Write an identity transform into an instance record — what a freshly
|
|
104
|
-
* grown slot holds until the caller places it, so an unplaced instance
|
|
105
|
-
* renders at the group origin rather than collapsing onto a zero matrix.
|
|
106
|
-
* @param target - the CPU-side instance buffer
|
|
107
|
-
* @param offset - float offset of this instance's record
|
|
108
|
-
* @ignore
|
|
109
|
-
*/
|
|
110
|
-
export declare function writeIdentityTransform(target: Float32Array, offset: number): void;
|
|
111
|
-
/**
|
|
112
|
-
* Read an instance's transform back into a `Matrix3d`, undoing the
|
|
113
|
-
* row-major packing.
|
|
114
|
-
* @param source - the CPU-side instance buffer
|
|
115
|
-
* @param offset - float offset of this instance's record
|
|
116
|
-
* @param out - the matrix to write into
|
|
117
|
-
* @returns `out`
|
|
118
|
-
* @ignore
|
|
119
|
-
*/
|
|
120
|
-
export declare function readInstanceTransform(source: Float32Array, offset: number, out: Matrix3d): Matrix3d;
|
|
121
|
-
/**
|
|
122
|
-
* The attribute names an instanced shader declares, in record order. Shared
|
|
123
|
-
* by both backends so the GL attribute records and the WGSL vertex layout
|
|
124
|
-
* describe the same thing.
|
|
125
|
-
* @ignore
|
|
126
|
-
*/
|
|
127
|
-
export declare const INSTANCE_ATTRIBUTE_NAMES: {
|
|
128
|
-
readonly rows: readonly ["aInstanceRow0", "aInstanceRow1", "aInstanceRow2"];
|
|
129
|
-
readonly color: "aInstanceColor";
|
|
130
|
-
readonly data: "aInstanceData";
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* Shader locations for the instance slots, counted from the first location
|
|
134
|
-
* after a tier's geometry attributes.
|
|
135
|
-
*
|
|
136
|
-
* These are **fixed per slot rather than sequential**, so a variant that
|
|
137
|
-
* omits the colour slot does not shift the data slot down. On WebGPU that is
|
|
138
|
-
* what lets one WGSL module text serve every variant — WGSL has no
|
|
139
|
-
* preprocessor to renumber `@location` with — and on WebGL it keeps the two
|
|
140
|
-
* backends describing the same thing.
|
|
141
|
-
* @ignore
|
|
142
|
-
*/
|
|
143
|
-
export declare const INSTANCE_SLOT_OFFSETS: {
|
|
144
|
-
readonly rows: readonly [0, 1, 2];
|
|
145
|
-
readonly color: 3;
|
|
146
|
-
readonly data: 4;
|
|
147
|
-
};
|
|
148
|
-
/**
|
|
149
|
-
* Backend-neutral attribute descriptors for an instance record, in the
|
|
150
|
-
* `{name, format, offset}` vocabulary both backends consume.
|
|
151
|
-
* @param layout - the record layout
|
|
152
|
-
* @param baseLocation - first shader location for this record (the location
|
|
153
|
-
* after the tier's geometry attributes). Omit on WebGL, whose attribute
|
|
154
|
-
* locations come from the shader's own declaration order.
|
|
155
|
-
* @returns attribute descriptors covering the whole record
|
|
156
|
-
* @ignore
|
|
157
|
-
*/
|
|
158
|
-
export declare function instanceAttributes(layout: InstanceRecordLayout, baseLocation?: number): {
|
|
159
|
-
name: string;
|
|
160
|
-
format: string;
|
|
161
|
-
offset: number;
|
|
162
|
-
shaderLocation?: number;
|
|
163
|
-
}[];
|
|
1
|
+
export {};
|
|
164
2
|
//# sourceMappingURL=instancerecord.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instancerecord.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/instancerecord.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instancerecord.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/instancerecord.ts"],"names":[],"mappings":""}
|
|
@@ -1,49 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* The versioned-remap vertex dedup shared by the mesh batchers of both
|
|
3
|
-
* backends — pure CPU code, no GPU references (the `lighting/` modules set
|
|
4
|
-
* the precedent for cross-backend sharing).
|
|
5
|
-
*
|
|
6
|
-
* The accumulated mesh path re-indexes each chunk's triangles against a
|
|
7
|
-
* chunk-local vertex range. Dedup uses a "versioned" typed-array remap
|
|
8
|
-
* rather than a `Map`: a `Map` here churned the GC badly, because V8's
|
|
9
|
-
* `Map.clear()` drops the backing table, so re-filling it each chunk
|
|
10
|
-
* reallocated as it grew — and the cost scaled with vertex count (a dense
|
|
11
|
-
* mesh = MBs/sec of garbage). Instead, `remapSlot[orig]` holds the local
|
|
12
|
-
* index assigned to original-vertex `orig` THIS chunk, valid only when
|
|
13
|
-
* `remapStamp[orig] === stamp`. Bumping `stamp` per chunk invalidates every
|
|
14
|
-
* entry in O(1) — no clearing, no allocation. The arrays grow lazily (to a
|
|
15
|
-
* power of two ≥ the largest mesh's vertex count) and are reused.
|
|
16
|
-
*
|
|
17
|
-
* Module-level sharing is safe because a chunk is built synchronously and
|
|
18
|
-
* never re-enters — only one `addMesh` runs at a time, whichever backend
|
|
19
|
-
* (or coexisting renderer) drives it, and no remap state persists across
|
|
20
|
-
* chunks.
|
|
21
|
-
* @ignore
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* Ensure the versioned-remap scratch arrays can index every vertex of a
|
|
25
|
-
* mesh with `vertexCount` vertices. Grows to the next power of two and
|
|
26
|
-
* reuses thereafter (one-time cost when a larger mesh first appears).
|
|
27
|
-
* @ignore
|
|
28
|
-
*/
|
|
29
|
-
export declare function ensureRemapCapacity(vertexCount: number): void;
|
|
30
|
-
/**
|
|
31
|
-
* Start a new chunk: invalidate the whole remap in O(1) and hand back the
|
|
32
|
-
* shared (emptied) chunk-index list. The stamp resets before int32 overflow
|
|
33
|
-
* (~weeks of continuous rendering away), keeping stored stamps valid.
|
|
34
|
-
* @returns the shared chunk-index array, emptied
|
|
35
|
-
* @ignore
|
|
36
|
-
*/
|
|
37
|
-
export declare function beginChunk(): number[];
|
|
38
|
-
/**
|
|
39
|
-
* The local index assigned to `origIdx` this chunk, or -1 when the vertex
|
|
40
|
-
* has not been emitted yet.
|
|
41
|
-
* @ignore
|
|
42
|
-
*/
|
|
43
|
-
export declare function remapIndex(origIdx: number): number;
|
|
44
|
-
/**
|
|
45
|
-
* Record the local index assigned to `origIdx` for the rest of this chunk.
|
|
46
|
-
* @ignore
|
|
47
|
-
*/
|
|
48
|
-
export declare function assignIndex(origIdx: number, localIdx: number): void;
|
|
1
|
+
|
|
49
2
|
//# sourceMappingURL=meshchunk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meshchunk.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/meshchunk.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"meshchunk.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/meshchunk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
|
|
@@ -1,54 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Retained mesh vertex-data assembly shared by the mesh batchers of both
|
|
3
|
-
* backends — pure CPU code, no GPU references (the `meshchunk.ts` /
|
|
4
|
-
* `lighting/` precedent). Kept in ONE place because the two layouts exist
|
|
5
|
-
* in an unlit and a lit variant on each backend, and the subtle parts —
|
|
6
|
-
* the ARGB unpack order and the lit path's zero-length-normal guard —
|
|
7
|
-
* must never drift between the four call sites.
|
|
8
|
-
*
|
|
9
|
-
* The data deliberately carries no placement, camera or tint information —
|
|
10
|
-
* those are uniforms — so it stays valid for the lifetime of the geometry.
|
|
11
|
-
* @ignore
|
|
12
|
-
*/
|
|
13
|
-
/** the minimal mesh surface this module reads — `@ignore` */
|
|
14
|
-
interface RetainedMeshSource {
|
|
15
|
-
originalVertices: Float32Array;
|
|
16
|
-
originalNormals?: Float32Array | null;
|
|
17
|
-
uvs: Float32Array;
|
|
18
|
-
vertexColors?: Uint32Array | null;
|
|
19
|
-
vertexCount: number;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* a reusable Float32Array of at least `floatCount` floats
|
|
23
|
-
* @ignore
|
|
24
|
-
*/
|
|
25
|
-
export declare function retainedScratch(floatCount: number): Float32Array;
|
|
26
|
-
/**
|
|
27
|
-
* Write one mesh's model-space geometry into `out` in the unlit mesh
|
|
28
|
-
* layout — `x, y, z, u, v, r, g, b, a` — striding by `vertexSize`.
|
|
29
|
-
* @param mesh - the mesh to read geometry from
|
|
30
|
-
* @param out - destination scratch, at least `vertexCount × vertexSize` long
|
|
31
|
-
* @param vertexSize - floats per vertex in the hosting batcher's layout
|
|
32
|
-
* @returns number of floats written
|
|
33
|
-
* @ignore
|
|
34
|
-
*/
|
|
35
|
-
export declare function buildMeshVertexData(mesh: RetainedMeshSource, out: Float32Array, vertexSize: number): number;
|
|
36
|
-
/**
|
|
37
|
-
* The lit variant: the unlit layout plus the model-space normal —
|
|
38
|
-
* `…, nx, ny, nz` — so lighting can be evaluated after the shader rotates
|
|
39
|
-
* it into world space.
|
|
40
|
-
*
|
|
41
|
-
* A zero-length normal must not reach the shader: it does
|
|
42
|
-
* `normalize(vNormal)`, and normalizing a zero vector is NaN — every
|
|
43
|
-
* fragment touching that vertex goes black or garbage. Degenerate
|
|
44
|
-
* triangles in OBJ/glTF assets produce these, so substitute a unit
|
|
45
|
-
* vector, matching what the CPU projection path does.
|
|
46
|
-
* @param mesh - the mesh to read geometry from
|
|
47
|
-
* @param out - destination scratch, at least `vertexCount × vertexSize` long
|
|
48
|
-
* @param vertexSize - floats per vertex in the hosting batcher's layout
|
|
49
|
-
* @returns number of floats written
|
|
50
|
-
* @ignore
|
|
51
|
-
*/
|
|
52
|
-
export declare function buildLitMeshVertexData(mesh: RetainedMeshSource, out: Float32Array, vertexSize: number): number;
|
|
53
|
-
export {};
|
|
1
|
+
|
|
54
2
|
//# sourceMappingURL=meshvertex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meshvertex.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/meshvertex.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"meshvertex.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/meshvertex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -1,60 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Primitive-batcher geometry assembly shared by both backends — pure CPU
|
|
3
|
-
* code, no GPU references (the `meshchunk.ts` / `meshvertex.ts`
|
|
4
|
-
* precedent). The vertex layout is the primitive tier's 6-float
|
|
5
|
-
* `x, y, z, nx, ny, packed-color` stream on both backends.
|
|
6
|
-
* @ignore
|
|
7
|
-
*/
|
|
8
|
-
/** the minimal vertex-buffer surface this module writes — `@ignore` */
|
|
9
|
-
interface PrimitiveVertexData {
|
|
10
|
-
push(x: number, y: number, z: number, nx: number, ny: number, color: number): void;
|
|
11
|
-
isFull(count: number): boolean;
|
|
12
|
-
}
|
|
13
|
-
/** a 4×4 column-major transform (Matrix3d-shaped) — `@ignore` */
|
|
14
|
-
interface MatrixLike {
|
|
15
|
-
val: Float32Array;
|
|
16
|
-
isIdentity(): boolean;
|
|
17
|
-
}
|
|
18
|
-
interface PointLike {
|
|
19
|
-
x: number;
|
|
20
|
-
y: number;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Push `verts[start..end)` into the vertex buffer, transformed by the
|
|
24
|
-
* given view matrix. The caller guarantees the range fits.
|
|
25
|
-
*
|
|
26
|
-
* The transform includes the z column (m[8] / m[9] / m[10] / m[14]) so
|
|
27
|
-
* Camera3d's view matrix (X/Y-axis rotation) actually rotates the
|
|
28
|
-
* primitive in 3D. For 2D matrices those slots are identity, so output
|
|
29
|
-
* (x, y, z) is bit-identical to the legacy 2D-only multiply.
|
|
30
|
-
* @ignore
|
|
31
|
-
*/
|
|
32
|
-
export declare function pushPrimitiveRange(vertexData: PrimitiveVertexData, viewMatrix: MatrixLike, verts: PointLike[], start: number, end: number, colorUint32: number, z: number): void;
|
|
33
|
-
/**
|
|
34
|
-
* Expand line pairs into triangles with perpendicular normals. The vertex
|
|
35
|
-
* shader offsets each vertex by `aNormal * uLineWidth * 0.5`, producing
|
|
36
|
-
* thick lines without manual geometry expansion in the renderer. The
|
|
37
|
-
* caller has already switched its draw mode to triangles.
|
|
38
|
-
*
|
|
39
|
-
* Each line pair expands to 2 triangles (6 vertices) — capacity is
|
|
40
|
-
* checked per pair through the `flush` callback, so a dashed/long
|
|
41
|
-
* thick-line path larger than the whole buffer flushes mid-shape instead
|
|
42
|
-
* of silently dropping the out-of-range writes (pairs are independent
|
|
43
|
-
* quads, so a mid-shape flush is invisible).
|
|
44
|
-
*
|
|
45
|
-
* The view matrix is applied (z column included) without mutating the
|
|
46
|
-
* inputs. Note: the perpendicular normal is computed in pre-projection
|
|
47
|
-
* world space, which appears non-perpendicular under perspective — a
|
|
48
|
-
* known limitation shared by both backends.
|
|
49
|
-
* @param vertexData - destination vertex stream
|
|
50
|
-
* @param viewMatrix - the current view matrix
|
|
51
|
-
* @param verts - line vertices in pairs [from, to, from, to, ...]
|
|
52
|
-
* @param vertexCount - number of vertices to consume
|
|
53
|
-
* @param colorUint32 - packed line color
|
|
54
|
-
* @param z - the current renderer depth
|
|
55
|
-
* @param flush - drains the vertex buffer when a pair no longer fits
|
|
56
|
-
* @ignore
|
|
57
|
-
*/
|
|
58
|
-
export declare function expandLinesToTriangles(vertexData: PrimitiveVertexData, viewMatrix: MatrixLike, verts: PointLike[], vertexCount: number, colorUint32: number, z: number, flush: () => void): void;
|
|
59
|
-
export {};
|
|
1
|
+
|
|
60
2
|
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/primitives.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { Vector3d } from "../../math/vector3d.ts";
|
|
3
|
-
/**
|
|
4
|
-
* Set the four corners of an axis-aligned quad and transform them by `m`
|
|
5
|
-
* (skipped when `m` is null/identity — the common untransformed case).
|
|
6
|
-
* Returns the shared corner pool, valid until the next call:
|
|
7
|
-
* `[topLeft, topRight, bottomLeft, bottomRight]`.
|
|
8
|
-
* @ignore
|
|
9
|
-
*/
|
|
10
|
-
export declare function transformQuadCorners(m: Matrix3d | null | undefined, x: number, y: number, w: number, h: number, z: number): Vector3d[];
|
|
1
|
+
export {};
|
|
11
2
|
//# sourceMappingURL=quadcorners.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quadcorners.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/quadcorners.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quadcorners.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/quadcorners.ts"],"names":[],"mappings":""}
|
|
@@ -1,122 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Backend-neutral texture slot assignment.
|
|
3
|
-
*
|
|
4
|
-
* Both GPU backends solve the same problem — "many textures, one draw call" —
|
|
5
|
-
* by giving each texture a small integer slot that the fragment shader selects
|
|
6
|
-
* on per-vertex. Only the *resource* differs: a WebGL texture unit, or an entry
|
|
7
|
-
* in a WebGPU material bind group. The assignment policy (who gets a slot, what
|
|
8
|
-
* happens when they run out, what is dropped) is identical, and used to be
|
|
9
|
-
* written twice — `TextureCache.allocateTextureUnit` on one side,
|
|
10
|
-
* `WebGPUQuadBatcher.segmentSlotFor` on the other — which is how the two drifted.
|
|
11
|
-
*
|
|
12
|
-
* This class owns that policy and nothing else. It never touches a GL unit or a
|
|
13
|
-
* bind group; the caller supplies the binding through the callbacks. That keeps
|
|
14
|
-
* it pure, so the same test suite proves both backends behave alike.
|
|
15
|
-
* @ignore
|
|
16
|
-
*/
|
|
17
|
-
export class TextureSlotTable {
|
|
18
|
-
/**
|
|
19
|
-
* @param {object} options - table configuration
|
|
20
|
-
* @param {number} options.capacity - number of slots, `[0, capacity)`
|
|
21
|
-
* @param {Function} [options.onOverflow] - called when a new key arrives with
|
|
22
|
-
* no slot free. The caller must turn the pending work into GPU work (flush)
|
|
23
|
-
* before the table reassigns slots out from under it.
|
|
24
|
-
* @param {Function} [options.onEvict] - called with each slot index as it is
|
|
25
|
-
* dropped, so the caller can forget its binding for that slot
|
|
26
|
-
* @param {Function} [options.isReserved] - optional predicate; a slot it
|
|
27
|
-
* approves is held out of assignment entirely (WebGL parks `ShaderEffect`
|
|
28
|
-
* extra samplers on high units this way). Reservations survive a reset.
|
|
29
|
-
* @ignore
|
|
30
|
-
*/
|
|
31
|
-
constructor({ capacity, onOverflow, onEvict, isReserved }?: {
|
|
32
|
-
capacity: number;
|
|
33
|
-
onOverflow?: Function | undefined;
|
|
34
|
-
onEvict?: Function | undefined;
|
|
35
|
-
isReserved?: Function | undefined;
|
|
36
|
-
});
|
|
37
|
-
/** @type {Map<string, number>} key → slot */
|
|
38
|
-
slots: Map<string, number>;
|
|
39
|
-
/** @type {Set<number>} occupied slot indices */
|
|
40
|
-
used: Set<number>;
|
|
41
|
-
capacity: number;
|
|
42
|
-
onOverflow: Function | undefined;
|
|
43
|
-
onEvict: Function | undefined;
|
|
44
|
-
isReserved: Function | undefined;
|
|
45
|
-
/**
|
|
46
|
-
* How many slots are currently taken.
|
|
47
|
-
*
|
|
48
|
-
* Occupancy, NOT the key map: slots claimed through {@link claim} carry no
|
|
49
|
-
* key at all (the WebGL cache allocates that way), so counting keys would
|
|
50
|
-
* report an empty table while every unit was in use.
|
|
51
|
-
* @returns {number} the number of occupied slots
|
|
52
|
-
* @ignore
|
|
53
|
-
*/
|
|
54
|
-
get size(): number;
|
|
55
|
-
/**
|
|
56
|
-
* Resize the table. Shrinking evicts every assignment at or above the new
|
|
57
|
-
* capacity; growing keeps everything. Called on context restore / device
|
|
58
|
-
* change, where the resolved limit can differ from the previous one.
|
|
59
|
-
* @param {number} capacity - the new slot count
|
|
60
|
-
* @ignore
|
|
61
|
-
*/
|
|
62
|
-
setCapacity(capacity: number): void;
|
|
63
|
-
/**
|
|
64
|
-
* The slot this key already holds, without assigning one. Use when a miss
|
|
65
|
-
* should not trigger an overflow (probing, debug, bookkeeping).
|
|
66
|
-
* @param {string} key - the slot key
|
|
67
|
-
* @returns {number|undefined} the assigned slot, or `undefined`
|
|
68
|
-
* @ignore
|
|
69
|
-
*/
|
|
70
|
-
peek(key: string): number | undefined;
|
|
71
|
-
/**
|
|
72
|
-
* The lowest assignable slot, or `-1` when every one is taken or reserved.
|
|
73
|
-
* Bounded by `capacity` on purpose: a caller that reserves every slot must
|
|
74
|
-
* get an answer rather than an infinite scan.
|
|
75
|
-
* @returns {number} a free slot index, or -1
|
|
76
|
-
* @ignore
|
|
77
|
-
*/
|
|
78
|
-
freeSlot(): number;
|
|
79
|
-
/**
|
|
80
|
-
* Resolve a key to its slot, assigning one if needed.
|
|
81
|
-
*
|
|
82
|
-
* On exhaustion this calls `onOverflow` (the caller flushes) and then drops
|
|
83
|
-
* every assignment, so the incoming key starts a fresh set — the behaviour
|
|
84
|
-
* both backends already had. The eviction step is deliberately the only
|
|
85
|
-
* policy here: replacing this wipe with something finer (see #1586) changes
|
|
86
|
-
* both backends at once, which is the point of sharing it.
|
|
87
|
-
* @param {string} key - identifies the texture *and* the sampling state it
|
|
88
|
-
* needs, since two draws of one image under different filter/wrap settings
|
|
89
|
-
* cannot share a slot
|
|
90
|
-
* @returns {number} the slot to write into the vertex stream
|
|
91
|
-
* @ignore
|
|
92
|
-
*/
|
|
93
|
-
slotFor(key: string): number;
|
|
94
|
-
/**
|
|
95
|
-
* Take a slot without associating a key with it.
|
|
96
|
-
*
|
|
97
|
-
* The WebGL cache resolves textures to units through its own source-keyed
|
|
98
|
-
* index (a source can hold one unit per wrap mode it was sampled with), so
|
|
99
|
-
* it needs the *policy* — free-slot search honoring reservations, and the
|
|
100
|
-
* flush-then-evict behaviour on exhaustion — without the key map. WebGPU's
|
|
101
|
-
* batcher keys directly and goes through {@link slotFor}, which is this plus
|
|
102
|
-
* the mapping. Both therefore overflow on the same rule.
|
|
103
|
-
* @returns {number} the claimed slot
|
|
104
|
-
* @ignore
|
|
105
|
-
*/
|
|
106
|
-
claim(): number;
|
|
107
|
-
/**
|
|
108
|
-
* Drop a single assignment, freeing its slot. Reservations are untouched —
|
|
109
|
-
* they are owned by whoever reserved them, not by the table.
|
|
110
|
-
* @param {string} key - the slot key to release
|
|
111
|
-
* @returns {boolean} whether the key held a slot
|
|
112
|
-
* @ignore
|
|
113
|
-
*/
|
|
114
|
-
release(key: string): boolean;
|
|
115
|
-
/**
|
|
116
|
-
* Drop every assignment. `onEvict` fires once per slot that was live, so a
|
|
117
|
-
* caller tracking bindings per slot can forget exactly those.
|
|
118
|
-
* @ignore
|
|
119
|
-
*/
|
|
120
|
-
reset(): void;
|
|
121
|
-
}
|
|
1
|
+
|
|
122
2
|
//# sourceMappingURL=textureslots.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textureslots.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/textureslots.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"textureslots.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/textureslots.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;;;;;;;;;;;;OAaG;IACH,4DAZG;QAAwB,QAAQ,EAAxB,MAAM;QACa,UAAU;QAGV,OAAO;QAEP,UAAU;KAGrC,EAYF;IARA,6CAA6C;IAC7C,OADW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CACR;IACtB,gDAAgD;IAChD,MADW,GAAG,CAAC,MAAM,CAAC,CACD;IACrB,iBAA6B;IAC7B,iCAA4B;IAC5B,8BAAsB;IACtB,iCAA4B;IAG7B;;;;;;;;;OASG;IACH,YAJa,MAAM,CAMlB;IAED;;;;;;;OAOG;IACH,sBAJW,MAAM,QAqBhB;IAED;;;;;;;OAOG;IACH,UALW,MAAM,GACJ,MAAM,GAAC,SAAS,CAM5B;IAED;;;;;;;OAOG;IACH,YAJa,MAAM,CAWlB;IAED;;;;;;;;;;;;;;OAcG;IACH,aAPW,MAAM,GAGJ,MAAM,CAYlB;IAED;;;;;;;;;;;;OAYG;IACH,SAJa,MAAM,CAuBlB;IAED;;;;;;;OAOG;IACH,aALW,MAAM,GACJ,OAAO,CAanB;IAED;;;;;OAKG;IACH,cAQC;CACD"}
|
|
@@ -1,139 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Backend-neutral texture residency.
|
|
3
|
-
*
|
|
4
|
-
* There are two separate questions about a texture, and conflating them is
|
|
5
|
-
* what makes a GPU renderer re-upload work it already has:
|
|
6
|
-
*
|
|
7
|
-
* - **which slot is it in, for this draw?** — transient, per-batch, bounded by
|
|
8
|
-
* the shader's sampler count. That is {@link TextureSlotTable}.
|
|
9
|
-
* - **does it exist on the GPU, and is its content current?** — persistent,
|
|
10
|
-
* per-source, bounded by disposal. That is this class.
|
|
11
|
-
*
|
|
12
|
-
* The WebGL backend used to answer both with one field (`boundTextures[unit]`),
|
|
13
|
-
* so dropping a slot assignment destroyed the texture handle and the next draw
|
|
14
|
-
* rebuilt it from scratch — a full re-upload and mip regeneration per quad,
|
|
15
|
-
* once past the batching limit.
|
|
16
|
-
*
|
|
17
|
-
* This class owns the source → record index, the reuse-or-upload decision, and
|
|
18
|
-
* the lifetime bookkeeping. It touches no GL or WebGPU API: each backend
|
|
19
|
-
* supplies `onCreate` / `onUpload` / `onDestroy`, exactly as the slot table
|
|
20
|
-
* takes its binding through callbacks. That keeps the decision logic identical
|
|
21
|
-
* on both backends and testable without a device.
|
|
22
|
-
* @ignore
|
|
23
|
-
*/
|
|
24
|
-
export class TextureStore {
|
|
25
|
-
/**
|
|
26
|
-
* @param {object} [options] - store configuration
|
|
27
|
-
* @param {Function} [options.onCreate] - `(source, options) => handle`, allocate
|
|
28
|
-
* the backing GPU texture for a source seen for the first time
|
|
29
|
-
* @param {Function} [options.onUpload] - `(handle, source, record, options) => handle`,
|
|
30
|
-
* push the source's current content. May return a *replacement* handle when
|
|
31
|
-
* the shape changed and the old one cannot be respecified (immutable
|
|
32
|
-
* storage); returning nothing keeps the existing handle.
|
|
33
|
-
* @param {Function} [options.onDestroy] - `(handle, source)`, release the
|
|
34
|
-
* GPU texture. Called exactly once per handle.
|
|
35
|
-
* @ignore
|
|
36
|
-
*/
|
|
37
|
-
constructor({ onCreate, onUpload, onDestroy }?: {
|
|
38
|
-
onCreate?: Function | undefined;
|
|
39
|
-
onUpload?: Function | undefined;
|
|
40
|
-
onDestroy?: Function | undefined;
|
|
41
|
-
});
|
|
42
|
-
/** @type {Map<object, {handle: *, version: number, generation: number}>} */
|
|
43
|
-
records: Map<object, {
|
|
44
|
-
handle: any;
|
|
45
|
-
version: number;
|
|
46
|
-
generation: number;
|
|
47
|
-
}>;
|
|
48
|
-
/**
|
|
49
|
-
* Allocate the backing GPU texture for a source seen for the first time.
|
|
50
|
-
* @param {object} source - the image/canvas/resource
|
|
51
|
-
* @param {object} options - the resolve options
|
|
52
|
-
* @returns {*} the new handle
|
|
53
|
-
* @ignore
|
|
54
|
-
*/
|
|
55
|
-
onCreate(source: object, options: object): any;
|
|
56
|
-
/**
|
|
57
|
-
* Push the source's current content. May return a REPLACEMENT handle when
|
|
58
|
-
* the shape changed and the old one cannot be respecified.
|
|
59
|
-
* @param {*} handle - the existing handle
|
|
60
|
-
* @param {object} source - the image/canvas/resource
|
|
61
|
-
* @param {object} record - the resident record
|
|
62
|
-
* @param {object} options - the resolve options
|
|
63
|
-
* @returns {*} a replacement handle, or nothing to keep the existing one
|
|
64
|
-
* @ignore
|
|
65
|
-
*/
|
|
66
|
-
onUpload(handle: any, source: object, record: object, options: object): any;
|
|
67
|
-
/**
|
|
68
|
-
* Release a GPU texture. Called exactly once per handle.
|
|
69
|
-
* @param {*} handle - the handle to release
|
|
70
|
-
* @param {object} source - the source it belonged to
|
|
71
|
-
* @ignore
|
|
72
|
-
*/
|
|
73
|
-
onDestroy(handle: any, source: object): void;
|
|
74
|
-
generation: number;
|
|
75
|
-
/**
|
|
76
|
-
* how many sources are currently resident
|
|
77
|
-
* @returns {number} the record count
|
|
78
|
-
* @ignore
|
|
79
|
-
*/
|
|
80
|
-
get size(): number;
|
|
81
|
-
/**
|
|
82
|
-
* The live record for a source, uploading only when it is genuinely needed:
|
|
83
|
-
* the source has never been seen, its content changed, its handle predates
|
|
84
|
-
* the current context, or the caller forced it.
|
|
85
|
-
*
|
|
86
|
-
* A texture that merely moved to a different slot is NOT a reason to upload
|
|
87
|
-
* — that is the whole point of separating residency from slot assignment.
|
|
88
|
-
* @param {object} source - the image/canvas/resource backing the texture
|
|
89
|
-
* @param {object} [options] - resolution options
|
|
90
|
-
* @param {number} [options.version=0] - the source's content revision; a
|
|
91
|
-
* change from the recorded value forces a re-upload
|
|
92
|
-
* @param {boolean} [options.force=false] - re-upload regardless
|
|
93
|
-
* @returns {{handle: *, version: number, generation: number, uploaded: boolean}}
|
|
94
|
-
* the record, with `uploaded` reporting whether this call did GPU work
|
|
95
|
-
* @ignore
|
|
96
|
-
*/
|
|
97
|
-
getResidentRecord(source: object, options?: {
|
|
98
|
-
version?: number | undefined;
|
|
99
|
-
force?: boolean | undefined;
|
|
100
|
-
}): {
|
|
101
|
-
handle: any;
|
|
102
|
-
version: number;
|
|
103
|
-
generation: number;
|
|
104
|
-
uploaded: boolean;
|
|
105
|
-
};
|
|
106
|
-
/**
|
|
107
|
-
* The record for a source without resolving one, for callers that must not
|
|
108
|
-
* trigger GPU work (bookkeeping, debug, invalidation checks).
|
|
109
|
-
* @param {object} source - the source to look up
|
|
110
|
-
* @returns {object|undefined} the record, or `undefined`
|
|
111
|
-
* @ignore
|
|
112
|
-
*/
|
|
113
|
-
peek(source: object): object | undefined;
|
|
114
|
-
/**
|
|
115
|
-
* Release the GPU texture for one source. Driven by the source going away
|
|
116
|
-
* — never by a slot being reassigned, which is exactly the coupling this
|
|
117
|
-
* class exists to break.
|
|
118
|
-
* @param {object} source - the disposed source
|
|
119
|
-
* @returns {boolean} whether a record was held
|
|
120
|
-
* @ignore
|
|
121
|
-
*/
|
|
122
|
-
destroyTexture(source: object): boolean;
|
|
123
|
-
/**
|
|
124
|
-
* Drop every record and bump the generation. Called on context or device
|
|
125
|
-
* loss.
|
|
126
|
-
*
|
|
127
|
-
* This CLEARS the store in place — callers must never respond to a restore
|
|
128
|
-
* by constructing a replacement store. Doing so orphans every handle the
|
|
129
|
-
* old one was tracking, so the *second* loss leaks everything it had
|
|
130
|
-
* accumulated since the first. Both WebGL batchers re-run `init()` on
|
|
131
|
-
* restore, which is precisely how that mistake gets made here.
|
|
132
|
-
* @param {boolean} [destroy=false] - whether to release the handles first.
|
|
133
|
-
* Leave `false` for a lost context (the GPU objects are already gone);
|
|
134
|
-
* pass `true` for an orderly teardown.
|
|
135
|
-
* @ignore
|
|
136
|
-
*/
|
|
137
|
-
releaseAll(destroy?: boolean): void;
|
|
138
|
-
}
|
|
1
|
+
|
|
139
2
|
//# sourceMappingURL=texturestore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texturestore.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/texturestore.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"texturestore.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/texturestore.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IACC;;;;;;;;;;;;OAYG;IACH,gDAXG;QAA2B,QAAQ;QAER,QAAQ;QAIR,SAAS;KAEpC,EAwBF;IApBA,4EAA4E;IAC5E,SADW,GAAG,CAAC,MAAM,EAAE;QAAC,MAAM,EAAE,GAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC,CAChD;IAqBzB;;;;;;;OAOG;IACH,iBANW,MAAM,WACN,MAAM,GACJ,GAAC,CAQb;IAED;;;;;;;;;;OAUG;IACH,iBARW,GAAC,UACD,MAAM,UACN,MAAM,WACN,MAAM,GACJ,GAAC,CAUb;IAED;;;;;;OAMG;IACH,kBALW,GAAC,UACD,MAAM,QAOhB;IA9CA,mBAAmB;IAgDpB;;;;;OAKG;IACH,YAJa,MAAM,CAMlB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,0BAVW,MAAM,YAEd;QAAyB,OAAO;QAEN,KAAK;KAC/B,GAAU;QAAC,MAAM,EAAE,GAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAC,CAsC/E;IAED;;;;;;;OAOG;IACH,aALW,MAAM,GACJ,MAAM,GAAC,SAAS,CAM5B;IAED;;;;;;;;OAQG;IACH,uBALW,MAAM,GACJ,OAAO,CAcnB;IAED;;;;;;;;;;;;;;OAcG;IACH,qBANW,OAAO,QAgBjB;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/topology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GACjB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAElB;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,uFAMQ,CAAC;
|
|
1
|
+
{"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/topology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GACjB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAElB;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,uFAMQ,CAAC;AAiBzC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE9D"}
|