@tolokoban/tgd 2.0.18 → 2.0.22
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/lib/dist/buffer/buffer.d.ts +5 -2
- package/lib/dist/buffer/buffer.d.ts.map +1 -1
- package/lib/dist/buffer/buffer.js +14 -14
- package/lib/dist/camera/camera-node.d.ts +2 -2
- package/lib/dist/camera/camera-node.d.ts.map +1 -1
- package/lib/dist/camera/camera-node.js +4 -5
- package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
- package/lib/dist/camera/camera-orthographic.js +14 -12
- package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
- package/lib/dist/camera/camera-perspective.js +20 -38
- package/lib/dist/camera/camera.d.ts +9 -56
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +50 -279
- package/lib/dist/camera/index.d.ts +0 -1
- package/lib/dist/camera/index.d.ts.map +1 -1
- package/lib/dist/camera/index.js +1 -2
- package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
- package/lib/dist/canvas/gizmo/gizmo.js +72 -78
- package/lib/dist/canvas/gizmo/painter/tips.d.ts +0 -1
- package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -1
- package/lib/dist/canvas/gizmo/painter/tips.js +38 -36
- package/lib/dist/canvas/landscape/landscape.js +4 -11
- package/lib/dist/code/color.d.ts +12 -0
- package/lib/dist/code/color.d.ts.map +1 -0
- package/lib/dist/code/color.js +26 -0
- package/lib/dist/code/consts.d.ts +16 -0
- package/lib/dist/code/consts.d.ts.map +1 -0
- package/lib/dist/code/consts.js +20 -0
- package/lib/dist/code/coords.d.ts +46 -0
- package/lib/dist/code/coords.d.ts.map +1 -0
- package/lib/dist/code/coords.js +95 -0
- package/lib/dist/code/index.d.ts +6 -0
- package/lib/dist/code/index.d.ts.map +1 -0
- package/lib/dist/code/index.js +6 -0
- package/lib/dist/code/random.d.ts +8 -0
- package/lib/dist/code/random.d.ts.map +1 -0
- package/lib/dist/code/random.js +13 -0
- package/lib/dist/code/transfo.d.ts +8 -0
- package/lib/dist/code/transfo.d.ts.map +1 -0
- package/lib/dist/code/transfo.js +19 -0
- package/lib/dist/color/color.js +24 -24
- package/lib/dist/context/animation/animation-manager.js +9 -6
- package/lib/dist/context/context.d.ts +11 -18
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +71 -96
- package/lib/dist/controller/camera/orbit.d.ts +33 -4
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +163 -117
- package/lib/dist/dataset/dataset.d.ts +1 -1
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +72 -72
- package/lib/dist/debug/debug.d.ts +1 -1
- package/lib/dist/debug/debug.d.ts.map +1 -1
- package/lib/dist/debug/debug.js +8 -7
- package/lib/dist/debug/tools.js +3 -3
- package/lib/dist/event/event.js +6 -3
- package/lib/dist/filter/blur.d.ts.map +1 -1
- package/lib/dist/filter/blur.js +9 -8
- package/lib/dist/filter/chromatic-aberration.js +10 -10
- package/lib/dist/filter/filter.d.ts +2 -1
- package/lib/dist/filter/filter.d.ts.map +1 -1
- package/lib/dist/filter/filter.js +22 -22
- package/lib/dist/filter/hue-rotation.d.ts +1 -1
- package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
- package/lib/dist/filter/hue-rotation.js +5 -5
- package/lib/dist/filter/index.d.ts +1 -0
- package/lib/dist/filter/index.d.ts.map +1 -1
- package/lib/dist/filter/index.js +2 -1
- package/lib/dist/filter/verbatim.d.ts +8 -0
- package/lib/dist/filter/verbatim.d.ts.map +1 -0
- package/lib/dist/filter/verbatim.js +20 -0
- package/lib/dist/filter/zoom.d.ts +3 -1
- package/lib/dist/filter/zoom.d.ts.map +1 -1
- package/lib/dist/filter/zoom.js +10 -6
- package/lib/dist/geometry/box.d.ts +2 -1
- package/lib/dist/geometry/box.d.ts.map +1 -1
- package/lib/dist/geometry/box.js +103 -115
- package/lib/dist/geometry/geometry.d.ts.map +1 -1
- package/lib/dist/geometry/geometry.js +38 -48
- package/lib/dist/geometry/index.d.ts +1 -0
- package/lib/dist/geometry/index.d.ts.map +1 -1
- package/lib/dist/geometry/index.js +2 -1
- package/lib/dist/geometry/plane.d.ts +12 -0
- package/lib/dist/geometry/plane.d.ts.map +1 -0
- package/lib/dist/geometry/plane.js +51 -0
- package/lib/dist/index.d.ts +6 -1
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +7 -2
- package/lib/dist/input/inputs.js +3 -4
- package/lib/dist/input/keyboard.js +14 -14
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +85 -112
- package/lib/dist/interface/transformable.d.ts +3 -1
- package/lib/dist/interface/transformable.d.ts.map +1 -1
- package/lib/dist/light/light.js +5 -8
- package/lib/dist/loader/asset.js +15 -12
- package/lib/dist/loader/binary.js +29 -24
- package/lib/dist/loader/image.js +31 -24
- package/lib/dist/loader/index.d.ts +1 -0
- package/lib/dist/loader/index.d.ts.map +1 -1
- package/lib/dist/loader/index.js +2 -1
- package/lib/dist/loader/video.d.ts +6 -0
- package/lib/dist/loader/video.d.ts.map +1 -0
- package/lib/dist/loader/video.js +23 -0
- package/lib/dist/log.d.ts +1 -1
- package/lib/dist/log.d.ts.map +1 -1
- package/lib/dist/log.js +19 -16
- package/lib/dist/material/diffuse.d.ts +3 -1
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +17 -20
- package/lib/dist/material/ghost.d.ts +2 -1
- package/lib/dist/material/ghost.d.ts.map +1 -1
- package/lib/dist/material/ghost.js +1 -4
- package/lib/dist/material/hull.d.ts +2 -1
- package/lib/dist/material/hull.d.ts.map +1 -1
- package/lib/dist/material/hull.js +10 -13
- package/lib/dist/material/material.d.ts +2 -1
- package/lib/dist/material/material.d.ts.map +1 -1
- package/lib/dist/material/material.js +14 -20
- package/lib/dist/material/normals.d.ts +2 -1
- package/lib/dist/material/normals.d.ts.map +1 -1
- package/lib/dist/material/normals.js +1 -4
- package/lib/dist/material/solid.d.ts +2 -1
- package/lib/dist/material/solid.d.ts.map +1 -1
- package/lib/dist/material/solid.js +6 -9
- package/lib/dist/math/common.test.d.ts +2 -0
- package/lib/dist/math/common.test.d.ts.map +1 -0
- package/lib/dist/math/common.test.js +22 -0
- package/lib/dist/math/index.d.ts +0 -1
- package/lib/dist/math/index.d.ts.map +1 -1
- package/lib/dist/math/index.js +1 -2
- package/lib/dist/math/mat3.d.ts +44 -16
- package/lib/dist/math/mat3.d.ts.map +1 -1
- package/lib/dist/math/mat3.js +140 -74
- package/lib/dist/math/mat3.test.d.ts +2 -0
- package/lib/dist/math/mat3.test.d.ts.map +1 -0
- package/lib/dist/math/mat3.test.js +32 -0
- package/lib/dist/math/mat4.d.ts +54 -121
- package/lib/dist/math/mat4.d.ts.map +1 -1
- package/lib/dist/math/mat4.js +167 -288
- package/lib/dist/math/quat.d.ts +9 -4
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +57 -70
- package/lib/dist/math/quat.test.d.ts +1 -0
- package/lib/dist/math/quat.test.d.ts.map +1 -1
- package/lib/dist/math/quat.test.js +81 -27
- package/lib/dist/math/transfo.d.ts +32 -5
- package/lib/dist/math/transfo.d.ts.map +1 -1
- package/lib/dist/math/transfo.js +135 -46
- package/lib/dist/math/vec2.js +6 -6
- package/lib/dist/math/vec3.d.ts +11 -3
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +30 -17
- package/lib/dist/math/vec3.test.js +20 -1
- package/lib/dist/math/vec4.d.ts +12 -3
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +36 -18
- package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
- package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
- package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
- package/lib/dist/painter/axes/axes.js +82 -0
- package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
- package/lib/dist/painter/axes/index.d.ts +2 -0
- package/lib/dist/painter/axes/index.d.ts.map +1 -0
- package/lib/dist/painter/axes/index.js +2 -0
- package/lib/dist/painter/background/background.d.ts +4 -3
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.js +15 -17
- package/lib/dist/painter/clear.d.ts +4 -3
- package/lib/dist/painter/clear.d.ts.map +1 -1
- package/lib/dist/painter/clear.js +18 -22
- package/lib/dist/painter/debug/index.d.ts +2 -0
- package/lib/dist/painter/debug/index.d.ts.map +1 -0
- package/lib/dist/painter/debug/index.js +2 -0
- package/lib/dist/painter/debug/stencil/index.d.ts +2 -0
- package/lib/dist/painter/debug/stencil/index.d.ts.map +1 -0
- package/lib/dist/painter/debug/stencil/index.js +2 -0
- package/lib/dist/painter/debug/stencil/stencil.d.ts +11 -0
- package/lib/dist/painter/debug/stencil/stencil.d.ts.map +1 -0
- package/lib/dist/painter/debug/stencil/stencil.frag +10 -0
- package/lib/dist/painter/debug/stencil/stencil.js +53 -0
- package/lib/dist/painter/debug/stencil/stencil.vert +7 -0
- package/lib/dist/painter/depth.d.ts +7 -5
- package/lib/dist/painter/depth.d.ts.map +1 -1
- package/lib/dist/painter/depth.js +5 -11
- package/lib/dist/painter/filter/filter.d.ts +3 -3
- package/lib/dist/painter/filter/filter.d.ts.map +1 -1
- package/lib/dist/painter/filter/filter.js +44 -46
- package/lib/dist/painter/framebuffer.d.ts +25 -4
- package/lib/dist/painter/framebuffer.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer.js +76 -43
- package/lib/dist/painter/group.js +11 -12
- package/lib/dist/painter/index.d.ts +2 -1
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +3 -2
- package/lib/dist/painter/logic.js +3 -3
- package/lib/dist/painter/mesh/gltf/gltf.d.ts +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +9 -10
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +2 -2
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +45 -43
- package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
- package/lib/dist/painter/mesh/normals/normals.js +19 -22
- package/lib/dist/painter/node/node.d.ts +12 -12
- package/lib/dist/painter/node/node.d.ts.map +1 -1
- package/lib/dist/painter/node/node.js +32 -43
- package/lib/dist/painter/painter.js +11 -9
- package/lib/dist/painter/segments/segments.d.ts +11 -3
- package/lib/dist/painter/segments/segments.d.ts.map +1 -1
- package/lib/dist/painter/segments/segments.js +38 -38
- package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
- package/lib/dist/painter/skybox/skybox.js +13 -14
- package/lib/dist/painter/state/state.d.ts +4 -6
- package/lib/dist/painter/state/state.d.ts.map +1 -1
- package/lib/dist/painter/state/state.js +83 -65
- package/lib/dist/parser/for-each-line.d.ts.map +1 -1
- package/lib/dist/parser/for-each-line.js +5 -5
- package/lib/dist/parser/gltf/gltf.d.ts +5 -2
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +114 -83
- package/lib/dist/parser/gltf/parser.js +10 -11
- package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
- package/lib/dist/parser/mesh/wavefront.js +106 -111
- package/lib/dist/program/program.d.ts +2 -2
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +27 -33
- package/lib/dist/{ref-map.d.ts → reference-map.d.ts} +4 -4
- package/lib/dist/reference-map.d.ts.map +1 -0
- package/lib/dist/reference-map.js +52 -0
- package/lib/dist/shader/code.d.ts +2 -2
- package/lib/dist/shader/code.d.ts.map +1 -1
- package/lib/dist/shader/code.js +12 -12
- package/lib/dist/shader/fragment.js +7 -19
- package/lib/dist/shader/vertex.js +7 -12
- package/lib/dist/table/index.d.ts +2 -0
- package/lib/dist/table/index.d.ts.map +1 -0
- package/lib/dist/table/index.js +2 -0
- package/lib/dist/table/table.d.ts +41 -0
- package/lib/dist/table/table.d.ts.map +1 -0
- package/lib/dist/table/table.js +104 -0
- package/lib/dist/texture/index.d.ts +1 -1
- package/lib/dist/texture/index.d.ts.map +1 -1
- package/lib/dist/texture/index.js +2 -2
- package/lib/dist/texture/texture-cube.d.ts +24 -0
- package/lib/dist/texture/texture-cube.d.ts.map +1 -0
- package/lib/dist/texture/texture-cube.js +69 -0
- package/lib/dist/texture/texture2d.d.ts +47 -21
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +178 -133
- package/lib/dist/types/elements.js +2 -2
- package/lib/dist/types/gltf.js +3 -9
- package/lib/dist/types/guards.d.ts.map +1 -1
- package/lib/dist/types/guards.js +36 -37
- package/lib/dist/types/index.d.ts +1 -3
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +2 -4
- package/lib/dist/types/program.d.ts +0 -37
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +7 -16
- package/lib/dist/types/texture-cube.d.ts.map +1 -0
- package/lib/dist/types/texture-cube.js +2 -0
- package/lib/dist/types/webgl.d.ts +15 -5
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +37 -30
- package/lib/dist/utils/action/camera.d.ts.map +1 -1
- package/lib/dist/utils/action/camera.js +15 -25
- package/lib/dist/utils/action/transfo.d.ts +3 -0
- package/lib/dist/utils/action/transfo.d.ts.map +1 -0
- package/lib/dist/utils/action/transfo.js +18 -0
- package/lib/dist/utils/action/vector.d.ts.map +1 -1
- package/lib/dist/utils/action/vector.js +11 -11
- package/lib/dist/utils/assert.d.ts.map +1 -1
- package/lib/dist/utils/assert.js +2 -2
- package/lib/dist/utils/bbox.js +3 -3
- package/lib/dist/utils/bbox.test.js +18 -19
- package/lib/dist/utils/canvas.d.ts +28 -0
- package/lib/dist/utils/canvas.d.ts.map +1 -1
- package/lib/dist/utils/canvas.js +59 -5
- package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
- package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
- package/lib/dist/utils/easing-function/easing-function.js +142 -0
- package/lib/dist/utils/easing-function/index.d.ts +2 -0
- package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
- package/lib/dist/utils/easing-function/index.js +2 -0
- package/lib/dist/utils/framebuffer.d.ts +2 -0
- package/lib/dist/utils/framebuffer.d.ts.map +1 -0
- package/lib/dist/utils/framebuffer.js +7 -0
- package/lib/dist/utils/fullscreen.d.ts +1 -1
- package/lib/dist/utils/fullscreen.d.ts.map +1 -1
- package/lib/dist/utils/fullscreen.js +44 -37
- package/lib/dist/utils/index.d.ts +4 -1
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +5 -2
- package/lib/dist/utils/math.d.ts +4 -2
- package/lib/dist/utils/math.d.ts.map +1 -1
- package/lib/dist/utils/math.js +12 -4
- package/lib/dist/utils/pbo.d.ts +9 -0
- package/lib/dist/utils/pbo.d.ts.map +1 -0
- package/lib/dist/utils/pbo.js +32 -0
- package/lib/dist/utils/{ref-map.d.ts → reference-map.d.ts} +4 -4
- package/lib/dist/utils/reference-map.d.ts.map +1 -0
- package/lib/dist/utils/reference-map.js +52 -0
- package/lib/dist/utils/state/blend.d.ts +5 -5
- package/lib/dist/utils/state/blend.d.ts.map +1 -1
- package/lib/dist/utils/state/blend.js +10 -10
- package/lib/dist/utils/state/depth.d.ts +2 -2
- package/lib/dist/utils/state/depth.d.ts.map +1 -1
- package/lib/dist/utils/state/depth.js +5 -5
- package/lib/dist/utils/state/stencil.d.ts +55 -1
- package/lib/dist/utils/state/stencil.d.ts.map +1 -1
- package/lib/dist/utils/state/stencil.js +28 -46
- package/lib/dist/utils/template.js +3 -3
- package/lib/dist/utils/webgl.d.ts +1 -1
- package/lib/dist/utils/webgl.d.ts.map +1 -1
- package/lib/dist/utils/webgl.js +5 -5
- package/lib/dist/vao/vao.d.ts +2 -1
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +19 -19
- package/lib/dist/webgl/index.d.ts +2 -0
- package/lib/dist/webgl/index.d.ts.map +1 -0
- package/lib/dist/webgl/index.js +2 -0
- package/lib/dist/webgl/texture/index.d.ts +3 -0
- package/lib/dist/webgl/texture/index.d.ts.map +1 -0
- package/lib/dist/webgl/texture/index.js +3 -0
- package/lib/dist/webgl/texture/texture2d.d.ts +38 -0
- package/lib/dist/webgl/texture/texture2d.d.ts.map +1 -0
- package/lib/dist/webgl/texture/texture2d.js +35 -0
- package/lib/dist/webgl/texture/types.d.ts +4 -0
- package/lib/dist/webgl/texture/types.d.ts.map +1 -0
- package/lib/dist/webgl/texture/types.js +2 -0
- package/package.json +1 -1
- package/lib/dist/math/math.d.ts +0 -9
- package/lib/dist/math/math.d.ts.map +0 -1
- package/lib/dist/math/math.js +0 -13
- package/lib/dist/painter/axis/axis.js +0 -84
- package/lib/dist/painter/axis/index.d.ts +0 -2
- package/lib/dist/painter/axis/index.d.ts.map +0 -1
- package/lib/dist/painter/axis/index.js +0 -2
- package/lib/dist/painter/framebuffer-old.d.ts +0 -38
- package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
- package/lib/dist/painter/framebuffer-old.js +0 -102
- package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
- package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
- package/lib/dist/painter/framebuffer.backup.js +0 -125
- package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
- package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
- package/lib/dist/painter/mesh/hull/hull.js +0 -11
- package/lib/dist/painter/node.d.ts +0 -32
- package/lib/dist/painter/node.d.ts.map +0 -1
- package/lib/dist/painter/node.js +0 -73
- package/lib/dist/ref-map.d.ts.map +0 -1
- package/lib/dist/ref-map.js +0 -48
- package/lib/dist/resource/index.d.ts +0 -5
- package/lib/dist/resource/index.d.ts.map +0 -1
- package/lib/dist/resource/index.js +0 -5
- package/lib/dist/resource/program.d.ts +0 -10
- package/lib/dist/resource/program.d.ts.map +0 -1
- package/lib/dist/resource/program.js +0 -20
- package/lib/dist/resource/resource.d.ts +0 -17
- package/lib/dist/resource/resource.d.ts.map +0 -1
- package/lib/dist/resource/resource.js +0 -48
- package/lib/dist/resource/texture2d.d.ts +0 -10
- package/lib/dist/resource/texture2d.d.ts.map +0 -1
- package/lib/dist/resource/texture2d.js +0 -20
- package/lib/dist/resource/textureCube.d.ts +0 -9
- package/lib/dist/resource/textureCube.d.ts.map +0 -1
- package/lib/dist/resource/textureCube.js +0 -17
- package/lib/dist/scene/scene-node.d.ts +0 -8
- package/lib/dist/scene/scene-node.d.ts.map +0 -1
- package/lib/dist/scene/scene-node.js +0 -13
- package/lib/dist/texture/textureCube.d.ts +0 -17
- package/lib/dist/texture/textureCube.d.ts.map +0 -1
- package/lib/dist/texture/textureCube.js +0 -87
- package/lib/dist/types/context.d.ts +0 -27
- package/lib/dist/types/context.d.ts.map +0 -1
- package/lib/dist/types/context.js +0 -2
- package/lib/dist/types/texture2d.d.ts +0 -36
- package/lib/dist/types/texture2d.d.ts.map +0 -1
- package/lib/dist/types/texture2d.js +0 -2
- package/lib/dist/types/textureCube.d.ts.map +0 -1
- package/lib/dist/types/textureCube.js +0 -2
- package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
- package/lib/dist/utils/ease-func/ease-func.js +0 -142
- package/lib/dist/utils/ease-func/index.d.ts +0 -2
- package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
- package/lib/dist/utils/ease-func/index.js +0 -2
- package/lib/dist/utils/fetch/fetch.d.ts +0 -2
- package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
- package/lib/dist/utils/fetch/fetch.js +0 -5
- package/lib/dist/utils/fetch/index.d.ts +0 -2
- package/lib/dist/utils/fetch/index.d.ts.map +0 -1
- package/lib/dist/utils/fetch/index.js +0 -2
- package/lib/dist/utils/ref-map.d.ts.map +0 -1
- package/lib/dist/utils/ref-map.js +0 -48
|
@@ -1,76 +1,33 @@
|
|
|
1
1
|
import { TgdPainterGroup } from "../group.js";
|
|
2
2
|
import { webglBlendGet, webglBlendSet, webglDepthGet, webglDepthSet, webglCullGet, webglCullSet, webglStencilGet, webglStencilSet, } from "./../../utils/state/index.js";
|
|
3
3
|
export class TgdPainterState extends TgdPainterGroup {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
static do(options, action) {
|
|
5
|
+
const { onEnterActions, onExitActions } = prepareActions(options.gl, options);
|
|
6
|
+
for (const action of onEnterActions)
|
|
7
|
+
action();
|
|
8
|
+
action();
|
|
9
|
+
for (const action of onExitActions)
|
|
10
|
+
action();
|
|
11
|
+
}
|
|
12
|
+
constructor(context, options = {}) {
|
|
13
|
+
var _a;
|
|
10
14
|
const { gl } = context;
|
|
11
|
-
const onEnterActions =
|
|
12
|
-
|
|
13
|
-
const colorMask = figureOutColorMask(color);
|
|
14
|
-
if (Array.isArray(colorMask)) {
|
|
15
|
-
onEnterActions.push(() => {
|
|
16
|
-
this._color = gl.getParameter(gl.COLOR_WRITEMASK);
|
|
17
|
-
gl.colorMask(...colorMask);
|
|
18
|
-
});
|
|
19
|
-
onExitActions.push(() => {
|
|
20
|
-
gl.colorMask(...(this._color ?? [true, true, true, true]));
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
if (blend) {
|
|
24
|
-
onEnterActions.push(() => {
|
|
25
|
-
this._blend = webglBlendGet(gl);
|
|
26
|
-
webglBlendSet(gl, blend);
|
|
27
|
-
});
|
|
28
|
-
onExitActions.push(() => {
|
|
29
|
-
if (this._blend)
|
|
30
|
-
webglBlendSet(gl, this._blend);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (depth) {
|
|
34
|
-
onEnterActions.push(() => {
|
|
35
|
-
this._depth = webglDepthGet(gl);
|
|
36
|
-
webglDepthSet(gl, depth);
|
|
37
|
-
});
|
|
38
|
-
onExitActions.push(() => {
|
|
39
|
-
if (this._depth)
|
|
40
|
-
webglDepthSet(gl, this._depth);
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
if (cull) {
|
|
44
|
-
onEnterActions.push(() => {
|
|
45
|
-
this._cull = webglCullGet(gl);
|
|
46
|
-
webglCullSet(gl, cull);
|
|
47
|
-
});
|
|
48
|
-
onExitActions.push(() => {
|
|
49
|
-
if (this._cull)
|
|
50
|
-
webglCullSet(gl, this._cull);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
if (stencil) {
|
|
54
|
-
onEnterActions.push(() => {
|
|
55
|
-
this._stencil = webglStencilGet(gl);
|
|
56
|
-
webglStencilSet(gl, stencil);
|
|
57
|
-
});
|
|
58
|
-
onExitActions.push(() => {
|
|
59
|
-
if (this._stencil)
|
|
60
|
-
webglStencilSet(gl, this._stencil);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
super(children, {
|
|
15
|
+
const { onEnterActions, onExitActions } = prepareActions(gl, options);
|
|
16
|
+
super(options.children, {
|
|
64
17
|
onEnter(time, delay) {
|
|
65
|
-
|
|
66
|
-
|
|
18
|
+
var _a;
|
|
19
|
+
(_a = options.onEnter) === null || _a === void 0 ? void 0 : _a.call(options, time, delay);
|
|
20
|
+
for (const f of onEnterActions)
|
|
21
|
+
f();
|
|
67
22
|
},
|
|
68
23
|
onExit(time, delay) {
|
|
69
|
-
|
|
70
|
-
|
|
24
|
+
var _a;
|
|
25
|
+
for (const f of onExitActions)
|
|
26
|
+
f();
|
|
27
|
+
(_a = options.onExit) === null || _a === void 0 ? void 0 : _a.call(options, time, delay);
|
|
71
28
|
},
|
|
72
29
|
});
|
|
73
|
-
this.name = name
|
|
30
|
+
this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `State/${this.name}`;
|
|
74
31
|
}
|
|
75
32
|
}
|
|
76
33
|
function figureOutColorMask(color) {
|
|
@@ -80,4 +37,65 @@ function figureOutColorMask(color) {
|
|
|
80
37
|
return [false, false, false, false];
|
|
81
38
|
return color;
|
|
82
39
|
}
|
|
83
|
-
|
|
40
|
+
function prepareActions(gl, options) {
|
|
41
|
+
const { color, blend, depth, cull, stencil } = options;
|
|
42
|
+
const onEnterActions = [];
|
|
43
|
+
const onExitActions = [];
|
|
44
|
+
const colorMask = figureOutColorMask(color);
|
|
45
|
+
if (Array.isArray(colorMask)) {
|
|
46
|
+
let savedColorMask;
|
|
47
|
+
onEnterActions.push(() => {
|
|
48
|
+
savedColorMask = gl.getParameter(gl.COLOR_WRITEMASK);
|
|
49
|
+
gl.colorMask(...colorMask);
|
|
50
|
+
});
|
|
51
|
+
onExitActions.push(() => {
|
|
52
|
+
gl.colorMask(...(savedColorMask !== null && savedColorMask !== void 0 ? savedColorMask : [true, true, true, true]));
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
if (blend) {
|
|
56
|
+
let savedBlend;
|
|
57
|
+
onEnterActions.push(() => {
|
|
58
|
+
savedBlend = webglBlendGet(gl);
|
|
59
|
+
webglBlendSet(gl, blend);
|
|
60
|
+
});
|
|
61
|
+
onExitActions.push(() => {
|
|
62
|
+
if (savedBlend)
|
|
63
|
+
webglBlendSet(gl, savedBlend);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
if (depth) {
|
|
67
|
+
let savedDepth;
|
|
68
|
+
onEnterActions.push(() => {
|
|
69
|
+
savedDepth = webglDepthGet(gl);
|
|
70
|
+
webglDepthSet(gl, depth);
|
|
71
|
+
});
|
|
72
|
+
onExitActions.push(() => {
|
|
73
|
+
if (savedDepth)
|
|
74
|
+
webglDepthSet(gl, savedDepth);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
if (cull) {
|
|
78
|
+
let savedCull;
|
|
79
|
+
onEnterActions.push(() => {
|
|
80
|
+
savedCull = webglCullGet(gl);
|
|
81
|
+
webglCullSet(gl, cull);
|
|
82
|
+
});
|
|
83
|
+
onExitActions.push(() => {
|
|
84
|
+
if (savedCull)
|
|
85
|
+
webglCullSet(gl, savedCull);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (stencil) {
|
|
89
|
+
let savedStencil;
|
|
90
|
+
onEnterActions.push(() => {
|
|
91
|
+
savedStencil = webglStencilGet(gl);
|
|
92
|
+
webglStencilSet(gl, stencil);
|
|
93
|
+
});
|
|
94
|
+
onExitActions.push(() => {
|
|
95
|
+
if (savedStencil)
|
|
96
|
+
webglStencilSet(gl, savedStencil);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return { onEnterActions, onExitActions };
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zdGF0ZS9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRTFDLE9BQU8sRUFDSCxhQUFhLEVBRWIsYUFBYSxFQUNiLGFBQWEsRUFFYixhQUFhLEVBQ2IsWUFBWSxFQUVaLFlBQVksRUFFWixlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLGtCQUFrQixDQUFBO0FBcUJ6QixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0lBQ3pDLE1BQU0sQ0FBQyxFQUFFLENBQ1osT0FLQyxFQUNELE1BQWtCO1FBRWxCLE1BQU0sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLEdBQUcsY0FBYyxDQUNwRCxPQUFPLENBQUMsRUFBRSxFQUNWLE9BQU8sQ0FDVixDQUFBO1FBQ0QsS0FBSyxNQUFNLE1BQU0sSUFBSSxjQUFjO1lBQUUsTUFBTSxFQUFFLENBQUE7UUFDN0MsTUFBTSxFQUFFLENBQUE7UUFDUixLQUFLLE1BQU0sTUFBTSxJQUFJLGFBQWE7WUFBRSxNQUFNLEVBQUUsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsWUFDSSxPQUFtQixFQUNuQixVQUEyQyxFQUFFOztRQUU3QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLE1BQU0sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLEdBQUcsY0FBYyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNyRSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNwQixPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUs7O2dCQUNmLE1BQUEsT0FBTyxDQUFDLE9BQU8sd0RBQUcsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUM5QixLQUFLLE1BQU0sQ0FBQyxJQUFJLGNBQWM7b0JBQUUsQ0FBQyxFQUFFLENBQUE7WUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-each-line.d.ts","sourceRoot":"","sources":["../../src/parser/for-each-line.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"for-each-line.d.ts","sourceRoot":"","sources":["../../src/parser/for-each-line.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,GAAc,SAAS,MAAM,uCAYpD,CAAA"}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
* Generator to iterate on each lines of a big string content.
|
|
3
3
|
*/
|
|
4
4
|
export const forEachLine = function* (content) {
|
|
5
|
-
const
|
|
5
|
+
const length = content.length;
|
|
6
6
|
let index = 0;
|
|
7
7
|
let cursor = 0;
|
|
8
|
-
while (index > -1 && index <
|
|
8
|
+
while (index > -1 && index < length) {
|
|
9
9
|
index = content.indexOf("\n", cursor);
|
|
10
10
|
if (index < 0)
|
|
11
11
|
break;
|
|
12
|
-
yield content.
|
|
12
|
+
yield content.slice(cursor, index).trim();
|
|
13
13
|
cursor = index + 1;
|
|
14
14
|
}
|
|
15
|
-
return content.
|
|
15
|
+
return content.slice(cursor).trim();
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLWVhY2gtbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIvZm9yLWVhY2gtbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsRUFBRSxPQUFlO0lBQ2pELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7SUFDN0IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ2IsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2QsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ2xDLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNyQyxJQUFJLEtBQUssR0FBRyxDQUFDO1lBQUUsTUFBSztRQUVwQixNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3pDLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ3RCLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDdkMsQ0FBQyxDQUFBIn0=
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { TgdDataset } from "../../dataset";
|
|
6
6
|
import { TgdFormatGltf, TgdFormatGltfAccessor, TgdFormatGltfMaterial, TgdFormatGltfMesh, TgdFormatGltfMeshPrimitive, TgdFormatGltfNode, TgdFormatGltfScene } from "../../types/gltf";
|
|
7
|
-
import {
|
|
7
|
+
import { TgdTypeArrayForElements } from "../../types";
|
|
8
8
|
import { TgdGeometry } from "../../geometry";
|
|
9
|
+
import { TgdTexture2D } from "../../texture";
|
|
9
10
|
export declare class TgdParserGLTransfertFormatBinary {
|
|
10
11
|
readonly gltf: Readonly<TgdFormatGltf>;
|
|
11
12
|
private readonly chunks;
|
|
@@ -27,7 +28,9 @@ export declare class TgdParserGLTransfertFormatBinary {
|
|
|
27
28
|
};
|
|
28
29
|
getMeshPrimitiveIndices(meshIndex?: number, primitiveIndex?: number): TgdTypeArrayForElements;
|
|
29
30
|
getAccessorByAttributeName(primitive: TgdFormatGltfMeshPrimitive, attribName: string): TgdFormatGltfAccessor;
|
|
30
|
-
|
|
31
|
+
createTexture2D(context: {
|
|
32
|
+
gl: WebGL2RenderingContext;
|
|
33
|
+
}, textureIndex: number): TgdTexture2D;
|
|
31
34
|
loadImage(imageIndex: number): Promise<HTMLImageElement | undefined>;
|
|
32
35
|
getImageURL(imageIndex: number): string | undefined;
|
|
33
36
|
getBufferViewData(accessor: TgdFormatGltfAccessor): Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/parser/gltf/gltf.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAA;AAE/D,OAAO,EACH,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/parser/gltf/gltf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
1
2
|
/**
|
|
2
3
|
* GLTF specs can be found here:
|
|
3
4
|
* https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html
|
|
@@ -6,58 +7,63 @@ import { TgdDataset } from "./../../dataset/index.js";
|
|
|
6
7
|
import { parseGLB } from "./parser.js";
|
|
7
8
|
import { assertTgdTypeArrayForElements, } from "./../../types/index.js";
|
|
8
9
|
import { TgdGeometry } from "./../../geometry/index.js";
|
|
10
|
+
import { TgdTexture2D } from "./../../texture/index.js";
|
|
9
11
|
export class TgdParserGLTransfertFormatBinary {
|
|
10
|
-
gltf;
|
|
11
|
-
chunks;
|
|
12
|
-
cacheImages = new Map();
|
|
13
|
-
cacheImageURLs = new Map();
|
|
14
|
-
cacheBufferViewDatas = new Map();
|
|
15
12
|
constructor(content) {
|
|
13
|
+
this.cacheImages = new Map();
|
|
14
|
+
this.cacheImageURLs = new Map();
|
|
15
|
+
this.cacheBufferViewDatas = new Map();
|
|
16
16
|
try {
|
|
17
17
|
const data = parseGLB(content);
|
|
18
18
|
this.gltf = data.gltf;
|
|
19
19
|
this.chunks = data.chunks;
|
|
20
20
|
}
|
|
21
|
-
catch (
|
|
22
|
-
const message =
|
|
23
|
-
throw Error(`[TgdParserGLTransfertFormatBinary] ${message}`);
|
|
21
|
+
catch (error) {
|
|
22
|
+
const message = error instanceof Error ? error.message : JSON.stringify(error);
|
|
23
|
+
throw new Error(`[TgdParserGLTransfertFormatBinary] ${message}`);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
getScenes() {
|
|
27
|
-
|
|
27
|
+
var _a;
|
|
28
|
+
return (_a = this.gltf.scenes) !== null && _a !== void 0 ? _a : [];
|
|
28
29
|
}
|
|
29
30
|
getScene(sceneIndex) {
|
|
30
|
-
|
|
31
|
+
var _a;
|
|
32
|
+
const scene = (_a = this.gltf.scenes) === null || _a === void 0 ? void 0 : _a[sceneIndex];
|
|
31
33
|
if (!scene) {
|
|
32
|
-
throw Error(`Asset has no scene with index #${sceneIndex}!`);
|
|
34
|
+
throw new Error(`Asset has no scene with index #${sceneIndex}!`);
|
|
33
35
|
}
|
|
34
36
|
return scene;
|
|
35
37
|
}
|
|
36
38
|
getNode(nodeIndex) {
|
|
37
|
-
|
|
39
|
+
var _a;
|
|
40
|
+
const node = (_a = this.gltf.nodes) === null || _a === void 0 ? void 0 : _a[nodeIndex];
|
|
38
41
|
if (!node) {
|
|
39
|
-
throw Error(`Asset has no node with index #${nodeIndex}!`);
|
|
42
|
+
throw new Error(`Asset has no node with index #${nodeIndex}!`);
|
|
40
43
|
}
|
|
41
44
|
return node;
|
|
42
45
|
}
|
|
43
46
|
getAccessor(accessorIndex = 0) {
|
|
44
|
-
|
|
47
|
+
var _a;
|
|
48
|
+
const accessor = (_a = this.gltf.accessors) === null || _a === void 0 ? void 0 : _a[accessorIndex];
|
|
45
49
|
if (!accessor) {
|
|
46
|
-
throw Error(`Asset has no accessor with index #${accessorIndex}!`);
|
|
50
|
+
throw new Error(`Asset has no accessor with index #${accessorIndex}!`);
|
|
47
51
|
}
|
|
48
52
|
return accessor;
|
|
49
53
|
}
|
|
50
54
|
getMaterial(materialIndex) {
|
|
51
|
-
|
|
55
|
+
var _a;
|
|
56
|
+
const material = (_a = this.gltf.materials) === null || _a === void 0 ? void 0 : _a[materialIndex];
|
|
52
57
|
if (!material) {
|
|
53
|
-
throw Error(`Asset has no material with index #${materialIndex}!`);
|
|
58
|
+
throw new Error(`Asset has no material with index #${materialIndex}!`);
|
|
54
59
|
}
|
|
55
60
|
return material;
|
|
56
61
|
}
|
|
57
62
|
getMesh(meshIndex = 0) {
|
|
58
|
-
|
|
63
|
+
var _a;
|
|
64
|
+
const mesh = (_a = this.gltf.meshes) === null || _a === void 0 ? void 0 : _a[meshIndex];
|
|
59
65
|
if (!mesh) {
|
|
60
|
-
throw Error(`Asset has no mesh with index #${meshIndex}!`);
|
|
66
|
+
throw new Error(`Asset has no mesh with index #${meshIndex}!`);
|
|
61
67
|
}
|
|
62
68
|
return mesh;
|
|
63
69
|
}
|
|
@@ -65,74 +71,91 @@ export class TgdParserGLTransfertFormatBinary {
|
|
|
65
71
|
const mesh = this.getMesh(meshIndex);
|
|
66
72
|
const primitive = mesh.primitives[primitiveIndex];
|
|
67
73
|
if (!primitive) {
|
|
68
|
-
throw Error(`Asset has no primitive #${primitiveIndex} in mesh #${meshIndex}!`);
|
|
74
|
+
throw new Error(`Asset has no primitive #${primitiveIndex} in mesh #${meshIndex}!`);
|
|
69
75
|
}
|
|
70
76
|
return primitive;
|
|
71
77
|
}
|
|
72
78
|
getMeshPrimitiveIndices(meshIndex = 0, primitiveIndex = 0) {
|
|
79
|
+
var _a, _b;
|
|
73
80
|
const primitive = this.getMeshPrimitive(meshIndex, primitiveIndex);
|
|
74
|
-
const accessor = this.getAccessor(primitive.indices
|
|
75
|
-
const elements = this.getBufferViewData(accessor.bufferView
|
|
81
|
+
const accessor = this.getAccessor((_a = primitive.indices) !== null && _a !== void 0 ? _a : 0);
|
|
82
|
+
const elements = this.getBufferViewData((_b = accessor.bufferView) !== null && _b !== void 0 ? _b : 0, accessor.componentType);
|
|
76
83
|
assertTgdTypeArrayForElements(elements);
|
|
77
84
|
return elements;
|
|
78
85
|
}
|
|
79
86
|
getAccessorByAttributeName(primitive, attribName) {
|
|
80
87
|
const { attributes } = primitive;
|
|
81
88
|
if (!attributes || Object.keys(attributes).length === 0)
|
|
82
|
-
throw Error("No attributes found!");
|
|
89
|
+
throw new Error("No attributes found!");
|
|
83
90
|
const accessorIndex = attributes[attribName];
|
|
84
91
|
if (typeof accessorIndex !== "number") {
|
|
85
|
-
throw
|
|
92
|
+
throw new TypeError(`No attribute with name "${attribName}"!\nAvailable names are: ${Object.keys(attributes)
|
|
86
93
|
.map(name => JSON.stringify(name))
|
|
87
94
|
.join(", ")}.`);
|
|
88
95
|
}
|
|
89
96
|
try {
|
|
90
97
|
return this.getAccessor(accessorIndex);
|
|
91
98
|
}
|
|
92
|
-
catch (
|
|
93
|
-
const
|
|
94
|
-
throw Error(`Attribute "${attribName}" pointed to an inexisting accessor!\n${
|
|
99
|
+
catch (error) {
|
|
100
|
+
const message = error instanceof Error ? error.message : JSON.stringify(error);
|
|
101
|
+
throw new Error(`Attribute "${attribName}" pointed to an inexisting accessor!\n${message}`);
|
|
95
102
|
}
|
|
96
103
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
104
|
+
createTexture2D(context, textureIndex) {
|
|
105
|
+
var _a, _b, _c, _d, _e;
|
|
106
|
+
const gltfTex = (_a = this.gltf.textures) === null || _a === void 0 ? void 0 : _a[textureIndex];
|
|
107
|
+
if (!gltfTex) {
|
|
108
|
+
throw new Error(`Asset has no texture with index #${textureIndex}!`);
|
|
101
109
|
}
|
|
102
|
-
const source =
|
|
110
|
+
const source = (_e = (_b = gltfTex.source) !== null && _b !== void 0 ? _b : (_d = (_c = gltfTex.extensions) === null || _c === void 0 ? void 0 : _c.EXT_texture_webp) === null || _d === void 0 ? void 0 : _d.source) !== null && _e !== void 0 ? _e : 0;
|
|
103
111
|
const url = this.getImageURL(source);
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
112
|
+
const texture = new TgdTexture2D(context);
|
|
113
|
+
if (url) {
|
|
114
|
+
loadImage(url)
|
|
115
|
+
.then(bmp => {
|
|
116
|
+
if (bmp)
|
|
117
|
+
texture.loadBitmap(bmp);
|
|
118
|
+
else
|
|
119
|
+
console.error("Unable to load this file:", url);
|
|
120
|
+
})
|
|
121
|
+
.catch(console.error);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.error(`[GLTF] texture index #${textureIndex} is empty!`);
|
|
125
|
+
}
|
|
126
|
+
return texture;
|
|
108
127
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
128
|
+
loadImage(imageIndex) {
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
const fromCache = this.cacheImages.get(imageIndex);
|
|
131
|
+
if (fromCache)
|
|
132
|
+
return fromCache;
|
|
133
|
+
const url = this.getImageURL(imageIndex);
|
|
134
|
+
if (!url)
|
|
135
|
+
return;
|
|
136
|
+
const promise = new Promise((resolve, reject) => {
|
|
137
|
+
const img = new Image();
|
|
138
|
+
img.src = url;
|
|
139
|
+
img.addEventListener("load", () => {
|
|
140
|
+
resolve(img);
|
|
141
|
+
});
|
|
142
|
+
img.addEventListener("error", () => {
|
|
143
|
+
var _a;
|
|
144
|
+
console.error(`Unable to load image #${imageIndex}!`, (_a = this.gltf.images) === null || _a === void 0 ? void 0 : _a[imageIndex]);
|
|
145
|
+
reject();
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
this.cacheImages.set(imageIndex, promise);
|
|
149
|
+
return promise;
|
|
126
150
|
});
|
|
127
|
-
this.cacheImages.set(imageIndex, promise);
|
|
128
|
-
return promise;
|
|
129
151
|
}
|
|
130
152
|
getImageURL(imageIndex) {
|
|
153
|
+
var _a;
|
|
131
154
|
const fromCache = this.cacheImageURLs.get(imageIndex);
|
|
132
155
|
if (fromCache)
|
|
133
156
|
return fromCache;
|
|
134
157
|
const { gltf } = this;
|
|
135
|
-
const image = gltf.images
|
|
158
|
+
const image = (_a = gltf.images) === null || _a === void 0 ? void 0 : _a[imageIndex];
|
|
136
159
|
if (!image)
|
|
137
160
|
return;
|
|
138
161
|
if (image.uri)
|
|
@@ -149,42 +172,42 @@ export class TgdParserGLTransfertFormatBinary {
|
|
|
149
172
|
this.cacheImageURLs.set(imageIndex, url);
|
|
150
173
|
return url;
|
|
151
174
|
}
|
|
152
|
-
getBufferViewData(
|
|
153
|
-
|
|
154
|
-
|
|
175
|
+
getBufferViewData(accessor, type = "Float32") {
|
|
176
|
+
var _a, _b, _c, _d, _e;
|
|
177
|
+
if (typeof accessor !== "number") {
|
|
178
|
+
return this.getBufferViewData((_a = accessor.bufferView) !== null && _a !== void 0 ? _a : 0, accessor.componentType);
|
|
155
179
|
}
|
|
156
|
-
const bufferViewIndex =
|
|
180
|
+
const bufferViewIndex = accessor;
|
|
157
181
|
const fromCache = this.cacheBufferViewDatas.get(bufferViewIndex);
|
|
158
182
|
if (fromCache)
|
|
159
183
|
return fromCache;
|
|
160
184
|
const { gltf } = this;
|
|
161
|
-
const bufferView = gltf.bufferViews
|
|
185
|
+
const bufferView = (_b = gltf.bufferViews) === null || _b === void 0 ? void 0 : _b[bufferViewIndex];
|
|
162
186
|
if (!bufferView)
|
|
163
|
-
throw Error(`No bufferView with index #${bufferViewIndex}!`);
|
|
187
|
+
throw new Error(`No bufferView with index #${bufferViewIndex}!`);
|
|
164
188
|
const buffer = this.chunks[bufferView.buffer];
|
|
165
|
-
const byteOffset = bufferView.byteOffset
|
|
189
|
+
const byteOffset = (_c = bufferView.byteOffset) !== null && _c !== void 0 ? _c : 0;
|
|
166
190
|
const data = buffer.slice(byteOffset, byteOffset + bufferView.byteLength);
|
|
167
|
-
const view = figureOutView(data, convertTypeToNumber(type
|
|
168
|
-
this.findAccessorForBufferView(bufferViewIndex)
|
|
169
|
-
?.componentType ??
|
|
170
|
-
"Float32"));
|
|
191
|
+
const view = figureOutView(data, convertTypeToNumber((_e = type !== null && type !== void 0 ? type : (_d = this.findAccessorForBufferView(bufferViewIndex)) === null || _d === void 0 ? void 0 : _d.componentType) !== null && _e !== void 0 ? _e : "Float32"));
|
|
171
192
|
this.cacheBufferViewDatas.set(bufferViewIndex, view);
|
|
172
193
|
return view;
|
|
173
194
|
}
|
|
174
195
|
findAccessorForBufferView(bufferViewIndex) {
|
|
175
|
-
|
|
196
|
+
var _a;
|
|
197
|
+
return ((_a = this.gltf.accessors) !== null && _a !== void 0 ? _a : []).find(accessor => accessor.bufferView === bufferViewIndex);
|
|
176
198
|
}
|
|
177
199
|
setAttrib(dataset, attribName, meshIndex = 0, primitiveIndex = 0, primitiveAttribName) {
|
|
200
|
+
var _a, _b, _c, _d, _e;
|
|
178
201
|
const { gltf } = this;
|
|
179
|
-
const accessorIndex = gltf.meshes
|
|
180
|
-
const accessor = gltf.accessors
|
|
202
|
+
const accessorIndex = (_b = (_a = gltf.meshes) === null || _a === void 0 ? void 0 : _a[meshIndex].primitives[primitiveIndex].attributes[primitiveAttribName !== null && primitiveAttribName !== void 0 ? primitiveAttribName : attribName]) !== null && _b !== void 0 ? _b : -1;
|
|
203
|
+
const accessor = (_c = gltf.accessors) === null || _c === void 0 ? void 0 : _c[accessorIndex];
|
|
181
204
|
if (!accessor) {
|
|
182
|
-
throw Error(`No attribute "${primitiveAttribName
|
|
205
|
+
throw new Error(`No attribute "${primitiveAttribName !== null && primitiveAttribName !== void 0 ? primitiveAttribName : attribName}" for primitive #${primitiveIndex} of mesh #${meshIndex}!`);
|
|
183
206
|
}
|
|
184
|
-
const bufferViewIndex = accessor.bufferView
|
|
185
|
-
const bufferView = gltf.bufferViews
|
|
207
|
+
const bufferViewIndex = (_d = accessor.bufferView) !== null && _d !== void 0 ? _d : 0;
|
|
208
|
+
const bufferView = (_e = gltf.bufferViews) === null || _e === void 0 ? void 0 : _e[bufferViewIndex];
|
|
186
209
|
if (!bufferView) {
|
|
187
|
-
throw Error(`No bufferView with index #${bufferViewIndex}!`);
|
|
210
|
+
throw new Error(`No bufferView with index #${bufferViewIndex}!`);
|
|
188
211
|
}
|
|
189
212
|
const view = this.getBufferViewData(bufferViewIndex, accessor.componentType);
|
|
190
213
|
dataset.set(attribName, view, {
|
|
@@ -198,18 +221,18 @@ export class TgdParserGLTransfertFormatBinary {
|
|
|
198
221
|
try {
|
|
199
222
|
const { attributes } = primitive;
|
|
200
223
|
if (!attributes)
|
|
201
|
-
throw Error("No attributes found!");
|
|
224
|
+
throw new Error("No attributes found!");
|
|
202
225
|
const elements = this.getMeshPrimitiveIndices(meshIndex, primitiveIndex);
|
|
203
|
-
const
|
|
226
|
+
const definition = {
|
|
204
227
|
[attPositionName]: "vec3",
|
|
205
228
|
};
|
|
206
229
|
if (typeof attributes[attNormalName] === "string") {
|
|
207
|
-
|
|
230
|
+
definition[attNormalName] = "vec3";
|
|
208
231
|
}
|
|
209
232
|
if (typeof attributes[attTextureCoordsName] === "string") {
|
|
210
|
-
|
|
233
|
+
definition[attTextureCoordsName] = "vec2";
|
|
211
234
|
}
|
|
212
|
-
const dataset = new TgdDataset(
|
|
235
|
+
const dataset = new TgdDataset(definition);
|
|
213
236
|
dataset.set(attPositionName, returnFloat32Array(this.getBufferViewData(this.getAccessorByAttributeName(primitive, attPositionName))));
|
|
214
237
|
if (typeof attributes[attNormalName] === "string") {
|
|
215
238
|
dataset.set(attNormalName, returnFloat32Array(this.getBufferViewData(this.getAccessorByAttributeName(primitive, attNormalName))));
|
|
@@ -226,9 +249,9 @@ export class TgdParserGLTransfertFormatBinary {
|
|
|
226
249
|
attUV: attTextureCoordsName,
|
|
227
250
|
});
|
|
228
251
|
}
|
|
229
|
-
catch (
|
|
230
|
-
const
|
|
231
|
-
throw Error(`Error in primitive #${primitiveIndex} of mesh #${meshIndex}:\n${
|
|
252
|
+
catch (error) {
|
|
253
|
+
const message = error instanceof Error ? error.message : JSON.stringify(error);
|
|
254
|
+
throw new Error(`Error in primitive #${primitiveIndex} of mesh #${meshIndex}:\n${message}`);
|
|
232
255
|
}
|
|
233
256
|
}
|
|
234
257
|
}
|
|
@@ -272,4 +295,12 @@ function returnFloat32Array(data) {
|
|
|
272
295
|
return data;
|
|
273
296
|
throw new Error("We were expecting a Float32Array!");
|
|
274
297
|
}
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFBRSxVQUFVLEVBQXdCLE1BQU0sY0FBYyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFVbkMsT0FBTyxFQUNILDZCQUE2QixHQUdoQyxNQUFNLFlBQVksQ0FBQTtBQUNuQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDekIsSUFBSSxDQUF5QjtJQUU1QixNQUFNLENBQWU7SUFDckIsV0FBVyxHQUFHLElBQUksR0FBRyxFQUduQyxDQUFBO0lBQ2MsY0FBYyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0lBQzFDLG9CQUFvQixHQUFHLElBQUksR0FBRyxFQVE1QyxDQUFBO0lBRUgsWUFBWSxPQUFvQjtRQUM1QixJQUFJLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUM3QixDQUFDO1FBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNWLE1BQU0sT0FBTyxHQUNULEVBQUUsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDekQsTUFBTSxLQUFLLENBQUMsc0NBQXNDLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDaEUsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFB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
|
|
298
|
+
function loadImage(url) {
|
|
299
|
+
return new Promise(resolve => {
|
|
300
|
+
const img = new Image();
|
|
301
|
+
img.src = url;
|
|
302
|
+
img.addEventListener("load", () => resolve(img));
|
|
303
|
+
img.addEventListener("error", () => resolve(null));
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUF3QixNQUFNLGNBQWMsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBVW5DLE9BQU8sRUFDSCw2QkFBNkIsR0FFaEMsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTNDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFtQnpDLFlBQVksT0FBb0I7UUFmZixnQkFBVyxHQUFHLElBQUksR0FBRyxFQUduQyxDQUFBO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtRQUMxQyx5QkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFRNUMsQ0FBQTtRQUdDLElBQUksQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQzdCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsTUFBTSxPQUFPLEdBQ1QsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNsRSxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ3BFLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUzs7UUFDTCxPQUFPLE1BQUEsSUFBSSxD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
|