@tolokoban/tgd 2.0.16 → 2.0.18
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/color/color.d.ts +2 -2
- package/lib/dist/color/color.d.ts.map +1 -1
- package/lib/dist/color/color.js +3 -1
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +2 -1
- package/lib/dist/filter/filter.d.ts +8 -7
- package/lib/dist/filter/filter.d.ts.map +1 -1
- package/lib/dist/filter/filter.js +4 -2
- 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/zoom.d.ts +10 -0
- package/lib/dist/filter/zoom.d.ts.map +1 -0
- package/lib/dist/filter/zoom.js +21 -0
- package/lib/dist/interface/index.d.ts +2 -0
- package/lib/dist/interface/index.d.ts.map +1 -0
- package/lib/dist/interface/index.js +2 -0
- package/lib/dist/interface/transformable.d.ts +5 -0
- package/lib/dist/interface/transformable.d.ts.map +1 -0
- package/lib/dist/interface/transformable.js +2 -0
- package/lib/dist/loader/asset.d.ts +9 -0
- package/lib/dist/loader/asset.d.ts.map +1 -0
- package/lib/dist/loader/asset.js +36 -0
- 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/material/diffuse.d.ts +7 -3
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +14 -3
- package/lib/dist/material/ghost.d.ts +3 -3
- package/lib/dist/material/ghost.d.ts.map +1 -1
- package/lib/dist/material/ghost.js +1 -1
- package/lib/dist/material/hull.d.ts +24 -0
- package/lib/dist/material/hull.d.ts.map +1 -0
- package/lib/dist/material/hull.js +30 -0
- package/lib/dist/material/index.d.ts +2 -0
- package/lib/dist/material/index.d.ts.map +1 -1
- package/lib/dist/material/index.js +3 -1
- package/lib/dist/material/material.d.ts +12 -4
- package/lib/dist/material/material.d.ts.map +1 -1
- package/lib/dist/material/material.js +9 -1
- package/lib/dist/material/normals.d.ts +3 -3
- package/lib/dist/material/normals.d.ts.map +1 -1
- package/lib/dist/material/normals.js +1 -1
- package/lib/dist/material/solid.d.ts +21 -0
- package/lib/dist/material/solid.d.ts.map +1 -0
- package/lib/dist/material/solid.js +23 -0
- package/lib/dist/math/vec4.d.ts +3 -3
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +20 -1
- package/lib/dist/painter/clear.d.ts +2 -0
- package/lib/dist/painter/clear.d.ts.map +1 -1
- package/lib/dist/painter/clear.js +12 -2
- package/lib/dist/painter/filter/filter.d.ts.map +1 -1
- package/lib/dist/painter/filter/filter.js +8 -10
- package/lib/dist/painter/framebuffer.backup.d.ts +39 -0
- package/lib/dist/painter/framebuffer.backup.d.ts.map +1 -0
- package/lib/dist/painter/framebuffer.backup.js +125 -0
- package/lib/dist/painter/framebuffer.d.ts +18 -7
- package/lib/dist/painter/framebuffer.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer.js +69 -87
- package/lib/dist/painter/index.d.ts +1 -2
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +2 -3
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +27 -49
- package/lib/dist/painter/mesh/hull/hull.d.ts +12 -0
- package/lib/dist/painter/mesh/hull/hull.d.ts.map +1 -0
- package/lib/dist/painter/mesh/hull/hull.js +11 -0
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +4 -3
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +11 -9
- package/lib/dist/painter/node/index.d.ts +2 -0
- package/lib/dist/painter/node/index.d.ts.map +1 -0
- package/lib/dist/painter/node/index.js +2 -0
- package/lib/dist/painter/node/node.d.ts +32 -0
- package/lib/dist/painter/node/node.d.ts.map +1 -0
- package/lib/dist/painter/node/node.js +73 -0
- package/lib/dist/painter/state/state.d.ts +15 -3
- package/lib/dist/painter/state/state.d.ts.map +1 -1
- package/lib/dist/painter/state/state.js +46 -16
- package/lib/dist/scene/scene-node.d.ts +8 -0
- package/lib/dist/scene/scene-node.d.ts.map +1 -0
- package/lib/dist/scene/scene-node.js +13 -0
- package/lib/dist/shader/code.d.ts +8 -8
- package/lib/dist/shader/code.d.ts.map +1 -1
- package/lib/dist/shader/code.js +1 -1
- package/lib/dist/shader/fragment.d.ts +11 -11
- package/lib/dist/shader/fragment.d.ts.map +1 -1
- package/lib/dist/shader/fragment.js +1 -1
- package/lib/dist/shader/vertex.d.ts +11 -11
- package/lib/dist/shader/vertex.d.ts.map +1 -1
- package/lib/dist/shader/vertex.js +1 -1
- package/lib/dist/texture/texture2d.d.ts +2 -1
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +7 -1
- package/lib/dist/types/program.d.ts +3 -3
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/types/texture2d.d.ts +2 -1
- package/lib/dist/types/texture2d.d.ts.map +1 -1
- package/lib/dist/types/webgl.d.ts +48 -0
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +52 -1
- package/lib/dist/utils/index.d.ts +0 -1
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +1 -2
- package/lib/dist/utils/state/cull.d.ts +1 -1
- package/lib/dist/utils/state/cull.d.ts.map +1 -1
- package/lib/dist/utils/state/cull.js +10 -2
- package/lib/dist/utils/state/index.d.ts +2 -0
- package/lib/dist/utils/state/index.d.ts.map +1 -1
- package/lib/dist/utils/state/index.js +3 -1
- package/lib/dist/utils/state/stencil.d.ts +24 -0
- package/lib/dist/utils/state/stencil.d.ts.map +1 -0
- package/lib/dist/utils/state/stencil.js +182 -0
- package/package.json +3 -3
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { TgdPainterFunction } from "../types/painter";
|
|
1
2
|
import { TgdContext } from "../context";
|
|
2
3
|
import { TgdTexture2D, TgdTexture2DOptions } from "../types";
|
|
3
4
|
import { TgdPainterGroup } from "./group";
|
|
4
5
|
export interface TgdPainterFramebufferOptions extends TgdTexture2DOptions {
|
|
5
6
|
/**
|
|
6
7
|
* Do we need a depth buffer?
|
|
8
|
+
* Default to `true`.
|
|
7
9
|
*/
|
|
8
10
|
depthBuffer: boolean;
|
|
9
11
|
/**
|
|
@@ -13,27 +15,36 @@ export interface TgdPainterFramebufferOptions extends TgdTexture2DOptions {
|
|
|
13
15
|
* for instance, if `viewportMatchingScale === 0.5` and the viewport
|
|
14
16
|
* id (640, 480), then the framebuffer will have a size of
|
|
15
17
|
* (320, 240).
|
|
18
|
+
*
|
|
19
|
+
* Default to `1`.
|
|
16
20
|
*/
|
|
17
21
|
viewportMatchingScale?: number;
|
|
18
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Function to execute before painting.
|
|
24
|
+
*/
|
|
25
|
+
onEnter?: TgdPainterFunction;
|
|
26
|
+
/**
|
|
27
|
+
* Function to execute after painting.
|
|
28
|
+
*/
|
|
29
|
+
onExit?: TgdPainterFunction;
|
|
19
30
|
}
|
|
20
31
|
export declare class TgdPainterFramebuffer extends TgdPainterGroup {
|
|
21
32
|
private readonly context;
|
|
22
33
|
private readonly options;
|
|
23
|
-
readonly texture: TgdTexture2D;
|
|
24
|
-
readonly textureDepth: TgdTexture2D;
|
|
25
|
-
private framebuffer;
|
|
26
|
-
private depthbuffer;
|
|
27
34
|
private dirty;
|
|
28
35
|
private _width;
|
|
29
36
|
private _height;
|
|
30
|
-
|
|
37
|
+
private _texture;
|
|
38
|
+
private _framebuffer;
|
|
39
|
+
private _depthBuffer;
|
|
40
|
+
constructor(context: TgdContext, options?: Partial<TgdPainterFramebufferOptions>);
|
|
41
|
+
get texture(): TgdTexture2D;
|
|
31
42
|
get width(): number;
|
|
32
43
|
set width(v: number);
|
|
33
44
|
get height(): number;
|
|
34
45
|
set height(v: number);
|
|
46
|
+
private createFramebufferIfNeeded;
|
|
35
47
|
paint(time: number, delay: number): void;
|
|
36
48
|
delete(): void;
|
|
37
|
-
private createFramebufferIfNeeded;
|
|
38
49
|
}
|
|
39
50
|
//# sourceMappingURL=framebuffer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACrE
|
|
1
|
+
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACrE;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC9B;AAED,qBAAa,qBAAsB,SAAQ,eAAe;IASlD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT5B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,YAAY,CAAiC;gBAGhC,OAAO,EAAE,UAAU,EACnB,OAAO,GAAE,OAAO,CAAC,4BAA4B,CAAM;IASxE,IAAI,OAAO,IAAI,YAAY,CAK1B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAKlB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IAED,OAAO,CAAC,yBAAyB;IAoDjC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAYxC,MAAM;CAgBT"}
|
|
@@ -1,37 +1,27 @@
|
|
|
1
1
|
import { TgdPainterGroup } from "./group.js";
|
|
2
|
-
const DEFAULT_TEXTURE_SIZE = 256;
|
|
3
2
|
export class TgdPainterFramebuffer extends TgdPainterGroup {
|
|
4
3
|
context;
|
|
5
4
|
options;
|
|
6
|
-
|
|
7
|
-
textureDepth;
|
|
8
|
-
framebuffer = null;
|
|
9
|
-
depthbuffer = null;
|
|
10
|
-
dirty = false;
|
|
5
|
+
dirty = true;
|
|
11
6
|
_width = 0;
|
|
12
7
|
_height = 0;
|
|
13
|
-
|
|
8
|
+
_texture = null;
|
|
9
|
+
_framebuffer = null;
|
|
10
|
+
_depthBuffer = null;
|
|
11
|
+
constructor(context, options = {}) {
|
|
14
12
|
super();
|
|
15
13
|
this.context = context;
|
|
16
14
|
this.options = options;
|
|
17
|
-
this._width = options.width ??
|
|
18
|
-
this._height = options.height ??
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
this.
|
|
27
|
-
width: options.depthBuffer ? this._width : 1,
|
|
28
|
-
height: options.depthBuffer ? this._height : 1,
|
|
29
|
-
generateMipMap: false,
|
|
30
|
-
internalFormat: "DEPTH_COMPONENT24",
|
|
31
|
-
format: "DEPTH_COMPONENT",
|
|
32
|
-
type: "UNSIGNED_INT",
|
|
33
|
-
});
|
|
34
|
-
this.dirty = true;
|
|
15
|
+
this._width = options.width ?? 0;
|
|
16
|
+
this._height = options.height ?? 0;
|
|
17
|
+
this.onEnter = options.onEnter;
|
|
18
|
+
this.onExit = options.onExit;
|
|
19
|
+
}
|
|
20
|
+
get texture() {
|
|
21
|
+
if (!this._texture) {
|
|
22
|
+
this._texture = this.context.textures2D.getDefaultEmpty();
|
|
23
|
+
}
|
|
24
|
+
return this._texture;
|
|
35
25
|
}
|
|
36
26
|
get width() {
|
|
37
27
|
return this._width;
|
|
@@ -51,75 +41,67 @@ export class TgdPainterFramebuffer extends TgdPainterGroup {
|
|
|
51
41
|
this._height = v;
|
|
52
42
|
this.dirty = true;
|
|
53
43
|
}
|
|
54
|
-
|
|
55
|
-
|
|
44
|
+
createFramebufferIfNeeded() {
|
|
45
|
+
if (!this.dirty)
|
|
46
|
+
return;
|
|
47
|
+
const { context, width, height } = this;
|
|
56
48
|
const { gl } = context;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
this.delete();
|
|
50
|
+
this._texture = context.textures2D.create({
|
|
51
|
+
width: Math.max(width, 1),
|
|
52
|
+
height: Math.max(height, 1),
|
|
53
|
+
internalFormat: "RGB",
|
|
54
|
+
generateMipMap: true,
|
|
55
|
+
magFilter: "LINEAR",
|
|
56
|
+
minFilter: "LINEAR_MIPMAP_LINEAR",
|
|
57
|
+
wrapR: "MIRRORED_REPEAT",
|
|
58
|
+
wrapS: "MIRRORED_REPEAT",
|
|
59
|
+
wrapT: "MIRRORED_REPEAT",
|
|
60
|
+
});
|
|
61
|
+
this._framebuffer = context.createFramebuffer();
|
|
62
|
+
gl.bindFramebuffer(gl.FRAMEBUFFER, this._framebuffer);
|
|
63
|
+
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, this._texture.glTexture, 0);
|
|
64
|
+
if (this.options.depthBuffer !== false) {
|
|
65
|
+
// Create a Depth Buffer, because the default
|
|
66
|
+
// framebuffer has none.
|
|
67
|
+
const depthBuffer = gl.createRenderbuffer();
|
|
68
|
+
if (!depthBuffer)
|
|
69
|
+
throw Error("Unable to create WebGLRenderBuffer!");
|
|
70
|
+
this._depthBuffer = depthBuffer;
|
|
71
|
+
gl.bindRenderbuffer(gl.RENDERBUFFER, depthBuffer);
|
|
72
|
+
gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, width, height);
|
|
73
|
+
gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthBuffer);
|
|
61
74
|
}
|
|
62
|
-
const
|
|
63
|
-
|
|
75
|
+
// const status = gl.checkFramebufferStatus(gl.FRAMEBUFFER)
|
|
76
|
+
// console.log("Framebuffer status:", context.lookupWebglConstant(status))
|
|
77
|
+
this.dirty = false;
|
|
78
|
+
}
|
|
79
|
+
paint(time, delay) {
|
|
80
|
+
const { context, options } = this;
|
|
81
|
+
const { gl } = context;
|
|
82
|
+
const { viewportMatchingScale = 1 } = options;
|
|
83
|
+
this.width = Math.round(context.width * viewportMatchingScale);
|
|
84
|
+
this.height = Math.round(context.height * viewportMatchingScale);
|
|
64
85
|
this.createFramebufferIfNeeded();
|
|
65
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, this.
|
|
66
|
-
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture.glTexture, 0);
|
|
67
|
-
gl.viewport(0, 0, this.width, this.height);
|
|
68
|
-
console.log("🚀 [framebuffer] w, h = ", w, h); // @FIXME: Remove this line written on 2024-08-20 at 16:42
|
|
69
|
-
console.log("🚀 [framebuffer] this.width, this.height = ", this.width, this.height); // @FIXME: Remove this line written on 2024-08-20 at 16:42
|
|
86
|
+
gl.bindFramebuffer(gl.FRAMEBUFFER, this._framebuffer);
|
|
70
87
|
super.paint(time, delay);
|
|
71
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER,
|
|
72
|
-
gl.viewport(x, y, w, h);
|
|
88
|
+
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
|
|
73
89
|
}
|
|
74
90
|
delete() {
|
|
75
|
-
const { context,
|
|
91
|
+
const { context, _texture, _framebuffer, _depthBuffer } = this;
|
|
76
92
|
const { gl } = context;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (
|
|
82
|
-
gl.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if (this.framebuffer) {
|
|
89
|
-
console.log("Delete framebuffer!");
|
|
90
|
-
context.gl.deleteFramebuffer(this.framebuffer);
|
|
93
|
+
if (_texture) {
|
|
94
|
+
gl.deleteTexture(_texture.glTexture);
|
|
95
|
+
this._texture = null;
|
|
96
|
+
}
|
|
97
|
+
if (_framebuffer) {
|
|
98
|
+
gl.deleteFramebuffer(_framebuffer);
|
|
99
|
+
this._framebuffer = null;
|
|
100
|
+
}
|
|
101
|
+
if (_depthBuffer) {
|
|
102
|
+
gl.deleteRenderbuffer(_depthBuffer);
|
|
103
|
+
this._depthBuffer = null;
|
|
91
104
|
}
|
|
92
|
-
console.log("Create framebuffer!");
|
|
93
|
-
this.framebuffer = context.createFramebuffer();
|
|
94
|
-
this.texture.resize(width, height);
|
|
95
|
-
// @TODO: Generate depth buffer.
|
|
96
|
-
// if (this.options.depthBuffer === true) {
|
|
97
|
-
// // Create a Depth Buffer, because the default
|
|
98
|
-
// // framebuffer has none.
|
|
99
|
-
// const { gl } = context
|
|
100
|
-
// this.depthbuffer = createDepthTexture(gl, this.width, this.height)
|
|
101
|
-
// this.textureDepth.resize(width, height)
|
|
102
|
-
// }
|
|
103
|
-
this.dirty = false;
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
|
-
|
|
107
|
-
const depthTexture = gl.createTexture();
|
|
108
|
-
gl.bindTexture(gl.TEXTURE_2D, depthTexture);
|
|
109
|
-
const level = 0;
|
|
110
|
-
const internalFormat = gl.DEPTH_COMPONENT24;
|
|
111
|
-
const border = 0;
|
|
112
|
-
const format = gl.DEPTH_COMPONENT;
|
|
113
|
-
const type = gl.UNSIGNED_INT;
|
|
114
|
-
const data = null;
|
|
115
|
-
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, format, type, data);
|
|
116
|
-
// set the filtering so we don't need mips
|
|
117
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
|
|
118
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
|
|
119
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
|
|
120
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
|
|
121
|
-
// attach the depth texture to the framebuffer
|
|
122
|
-
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, depthTexture, level);
|
|
123
|
-
return depthTexture;
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9mcmFtZWJ1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBbUJ6QyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTtBQUVoQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQVVqQztJQUNBO0lBVkwsT0FBTyxDQUFjO0lBQ3JCLFlBQVksQ0FBYztJQUNsQyxXQUFXLEdBQTRCLElBQUksQ0FBQTtJQUMzQyxXQUFXLEdBQTZCLElBQUksQ0FBQTtJQUM1QyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2IsTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNWLE9BQU8sR0FBRyxDQUFDLENBQUE7SUFFbkIsWUFDcUIsT0FBbUIsRUFDbkIsT0FBOEM7UUFFL0QsS0FBSyxFQUFFLENBQUE7UUFIVSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXVDO1FBRy9ELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxvQkFBb0IsQ0FBQTtRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksb0JBQW9CLENBQUE7UUFDckQsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLGVBQWUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDaEMsY0FBYyxFQUFFLEtBQUs7WUFDckIsY0FBYyxFQUFFLElBQUk7U0FDdkIsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUMxQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxjQUFjLEVBQUUsS0FBSztZQUNyQixjQUFjLEVBQUUsbUJBQW1CO1lBQ25DLE1BQU0sRUFBRSxpQkFBaUI7WUFDekIsSUFBSSxFQUFFLGNBQWM7U0FDdkIsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUN0QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBUztRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTTtRQUU3QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLENBQVM7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUM7WUFBRSxPQUFNO1FBRTlCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFBO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDN0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUE7UUFDdEIsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ3pDLElBQUksT0FBTyxxQkFBcUIsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ2pCLENBQUMsRUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcscUJBQXFCLENBQUMsQ0FDcEQsQ0FBQTtZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsQ0FBQyxFQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxDQUNyRCxDQUFBO1FBQ0wsQ0FBQztRQUNELE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FDdEMsRUFBRSxDQUFDLG1CQUFtQixDQUNFLENBQUE7UUFDNUIsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBZSxDQUFBO1FBQy9ELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFBO1FBQ2hDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDcEQsRUFBRSxDQUFDLG9CQUFvQixDQUNuQixFQUFFLENBQUMsV0FBVyxFQUNkLEVBQUUsQ0FBQyxpQkFBaUIsRUFDcEIsRUFBRSxDQUFDLFVBQVUsRUFDYixPQUFPLENBQUMsU0FBUyxFQUNqQixDQUFDLENBQ0osQ0FBQTtRQUNELEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQSxDQUFDLDBEQUEwRDtRQUN4RyxPQUFPLENBQUMsR0FBRyxDQUNQLDZDQUE2QyxFQUM3QyxJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxNQUFNLENBQ2QsQ0FBQSxDQUFDLDBEQUEwRDtRQUM1RCxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN4QixFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtRQUN0RCxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFFRCxNQUFNO1FBQ0YsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FDOUQsSUFBSSxDQUFBO1FBQ1IsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUN0QixPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNsQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUN2QyxJQUFJLFdBQVc7WUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDbEQsSUFBSSxXQUFXO1lBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFTyx5QkFBeUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTTtRQUV2QixNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDdkMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1lBQ2xDLE9BQU8sQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDbEMsZ0NBQWdDO1FBQ2hDLDJDQUEyQztRQUMzQyxvREFBb0Q7UUFDcEQsK0JBQStCO1FBQy9CLDZCQUE2QjtRQUM3Qix5RUFBeUU7UUFDekUsOENBQThDO1FBQzlDLElBQUk7UUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUN0QixDQUFDO0NBQ0o7QUFFRCxTQUFTLGtCQUFrQixDQUN2QixFQUEwQixFQUMxQixLQUFhLEVBQ2IsTUFBYztJQUVkLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN2QyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFBO0lBQzNDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNoQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFBO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUE7SUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ2pCLEVBQUUsQ0FBQyxVQUFVLENBQ1QsRUFBRSxDQUFDLFVBQVUsRUFDYixLQUFLLEVBQ0wsY0FBYyxFQUNkLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLEVBQ0osSUFBSSxDQUNQLENBQUE7SUFDRCwwQ0FBMEM7SUFDMUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3BFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNwRSw4Q0FBOEM7SUFDOUMsRUFBRSxDQUFDLG9CQUFvQixDQUNuQixFQUFFLENBQUMsV0FBVyxFQUNkLEVBQUUsQ0FBQyxnQkFBZ0IsRUFDbkIsRUFBRSxDQUFDLFVBQVUsRUFDYixZQUFZLEVBQ1osS0FBSyxDQUNSLENBQUE7SUFDRCxPQUFPLFlBQVksQ0FBQTtBQUN2QixDQUFDIn0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9mcmFtZWJ1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBNkJ6QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQVNqQztJQUNBO0lBVGIsS0FBSyxHQUFHLElBQUksQ0FBQTtJQUNaLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDVixPQUFPLEdBQUcsQ0FBQyxDQUFBO0lBQ1gsUUFBUSxHQUF3QixJQUFJLENBQUE7SUFDcEMsWUFBWSxHQUE0QixJQUFJLENBQUE7SUFDNUMsWUFBWSxHQUE2QixJQUFJLENBQUE7SUFFckQsWUFDcUIsT0FBbUIsRUFDbkIsVUFBaUQsRUFBRTtRQUVwRSxLQUFLLEVBQUUsQ0FBQTtRQUhVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBNEM7UUFHcEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFBO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7SUFDaEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUM3RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxN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
|
|
@@ -4,11 +4,10 @@ export * from "./clear";
|
|
|
4
4
|
export * from "./depth";
|
|
5
5
|
export * from "./filter";
|
|
6
6
|
export * from "./framebuffer";
|
|
7
|
-
export * from "./framebuffer-old";
|
|
8
7
|
export * from "./group";
|
|
9
8
|
export * from "./logic";
|
|
10
9
|
export * from "./mesh";
|
|
11
|
-
export * from "./node";
|
|
10
|
+
export * from "./node/node";
|
|
12
11
|
export * from "./segments";
|
|
13
12
|
export * from "./skybox";
|
|
14
13
|
export * from "./state/state";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/painter/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/painter/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA"}
|
|
@@ -4,12 +4,11 @@ export * from "./clear.js";
|
|
|
4
4
|
export * from "./depth.js";
|
|
5
5
|
export * from "./filter/index.js";
|
|
6
6
|
export * from "./framebuffer.js";
|
|
7
|
-
export * from "./framebuffer-old.js";
|
|
8
7
|
export * from "./group.js";
|
|
9
8
|
export * from "./logic.js";
|
|
10
9
|
export * from "./mesh/index.js";
|
|
11
|
-
export * from "./node.js";
|
|
10
|
+
export * from "./node/node.js";
|
|
12
11
|
export * from "./segments/index.js";
|
|
13
12
|
export * from "./skybox/index.js";
|
|
14
13
|
export * from "./state/state.js";
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFFBQVEsQ0FBQTtBQUN0QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLGVBQWUsQ0FBQSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/gltf/gltf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAA;AAG/D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAExC,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,gCAAgC,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,CACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KAAE,GAC5C,WAAW,CAAA;CACjB;AAED;GACG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/gltf/gltf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAA;AAG/D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAExC,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,gCAAgC,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,CACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KAAE,GAC5C,WAAW,CAAA;CACjB;AAED;GACG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB;CA4CtE"}
|
|
@@ -12,58 +12,36 @@ export class TgdPainterMeshGltf extends TgdPainterMesh {
|
|
|
12
12
|
const color = figureColor(asset, meshIndex, primitiveIndex, context);
|
|
13
13
|
const material = materialFactory({ color });
|
|
14
14
|
let computeNormals = false;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// We will compute them with a smooth shading.
|
|
27
|
-
console.warn("No normals found! We will apply smooth shading.");
|
|
28
|
-
computeNormals = true;
|
|
29
|
-
}
|
|
30
|
-
super(context, {
|
|
31
|
-
geometry: new TgdGeometry({
|
|
32
|
-
dataset,
|
|
33
|
-
elements: asset.getMeshPrimitiveIndices(meshIndex, primitiveIndex),
|
|
34
|
-
drawMode: "TRIANGLES",
|
|
35
|
-
computeNormalsIfMissing: computeNormals,
|
|
36
|
-
}),
|
|
37
|
-
material,
|
|
38
|
-
});
|
|
15
|
+
const attributes = {
|
|
16
|
+
POSITION: "vec3",
|
|
17
|
+
NORMAL: "vec3",
|
|
18
|
+
};
|
|
19
|
+
if (asset.getMeshPrimitive().attributes.TEXCOORD_0) {
|
|
20
|
+
attributes.TEXCOORD_0 = "vec2";
|
|
21
|
+
}
|
|
22
|
+
const dataset = new TgdDataset(attributes);
|
|
23
|
+
asset.setAttrib(dataset, "POSITION", meshIndex, primitiveIndex);
|
|
24
|
+
if (asset.getMeshPrimitive().attributes.NORMAL) {
|
|
25
|
+
asset.setAttrib(dataset, "NORMAL", meshIndex, primitiveIndex);
|
|
39
26
|
}
|
|
40
27
|
else {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
try {
|
|
48
|
-
asset.setAttrib(dataset, "NORMAL", meshIndex, primitiveIndex);
|
|
49
|
-
}
|
|
50
|
-
catch (ex) {
|
|
51
|
-
// It seems to be impossible to retrieve normals.
|
|
52
|
-
// We will compute them with a smooth shading.
|
|
53
|
-
console.warn("No normals found! We will apply smooth shading.");
|
|
54
|
-
computeNormals = true;
|
|
55
|
-
}
|
|
28
|
+
// It seems to be impossible to retrieve normals.
|
|
29
|
+
// We will compute them with a smooth shading.
|
|
30
|
+
console.warn("No normals found! We will apply smooth shading.");
|
|
31
|
+
computeNormals = true;
|
|
32
|
+
}
|
|
33
|
+
if (asset.getMeshPrimitive().attributes.TEXCOORD_0) {
|
|
56
34
|
asset.setAttrib(dataset, "TEXCOORD_0", meshIndex, primitiveIndex);
|
|
57
|
-
super(context, {
|
|
58
|
-
geometry: new TgdGeometry({
|
|
59
|
-
dataset,
|
|
60
|
-
elements: asset.getMeshPrimitiveIndices(meshIndex, primitiveIndex),
|
|
61
|
-
drawMode: "TRIANGLES",
|
|
62
|
-
computeNormalsIfMissing: computeNormals,
|
|
63
|
-
}),
|
|
64
|
-
material,
|
|
65
|
-
});
|
|
66
35
|
}
|
|
36
|
+
super(context, {
|
|
37
|
+
geometry: new TgdGeometry({
|
|
38
|
+
dataset,
|
|
39
|
+
elements: asset.getMeshPrimitiveIndices(meshIndex, primitiveIndex),
|
|
40
|
+
drawMode: "TRIANGLES",
|
|
41
|
+
computeNormalsIfMissing: computeNormals,
|
|
42
|
+
}),
|
|
43
|
+
material,
|
|
44
|
+
});
|
|
67
45
|
this.name = options.name ?? `Gltf/${this.name}`;
|
|
68
46
|
}
|
|
69
47
|
}
|
|
@@ -108,4 +86,4 @@ function makeMaterial({ color }) {
|
|
|
108
86
|
});
|
|
109
87
|
return material;
|
|
110
88
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvZ2x0Zi9nbHRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxjQUFjLENBQUE7QUFFL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDNUMsT0FBTyxFQUFlLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQWF4QztHQUNHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFDbEQsWUFBWSxPQUFtQixFQUFFLE9BQWtDO1FBQy9ELE1BQU0sRUFDRixLQUFLLEVBQ0wsU0FBUyxHQUFHLENBQUMsRUFDYixjQUFjLEdBQUcsQ0FBQyxFQUNsQixlQUFlLEdBQUcsWUFBWSxHQUNqQyxHQUFHLE9BQU8sQ0FBQTtRQUNYLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNwRSxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQTtRQUMxQixNQUFNLFVBQVUsR0FBeUI7WUFDckMsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFFLE1BQU07U0FDakIsQ0FBQTtRQUNELElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pELFVBQVUsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO1FBQ2xDLENB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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TgdGeometry } from "./../../../geometry/geometry";
|
|
2
|
+
import { TgdContext } from "../../../context";
|
|
3
|
+
import { TgdPainterMesh } from "../mesh";
|
|
4
|
+
import { ArrayNumber4 } from "../../../types";
|
|
5
|
+
export interface TgdPainterMeshHullOptions {
|
|
6
|
+
geometry: TgdGeometry;
|
|
7
|
+
color?: ArrayNumber4;
|
|
8
|
+
}
|
|
9
|
+
export declare class TgdPainterMeshHull extends TgdPainterMesh {
|
|
10
|
+
constructor(context: TgdContext, options: TgdPainterMeshHullOptions);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=hull.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hull.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/hull/hull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB;CAMtE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TgdPainterMesh } from "../mesh/index.js";
|
|
2
|
+
import { TgdMaterialSolid } from "./../../../material/index.js";
|
|
3
|
+
export class TgdPainterMeshHull extends TgdPainterMesh {
|
|
4
|
+
constructor(context, options) {
|
|
5
|
+
super(context, {
|
|
6
|
+
geometry: options.geometry,
|
|
7
|
+
material: new TgdMaterialSolid({ color: options.color }),
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvaHVsbC9odWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBT2hELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFjO0lBQ2xELFlBQVksT0FBbUIsRUFBRSxPQUFrQztRQUMvRCxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ1gsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFFBQVEsRUFBRSxJQUFJLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMzRCxDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
|
|
@@ -2,6 +2,7 @@ import { TgdContext } from "../../../context";
|
|
|
2
2
|
import { TgdGeometry } from "../../../geometry";
|
|
3
3
|
import { TgdMaterial } from "../../../material";
|
|
4
4
|
import { TgdMat4, TgdVec3 } from "../../../math";
|
|
5
|
+
import { TgdInterfaceTransformable } from "../../../interface";
|
|
5
6
|
import { TgdPainter } from "../../painter";
|
|
6
7
|
export interface TgdPainterMeshOptions {
|
|
7
8
|
geometry: TgdGeometry;
|
|
@@ -10,9 +11,9 @@ export interface TgdPainterMeshOptions {
|
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
*/
|
|
13
|
-
export declare class TgdPainterMesh extends TgdPainter {
|
|
14
|
+
export declare class TgdPainterMesh extends TgdPainter implements TgdInterfaceTransformable {
|
|
14
15
|
protected readonly context: TgdContext;
|
|
15
|
-
|
|
16
|
+
matrixTransfoGlobal: TgdMat4;
|
|
16
17
|
readonly material: TgdMaterial;
|
|
17
18
|
private readonly prg;
|
|
18
19
|
private readonly vao;
|
|
@@ -27,7 +28,7 @@ export declare class TgdPainterMesh extends TgdPainter {
|
|
|
27
28
|
min: Readonly<TgdVec3>;
|
|
28
29
|
max: Readonly<TgdVec3>;
|
|
29
30
|
};
|
|
30
|
-
readonly paint: () => void;
|
|
31
|
+
readonly paint: (time: number, delay: number) => void;
|
|
31
32
|
delete(): void;
|
|
32
33
|
}
|
|
33
34
|
//# sourceMappingURL=mesh.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/mesh/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/mesh/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAK5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,WAAW,CAAA;IACrB,QAAQ,EAAE,WAAW,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;GACG;AACH,qBAAa,cACT,SAAQ,UACR,YAAW,yBAAyB;IAehC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU;IAbnC,mBAAmB,UAAgB;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAA;IAErC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAuB;gBAGf,OAAO,EAAE,UAAU,EACtC,OAAO,EAAE,qBAAqB;IA0DlC,kBAAkB,IAAI;QAClB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;KACzB;IA4BD,SAAgB,KAAK,SAAU,MAAM,SAAS,MAAM,UAuBnD;IAED,MAAM,IAAI,IAAI;CAGjB"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { TgdMat4, TgdVec3 } from "./../../../math/index.js";
|
|
2
|
-
import { TgdPainter } from "../../painter.js";
|
|
3
2
|
import { TgdShaderFragment } from "./../../../shader/fragment.js";
|
|
4
3
|
import { TgdShaderVertex } from "./../../../shader/vertex.js";
|
|
4
|
+
import { TgdPainter } from "../../painter.js";
|
|
5
|
+
import { tgdCodeStringify } from "./../../../shader/index.js";
|
|
5
6
|
/**
|
|
6
7
|
*/
|
|
7
8
|
export class TgdPainterMesh extends TgdPainter {
|
|
8
9
|
context;
|
|
9
|
-
|
|
10
|
+
matrixTransfoGlobal = new TgdMat4();
|
|
10
11
|
material;
|
|
11
12
|
prg;
|
|
12
13
|
vao;
|
|
@@ -40,10 +41,11 @@ export class TgdPainterMesh extends TgdPainter {
|
|
|
40
41
|
},
|
|
41
42
|
varying: material.varyings,
|
|
42
43
|
functions: {
|
|
43
|
-
"void applyMaterial()": material.vertexShaderCode,
|
|
44
|
+
"void applyMaterial()": tgdCodeStringify(material.vertexShaderCode),
|
|
45
|
+
"vec4 getPosition(vec4 pos)": material.vertexShaderCodeForGetPosition ?? "return pos;",
|
|
44
46
|
},
|
|
45
47
|
mainCode: [
|
|
46
|
-
"gl_Position = uniProjectionMatrix * uniModelViewMatrix * uniTransfoMatrix * POSITION;",
|
|
48
|
+
"gl_Position = uniProjectionMatrix * uniModelViewMatrix * uniTransfoMatrix * getPosition(POSITION);",
|
|
47
49
|
"applyMaterial();",
|
|
48
50
|
],
|
|
49
51
|
}).code;
|
|
@@ -52,7 +54,7 @@ export class TgdPainterMesh extends TgdPainter {
|
|
|
52
54
|
outputs: { FragColor: "vec4" },
|
|
53
55
|
varying: material.varyings,
|
|
54
56
|
functions: {
|
|
55
|
-
"vec4 applyMaterial()": material.fragmentShaderCode,
|
|
57
|
+
"vec4 applyMaterial()": tgdCodeStringify(material.fragmentShaderCode),
|
|
56
58
|
},
|
|
57
59
|
mainCode: [`FragColor = applyMaterial();`],
|
|
58
60
|
}).code;
|
|
@@ -93,11 +95,11 @@ export class TgdPainterMesh extends TgdPainter {
|
|
|
93
95
|
this.bboxMax = max;
|
|
94
96
|
return { min, max };
|
|
95
97
|
}
|
|
96
|
-
paint = () => {
|
|
97
|
-
const { context, prg, geometry, material, drawMode, count, matrixTransfo, } = this;
|
|
98
|
+
paint = (time, delay) => {
|
|
99
|
+
const { context, prg, geometry, material, drawMode, count, matrixTransfoGlobal: matrixTransfo, } = this;
|
|
98
100
|
const { gl, camera } = context;
|
|
99
101
|
prg.use();
|
|
100
|
-
material.setUniforms(prg);
|
|
102
|
+
material.setUniforms(prg, time, delay);
|
|
101
103
|
prg.uniformMatrix4fv("uniTransfoMatrix", matrixTransfo);
|
|
102
104
|
prg.uniformMatrix4fv("uniModelViewMatrix", camera.matrixModelView);
|
|
103
105
|
prg.uniformMatrix4fv("uniProjectionMatrix", camera.matrixProjection);
|
|
@@ -114,4 +116,4 @@ export class TgdPainterMesh extends TgdPainter {
|
|
|
114
116
|
this.vao.delete();
|
|
115
117
|
}
|
|
116
118
|
}
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvbWVzaC9tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVE5QztHQUNHO0FBQ0gsTUFBTSxPQUFPLGNBQ1QsU0FBUSxVQUFVO0lBZ0JLO0lBYmhCLG1CQUFtQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7SUFDMUIsUUFBUSxDQUFhO0lBRXBCLEdBQUcsQ0FBWTtJQUNmLEdBQUcsQ0FBZ0I7SUFDbkIsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLFFBQVEsQ0FBYTtJQUNyQixRQUFRLEdBQVcsQ0FBQyxDQUFBO0lBQzdCLE9BQU8sR0FBbUIsSUFBSSxDQUFBO0lBQzlCLE9BQU8sR0FBbUIsSUFBSSxDQUFBO0lBRXRDLFlBQ3VCLE9BQW1CLEVBQ3RDLE9BQThCO1FBRTlCLEtBQUssRUFBRSxDQUFBO1FBSFksWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUl0QyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixJQUFJLENBQUMsUUFBUTtZQUNULE9BQU8sUUFBUSxDQUFDLFFBQVEsS0FBSyxRQUFRO2dCQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVE7Z0JBQ25C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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/painter/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TgdMat4 } from "../../math";
|
|
2
|
+
import { TgdPainter } from "../painter";
|
|
3
|
+
import { TgdTransfo } from "../../math/transfo";
|
|
4
|
+
export interface TgdPainterNodeChild {
|
|
5
|
+
paint(time: number, delay: number): void;
|
|
6
|
+
delete(): void;
|
|
7
|
+
matrixTransfo: TgdMat4;
|
|
8
|
+
}
|
|
9
|
+
export interface TgdPainterNodeOptions {
|
|
10
|
+
children: Array<TgdPainterNode | TgdPainterNodeChild>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A Node can hold others Nodes or any object providing the
|
|
14
|
+
* TgdPainterNodeChild interface.
|
|
15
|
+
*
|
|
16
|
+
* Each Node is a local space for its children.
|
|
17
|
+
*/
|
|
18
|
+
export declare class TgdPainterNode extends TgdPainter {
|
|
19
|
+
parentTransfo: TgdTransfo;
|
|
20
|
+
readonly transfo: TgdTransfo;
|
|
21
|
+
private readonly matrixTransfo;
|
|
22
|
+
private parentUpdateCount;
|
|
23
|
+
private updateCount;
|
|
24
|
+
private readonly childrenNodes;
|
|
25
|
+
private readonly children;
|
|
26
|
+
constructor(options?: Partial<TgdPainterNodeOptions>);
|
|
27
|
+
delete(): void;
|
|
28
|
+
add(...children: Array<TgdPainterNode | TgdPainterNodeChild>): void;
|
|
29
|
+
remove(...children: Array<TgdPainterNode | TgdPainterNodeChild>): void;
|
|
30
|
+
paint(time: number, delay: number): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/painter/node/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,MAAM,IAAI,IAAI,CAAA;IACd,aAAa,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAA;CACxD;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,UAAU;IACnC,aAAa,EAAE,UAAU,CAAmB;IACnD,SAAgB,OAAO,aAAmB;IAE1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAEzC,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAMxD,MAAM,IAAI,IAAI;IASd,GAAG,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAU5D,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAY/D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CA2B3C"}
|