bruce-cesium 7.2.0 → 7.2.2
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/dist/bruce-cesium.es5.js +2237 -336
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +2230 -333
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +2 -1
- package/dist/lib/bruce-cesium.js.map +1 -1
- package/dist/lib/internal/image-utils.js +106 -1
- package/dist/lib/internal/image-utils.js.map +1 -1
- package/dist/lib/rendering/displaced-surface-primitive.js +41 -8
- package/dist/lib/rendering/displaced-surface-primitive.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine-polygon.js +211 -13
- package/dist/lib/rendering/entity-render-engine-polygon.js.map +1 -1
- package/dist/lib/rendering/render-managers/common/historic-utils.js +471 -0
- package/dist/lib/rendering/render-managers/common/historic-utils.js.map +1 -0
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +14 -124
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +16 -13
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +31 -109
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +23 -7
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/texture-frame-series-animator.js +621 -28
- package/dist/lib/rendering/texture-frame-series-animator.js.map +1 -1
- package/dist/lib/rendering/texture-value-labels.js +687 -0
- package/dist/lib/rendering/texture-value-labels.js.map +1 -0
- package/dist/lib/rendering/tileset-styler.js +28 -24
- package/dist/lib/rendering/tileset-styler.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +8 -3
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +2 -1
- package/dist/types/internal/image-utils.d.ts +25 -0
- package/dist/types/rendering/displaced-surface-primitive.d.ts +5 -2
- package/dist/types/rendering/render-managers/common/historic-utils.d.ts +159 -0
- package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +1 -0
- package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +5 -0
- package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +1 -0
- package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +2 -0
- package/dist/types/rendering/texture-frame-series-animator.d.ts +172 -1
- package/dist/types/rendering/texture-value-labels.d.ts +139 -0
- package/dist/types/rendering/tileset-styler.d.ts +2 -0
- package/dist/types/rendering/visuals-register.d.ts +1 -0
- package/package.json +2 -2
package/dist/lib/bruce-cesium.js
CHANGED
|
@@ -24,6 +24,7 @@ __exportStar(require("./rendering/entity-render-engine-model3d"), exports);
|
|
|
24
24
|
__exportStar(require("./rendering/entity-render-engine-point"), exports);
|
|
25
25
|
__exportStar(require("./rendering/entity-render-engine-polygon"), exports);
|
|
26
26
|
__exportStar(require("./rendering/entity-render-engine-polyline"), exports);
|
|
27
|
+
__exportStar(require("./rendering/texture-value-labels"), exports);
|
|
27
28
|
__exportStar(require("./rendering/menu-item-creator"), exports);
|
|
28
29
|
__exportStar(require("./rendering/menu-item-manager"), exports);
|
|
29
30
|
__exportStar(require("./rendering/render-managers/common/cesium-parabola"), exports);
|
|
@@ -81,7 +82,7 @@ __exportStar(require("./widgets/widget-info-view"), exports);
|
|
|
81
82
|
__exportStar(require("./widgets/widget-left-panel"), exports);
|
|
82
83
|
__exportStar(require("./widgets/widget-nav-compass"), exports);
|
|
83
84
|
__exportStar(require("./widgets/widget-view-bar"), exports);
|
|
84
|
-
exports.VERSION = "7.2.
|
|
85
|
+
exports.VERSION = "7.2.2";
|
|
85
86
|
/**
|
|
86
87
|
* Updates the environment instance used by bruce-cesium to one specified.
|
|
87
88
|
* This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bruce-cesium.js","sourceRoot":"","sources":["../../src/bruce-cesium.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAE3C,qEAAmD;AACnD,0EAAwD;AACxD,uEAAqD;AACrD,mEAAiD;AACjD,2EAAyD;AACzD,yEAAuD;AACvD,2EAAyD;AACzD,4EAA0D;AAC1D,gEAA8C;AAC9C,gEAA8C;AAC9C,qFAAmE;AACnE,kFAAgE;AAChE,iFAA+D;AAC/D,oFAAkE;AAClE,yGAAuF;AACvF,uGAAqF;AACrF,mGAAiF;AACjF,sGAAoF;AACpF,+FAA6E;AAC7E,6FAA2E;AAC3E,4FAA0E;AAC1E,iGAA+E;AAC/E,6FAA2E;AAC3E,6EAA2D;AAC3D,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,4GAA0F;AAC1F,kGAAgF;AAChF,yGAAuF;AACvF,iEAA+C;AAC/C,oEAAkD;AAClD,iEAA+C;AAC/C,qEAAmD;AACnD,+DAA6C;AAC7C,mEAAiD;AACjD,+DAA6C;AAC7C,wDAAsC;AACtC,uDAAqC;AACrC,wDAAsC;AACtC,sDAAoC;AACpC,qDAAmC;AACnC,+DAA6C;AAC7C,4DAA0C;AAC1C,gEAA8C;AAC9C,wDAAsC;AACtC,mEAAiD;AACjD,oEAAkD;AAClD,mEAAiD;AACjD,+DAA6C;AAC7C,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,4FAA0E;AAC1E,4FAA0E;AAC1E,6FAA2E;AAC3E,mDAAiC;AACjC,6DAA2C;AAC3C,4DAA0C;AAC1C,6DAA2C;AAC3C,sEAAoD;AACpD,6DAA2C;AAC3C,8DAA4C;AAC5C,+DAA6C;AAC7C,4DAA0C;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE;IAC1C,0BAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,OAAO,0BAAW,CAAC;AACvB,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
|
|
1
|
+
{"version":3,"file":"bruce-cesium.js","sourceRoot":"","sources":["../../src/bruce-cesium.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAE3C,qEAAmD;AACnD,0EAAwD;AACxD,uEAAqD;AACrD,mEAAiD;AACjD,2EAAyD;AACzD,yEAAuD;AACvD,2EAAyD;AACzD,4EAA0D;AAC1D,mEAAiD;AACjD,gEAA8C;AAC9C,gEAA8C;AAC9C,qFAAmE;AACnE,kFAAgE;AAChE,iFAA+D;AAC/D,oFAAkE;AAClE,yGAAuF;AACvF,uGAAqF;AACrF,mGAAiF;AACjF,sGAAoF;AACpF,+FAA6E;AAC7E,6FAA2E;AAC3E,4FAA0E;AAC1E,iGAA+E;AAC/E,6FAA2E;AAC3E,6EAA2D;AAC3D,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,4GAA0F;AAC1F,kGAAgF;AAChF,yGAAuF;AACvF,iEAA+C;AAC/C,oEAAkD;AAClD,iEAA+C;AAC/C,qEAAmD;AACnD,+DAA6C;AAC7C,mEAAiD;AACjD,+DAA6C;AAC7C,wDAAsC;AACtC,uDAAqC;AACrC,wDAAsC;AACtC,sDAAoC;AACpC,qDAAmC;AACnC,+DAA6C;AAC7C,4DAA0C;AAC1C,gEAA8C;AAC9C,wDAAsC;AACtC,mEAAiD;AACjD,oEAAkD;AAClD,mEAAiD;AACjD,+DAA6C;AAC7C,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,4FAA0E;AAC1E,4FAA0E;AAC1E,6FAA2E;AAC3E,mDAAiC;AACjC,6DAA2C;AAC3C,4DAA0C;AAC1C,6DAA2C;AAC3C,sEAAoD;AACpD,6DAA2C;AAC3C,8DAA4C;AAC5C,+DAA6C;AAC7C,4DAA0C;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE;IAC1C,0BAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,OAAO,0BAAW,CAAC;AACvB,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadImage = exports.ApplyGrayscaleColorMask = void 0;
|
|
3
|
+
exports.loadImage = exports.ApplyCellBorders = exports.ApplyGradientStops = exports.RampLookup = exports.SampleRamp = exports.ApplyGrayscaleColorMask = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Remaps a (assumed grayscale, server-rendered black-to-white) image's pixels into a gradient between minColor/maxColor,
|
|
6
6
|
* preserving source alpha blended with the mask's own alpha.
|
|
@@ -23,6 +23,111 @@ function ApplyGrayscaleColorMask(imageData, minColor, maxColor) {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
exports.ApplyGrayscaleColorMask = ApplyGrayscaleColorMask;
|
|
26
|
+
/**
|
|
27
|
+
* The colour a ramp gives a normalised value.
|
|
28
|
+
* @param sorted stops in ascending position, normalised into the texture's value range
|
|
29
|
+
*/
|
|
30
|
+
function SampleRamp(sorted, t) {
|
|
31
|
+
let upper = 0;
|
|
32
|
+
while (upper < sorted.length && sorted[upper].position < t) {
|
|
33
|
+
upper++;
|
|
34
|
+
}
|
|
35
|
+
if (upper === 0) {
|
|
36
|
+
return sorted[0].color;
|
|
37
|
+
}
|
|
38
|
+
if (upper >= sorted.length) {
|
|
39
|
+
return sorted[sorted.length - 1].color;
|
|
40
|
+
}
|
|
41
|
+
const a = sorted[upper - 1];
|
|
42
|
+
const b = sorted[upper];
|
|
43
|
+
const span = b.position - a.position;
|
|
44
|
+
// Equal positions are a hard step rather than a division by zero, which is how a band
|
|
45
|
+
// gets a crisp edge instead of a gradient into its neighbour.
|
|
46
|
+
const f = span > 0 ? (t - a.position) / span : 1;
|
|
47
|
+
return {
|
|
48
|
+
red: a.color.red + (b.color.red - a.color.red) * f,
|
|
49
|
+
green: a.color.green + (b.color.green - a.color.green) * f,
|
|
50
|
+
blue: a.color.blue + (b.color.blue - a.color.blue) * f,
|
|
51
|
+
alpha: a.color.alpha + (b.color.alpha - a.color.alpha) * f
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
exports.SampleRamp = SampleRamp;
|
|
55
|
+
/**
|
|
56
|
+
* A ramp baked into RGBA bytes, for a shader that cannot walk stops per fragment.
|
|
57
|
+
* @param steps entries in the lookup, each covering an equal slice of the value range
|
|
58
|
+
*/
|
|
59
|
+
function RampLookup(stops, low, high, steps = 256) {
|
|
60
|
+
const sorted = stops && stops.length > 0
|
|
61
|
+
? stops.slice().sort((a, b) => a.position - b.position)
|
|
62
|
+
: null;
|
|
63
|
+
const out = new Uint8Array(steps * 4);
|
|
64
|
+
for (let i = 0; i < steps; i++) {
|
|
65
|
+
const t = steps > 1 ? i / (steps - 1) : 0;
|
|
66
|
+
const color = sorted
|
|
67
|
+
? SampleRamp(sorted, t)
|
|
68
|
+
: {
|
|
69
|
+
red: low.red + (high.red - low.red) * t,
|
|
70
|
+
green: low.green + (high.green - low.green) * t,
|
|
71
|
+
blue: low.blue + (high.blue - low.blue) * t,
|
|
72
|
+
alpha: low.alpha + (high.alpha - low.alpha) * t
|
|
73
|
+
};
|
|
74
|
+
out[i * 4] = Math.round(color.red);
|
|
75
|
+
out[i * 4 + 1] = Math.round(color.green);
|
|
76
|
+
out[i * 4 + 2] = Math.round(color.blue);
|
|
77
|
+
out[i * 4 + 3] = Math.round(Math.min(1, Math.max(0, color.alpha)) * 255);
|
|
78
|
+
}
|
|
79
|
+
return out;
|
|
80
|
+
}
|
|
81
|
+
exports.RampLookup = RampLookup;
|
|
82
|
+
function ApplyGradientStops(imageData, stops) {
|
|
83
|
+
if (!stops || stops.length === 0) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const sorted = stops.slice().sort((a, b) => a.position - b.position);
|
|
87
|
+
const data = imageData.data;
|
|
88
|
+
for (let i = 0; i < data.length; i += 4) {
|
|
89
|
+
const t = data[i] / 255;
|
|
90
|
+
const color = SampleRamp(sorted, t);
|
|
91
|
+
data[i] = Math.round(color.red);
|
|
92
|
+
data[i + 1] = Math.round(color.green);
|
|
93
|
+
data[i + 2] = Math.round(color.blue);
|
|
94
|
+
const srcAlpha = data[i + 3] / 255;
|
|
95
|
+
data[i + 3] = Math.round(srcAlpha * color.alpha * 255);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.ApplyGradientStops = ApplyGradientStops;
|
|
99
|
+
/**
|
|
100
|
+
* Draws the texture's own cell grid into the tinted pixels.
|
|
101
|
+
*
|
|
102
|
+
* Drawn in texture space rather than screen space so it stays with the cells it describes and needs
|
|
103
|
+
* no per-frame work as the camera moves.
|
|
104
|
+
*/
|
|
105
|
+
function ApplyCellBorders(imageData, cellTexels, widthTexels, color) {
|
|
106
|
+
if (!(cellTexels > 0) || !(widthTexels > 0) || !color || color.alpha <= 0) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const { width, height, data } = imageData;
|
|
110
|
+
const edge = Math.max(1, Math.round(widthTexels));
|
|
111
|
+
for (let y = 0; y < height; y++) {
|
|
112
|
+
const onRow = (y % cellTexels) < edge;
|
|
113
|
+
for (let x = 0; x < width; x++) {
|
|
114
|
+
if (!onRow && (x % cellTexels) >= edge) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
const i = (y * width + x) * 4;
|
|
118
|
+
// Only where something is already drawn, so a border cannot invent coverage the data
|
|
119
|
+
// does not have.
|
|
120
|
+
if (data[i + 3] === 0) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
const a = color.alpha;
|
|
124
|
+
data[i] = Math.round(data[i] * (1 - a) + color.red * a);
|
|
125
|
+
data[i + 1] = Math.round(data[i + 1] * (1 - a) + color.green * a);
|
|
126
|
+
data[i + 2] = Math.round(data[i + 2] * (1 - a) + color.blue * a);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.ApplyCellBorders = ApplyCellBorders;
|
|
26
131
|
function loadImage(src) {
|
|
27
132
|
return new Promise((res, rej) => {
|
|
28
133
|
const image = new Image();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-utils.js","sourceRoot":"","sources":["../../../src/internal/image-utils.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,SAAoB,EAAE,QAAsB,EAAE,QAAsB;IACxG,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACrC,wFAAwF;QACxF,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;KACxD;AACL,CAAC;AAbD,0DAaC;AAED,SAAgB,SAAS,CAAC,GAAW;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAPD,8BAOC"}
|
|
1
|
+
{"version":3,"file":"image-utils.js","sourceRoot":"","sources":["../../../src/internal/image-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DisplacedSurfacePrimitive = void 0;
|
|
4
4
|
const Cesium = require("cesium");
|
|
5
|
+
const image_utils_1 = require("../internal/image-utils");
|
|
5
6
|
/**
|
|
6
7
|
* Renders a value texture as a displaced, coloured surface.
|
|
7
8
|
* The source canvas is expected as RGBA: value in R, coverage in A.
|
|
@@ -24,6 +25,9 @@ var DisplacedSurfacePrimitive;
|
|
|
24
25
|
const COVERAGE_CUTOFF = 0.35;
|
|
25
26
|
// With no exaggeration stated, the full value range is drawn as this fraction of the extent's shorter side.
|
|
26
27
|
const AUTO_RELIEF_FRACTION = 0.02;
|
|
28
|
+
// Ceiling on the derived relief. Sizing purely off the extent is fine for a parcel and absurd for
|
|
29
|
+
// a whole estuary: 4 m of water over an 82 km extent came out 1.6 km tall.
|
|
30
|
+
const AUTO_MAX_RELIEF_METRES = 250.0;
|
|
27
31
|
// Terrain is sampled on this grid and interpolated between samples.
|
|
28
32
|
// Per-texel sampling would be hundreds of thousands of lookups for a surface whose own data is far coarser than that.
|
|
29
33
|
const GROUND_SAMPLES_PER_SIDE = 64;
|
|
@@ -102,8 +106,7 @@ void main() {
|
|
|
102
106
|
`;
|
|
103
107
|
const FRAGMENT_SHADER_GLSL300 = `
|
|
104
108
|
uniform sampler2D u_valueTexture;
|
|
105
|
-
uniform
|
|
106
|
-
uniform vec4 u_highColor;
|
|
109
|
+
uniform sampler2D u_rampTexture;
|
|
107
110
|
uniform float u_coverageCutoff;
|
|
108
111
|
uniform vec2 u_texelSize;
|
|
109
112
|
uniform float u_valueRange;
|
|
@@ -118,7 +121,13 @@ void main() {
|
|
|
118
121
|
if (v_coverage < u_coverageCutoff) {
|
|
119
122
|
discard;
|
|
120
123
|
}
|
|
121
|
-
|
|
124
|
+
// The ramp is baked to a lookup rather than lerped between two colours, so a banded style with a
|
|
125
|
+
// hidden floor reads the same here as it does on the flat drape.
|
|
126
|
+
// Without it this surface painted water the style hides, and the cell grid then correctly refused to outline any of it.
|
|
127
|
+
vec4 color = texture(u_rampTexture, vec2(clamp(v_value, 0.0, 1.0), 0.5));
|
|
128
|
+
if (color.a <= 0.0) {
|
|
129
|
+
discard;
|
|
130
|
+
}
|
|
122
131
|
|
|
123
132
|
// Relief shading from the value gradient, so the displacement reads at a distance without
|
|
124
133
|
// recomputing vertex normals every time the texture changes.
|
|
@@ -317,6 +326,7 @@ void main() {
|
|
|
317
326
|
this.show = true;
|
|
318
327
|
this.valueSource = null;
|
|
319
328
|
this.lastPresentVersion = -1;
|
|
329
|
+
this.rampTexture = null;
|
|
320
330
|
this.texture = null;
|
|
321
331
|
this.textureDirty = true;
|
|
322
332
|
this.shaderProgram = null;
|
|
@@ -338,8 +348,7 @@ void main() {
|
|
|
338
348
|
this.baseHeight = (_d = options.baseHeight) !== null && _d !== void 0 ? _d : 0;
|
|
339
349
|
this.pixelPlacement = options.pixelPlacement;
|
|
340
350
|
this.tileSkirts = Boolean(options.tileSkirts);
|
|
341
|
-
this.
|
|
342
|
-
this.highColor = toCesiumColor(options.highColor || DEFAULT_HIGH_COLOR);
|
|
351
|
+
this.rampPixels = (0, image_utils_1.RampLookup)(options.rampStops || null, options.lowColor || DEFAULT_LOW_COLOR, options.highColor || DEFAULT_HIGH_COLOR);
|
|
343
352
|
this.tiles = buildTiles(hasCoverage);
|
|
344
353
|
}
|
|
345
354
|
GetFollowsGround() {
|
|
@@ -398,6 +407,7 @@ void main() {
|
|
|
398
407
|
return;
|
|
399
408
|
}
|
|
400
409
|
this.syncTexture(context);
|
|
410
|
+
this.syncRampTexture(context);
|
|
401
411
|
this.requestGround();
|
|
402
412
|
this.syncGroundTexture(context);
|
|
403
413
|
// A tile needs one mesh before it has a bounding sphere to measure against.
|
|
@@ -436,6 +446,10 @@ void main() {
|
|
|
436
446
|
this.texture.destroy();
|
|
437
447
|
this.texture = null;
|
|
438
448
|
}
|
|
449
|
+
if (this.rampTexture) {
|
|
450
|
+
this.rampTexture.destroy();
|
|
451
|
+
this.rampTexture = null;
|
|
452
|
+
}
|
|
439
453
|
if (this.groundTexture) {
|
|
440
454
|
this.groundTexture.destroy();
|
|
441
455
|
this.groundTexture = null;
|
|
@@ -529,6 +543,25 @@ void main() {
|
|
|
529
543
|
const width = Cesium.Cartesian3.distance(southWest, southEast);
|
|
530
544
|
return Math.max(1, width / Math.max(1, this.source ? this.source.width : 1));
|
|
531
545
|
}
|
|
546
|
+
syncRampTexture(context) {
|
|
547
|
+
if (this.rampTexture) {
|
|
548
|
+
return;
|
|
549
|
+
}
|
|
550
|
+
this.rampTexture = new Cesium.Texture({
|
|
551
|
+
context,
|
|
552
|
+
pixelFormat: Cesium.PixelFormat.RGBA,
|
|
553
|
+
source: { width: this.rampPixels.length / 4, height: 1,
|
|
554
|
+
arrayBufferView: this.rampPixels },
|
|
555
|
+
flipY: false,
|
|
556
|
+
sampler: new Cesium.Sampler({
|
|
557
|
+
wrapS: Cesium.TextureWrap.CLAMP_TO_EDGE,
|
|
558
|
+
wrapT: Cesium.TextureWrap.CLAMP_TO_EDGE,
|
|
559
|
+
// Linear across the ramp, so a gradient between stops stays smooth.
|
|
560
|
+
minificationFilter: Cesium.TextureMinificationFilter.LINEAR,
|
|
561
|
+
magnificationFilter: Cesium.TextureMagnificationFilter.LINEAR
|
|
562
|
+
})
|
|
563
|
+
});
|
|
564
|
+
}
|
|
532
565
|
syncTexture(context) {
|
|
533
566
|
const sizeChanged = this.texture
|
|
534
567
|
&& (this.texture.width !== this.source.width || this.texture.height !== this.source.height);
|
|
@@ -659,8 +692,7 @@ void main() {
|
|
|
659
692
|
? Math.max(2, Math.abs(self.valueMax - self.valueMin) * self.exaggeration * SKIRT_FRACTION)
|
|
660
693
|
: 0,
|
|
661
694
|
u_coverageCutoff: () => COVERAGE_CUTOFF,
|
|
662
|
-
|
|
663
|
-
u_highColor: () => self.highColor,
|
|
695
|
+
u_rampTexture: () => self.rampTexture,
|
|
664
696
|
u_texelSize: () => new Cesium.Cartesian2(1 / self.source.width, 1 / self.source.height)
|
|
665
697
|
}
|
|
666
698
|
});
|
|
@@ -721,7 +753,8 @@ void main() {
|
|
|
721
753
|
if (!(shorterSide > 0)) {
|
|
722
754
|
return 1;
|
|
723
755
|
}
|
|
724
|
-
|
|
756
|
+
const relief = Math.min(shorterSide * AUTO_RELIEF_FRACTION, AUTO_MAX_RELIEF_METRES);
|
|
757
|
+
return relief / range;
|
|
725
758
|
}
|
|
726
759
|
DisplacedSurfacePrimitive.autoExaggeration = autoExaggeration;
|
|
727
760
|
function toCesiumColor(color) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displaced-surface-primitive.js","sourceRoot":"","sources":["../../../src/rendering/displaced-surface-primitive.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAGjC;;;GAGG;AACH,IAAiB,yBAAyB,CAo2BzC;AAp2BD,WAAiB,yBAAyB;IACtC,qDAAqD;IACrD,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,yCAAyC;IACzC,MAAM,cAAc,GAAG,CAAC,CAAC;IACzB,6EAA6E;IAC7E,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,kGAAkG;IAClG,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAChC,MAAM,oBAAoB,GAAG,GAAG,CAAC;IACjC,8FAA8F;IAC9F,sEAAsE;IACtE,MAAM,cAAc,GAAG,KAAK,CAAC;IAC7B,uEAAuE;IACvE,MAAM,eAAe,GAAG,IAAI,CAAC;IAC7B,4GAA4G;IAC5G,MAAM,oBAAoB,GAAG,IAAI,CAAC;IAClC,oEAAoE;IACpE,sHAAsH;IACtH,MAAM,uBAAuB,GAAG,EAAE,CAAC;IACnC,iDAAiD;IACjD,+FAA+F;IAC/F,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAC/B,wFAAwF;IACxF,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC;IAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC;IAC/B,MAAM,iBAAiB,GAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzF,MAAM,kBAAkB,GAAiB,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IA4CxF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEjC,CAAC;IAEE,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCnC,CAAC;IAEE;;OAEG;IACH,SAAS,SAAS,CAAC,MAAc,EAAE,UAAmB;QAClD,IAAI,MAAM,GAAG,MAAM;aACd,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC;aACxC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;aAC3D,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEtC,IAAI,UAAU,EAAE;YACZ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;SACjE;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,eAAe,GAAmB,IAAI,CAAC;IAE3C;;OAEG;IACH,SAAS,WAAW,CAAC,OAAY;QAC7B,IAAI,eAAe,KAAK,IAAI,EAAE;YAC1B,OAAO,eAAe,CAAC;SAC1B;QACD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI;YACA,MAAM,KAAK,GAAG,IAAK,MAAc,CAAC,YAAY,CAAC;gBAC3C,OAAO,EAAE,CAAC,kEAAkE,CAAC;gBAC7E,eAAe,EAAE,KAAK;aACzB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAW,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACnE,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAChD;QACD,OAAO,CAAC,EAAE;YACN,qFAAqF;YACrF,UAAU,GAAG,KAAK,CAAC;SACtB;QACD,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACzD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAwBD;;;OAGG;IACH,SAAS,UAAU,CAAC,MAAe,EAAE,cAAuB;QACxD,IAAI,cAAc,KAAK,QAAQ,EAAE;YAC7B,OAAO,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAC5D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAChD,CAAC,CACJ,CAAC;SACL;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpH,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAChJ,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEhJ,OAAO,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAC9C,CAAC,CACJ,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACpF,OAAO,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,SAAS,aAAa,CAAC,MAAe,EAAE,UAAkB,EAAE,KAAa,EAAE,cAAuB,EAC9F,YAAqB,KAAK;QAC1B,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,MAAM,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,SAAS,GAAG,cAAc,CAAC;QAEzC,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAEjD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,EAAE;YAClC,mEAAmE;YACnE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;YAC5D,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,EAAE;gBAClC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/B,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAC9B,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAClC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,GAAG,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC9E,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC1B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC1B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChB,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC,EAAE,CAAC;aACP;SACJ;QAED,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE;YACjC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;gBACvC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC7B,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC;gBACnC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;gBACvB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;gBAC1B,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;gBACxB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;gBACxB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;gBAC1B,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;aAC9B;SACJ;QAED,qFAAqF;QACrF,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACtC;QACD,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;SACtC;QACD,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;SAC/B;QAED,MAAM,UAAU,GAAG,SAAS,CAAC;QAC7B,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;gBAC9B,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACjD,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC7C,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrD,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACrC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;gBAC9B,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;gBAC9B,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,KAAK,CAAC;aACrC;SACJ;QAED,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC;YACjC,UAAU,EAAO;gBACb,QAAQ,EAAE,IAAI,MAAM,CAAC,iBAAiB,CAAC;oBACnC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM;oBAClD,sBAAsB,EAAE,CAAC;oBACzB,MAAM,EAAO,SAAS;iBACzB,CAAC;gBACF,MAAM,EAAE,IAAI,MAAM,CAAC,iBAAiB,CAAC;oBACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK;oBACjD,sBAAsB,EAAE,CAAC;oBACzB,MAAM,EAAO,OAAO;iBACvB,CAAC;gBACF,EAAE,EAAE,IAAI,MAAM,CAAC,iBAAiB,CAAC;oBAC7B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK;oBACjD,sBAAsB,EAAE,CAAC;oBACzB,MAAM,EAAO,GAAG;iBACnB,CAAC;gBACF,KAAK,EAAE,IAAI,MAAM,CAAC,iBAAiB,CAAC;oBAChC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK;oBACjD,sBAAsB,EAAE,CAAC;oBACzB,MAAM,EAAO,MAAM;iBACtB,CAAC;aACL;YACD,OAAO,EAAO,OAAO;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS;YAC7C,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAM,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjG,CAAC,CAAC;QAEH,kFAAkF;QAClF,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;QACjG,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAa,OAAO;QAiChB,YAAY,OAAiB,EAAE,WAAwC;;YAhChE,SAAI,GAAG,IAAI,CAAC;YAIX,gBAAW,GAAwB,IAAI,CAAC;YACxC,uBAAkB,GAAG,CAAC,CAAC,CAAC;YAYxB,YAAO,GAAQ,IAAI,CAAC;YACpB,iBAAY,GAAG,IAAI,CAAC;YACpB,kBAAa,GAAQ,IAAI,CAAC;YAC1B,gBAAW,GAAQ,IAAI,CAAC;YACxB,cAAS,GAAG,KAAK,CAAC;YAClB,oBAAe,GAA6B,IAAI,CAAC;YACjD,oBAAe,GAAG,CAAC,QAAQ,CAAC;YAC5B,mBAAc,GAAG,IAAI,CAAC;YAItB,kBAAa,GAAQ,IAAI,CAAC;YAC1B,iBAAY,GAAsB,IAAI,CAAC;YACvC,oBAAe,GAAG,KAAK,CAAC;YAG5B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;YACvD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxG,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;YACxE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QAEM,gBAAgB;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAEM,iBAAiB;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;QAEM,aAAa;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAEM,eAAe;YAClB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAEM,SAAS;YACZ,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QAEM,eAAe,CAAC,YAAoB;YACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;QAEM,aAAa,CAAC,UAAkB;YACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,CAAC;QAED;;;WAGG;QACI,YAAY,CAAC,MAAoB;YACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC9B,CAAC;QAED;;WAEG;QACI,eAAe;YAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;QAEM,MAAM,CAAC,UAAe;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzD,OAAO;aACV;YACD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YAEnC,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBACjD,IAAI,CAAC,MAAM,EAAE;oBACT,iEAAiE;oBACjE,OAAO;iBACV;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBACrD,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,IAAI,CAAC,kBAAkB,EAAE;oBAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACrB,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;oBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBAC5B;aACJ;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC3D,OAAO;aACV;YAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEhC,4EAA4E;YAC5E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5C;aACJ;YAED,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;gBACxC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACnG,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC/B;YAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aACrE;QACL,CAAC;QAEM,WAAW;YACd,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;QAEM,OAAO;YACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;YACD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC7B;YACD,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;YACD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC7B;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED;;;;;WAKG;QACK,aAAa;YACjB,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBAC5C,OAAO;aACV;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAE5B,MAAM,OAAO,GAAI,MAAc,CAAC,aAAa,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;gBACxD,OAAO;aACV;YAED,MAAM,SAAS,GAAU,EAAE,CAAC;YAC5B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,uBAAuB,EAAE,GAAG,EAAE,EAAE;gBACpD,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5E,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,uBAAuB,EAAE,GAAG,EAAE,EAAE;oBACpD,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC3E,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;iBACxE;aACJ;YAED,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;iBACzE,IAAI,CAAC,CAAC,OAAc,EAAE,EAAE;gBACrB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE;oBAC5B,OAAO;iBACV;gBACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,uBAAuB,GAAG,uBAAuB,GAAG,CAAC,CAAC,CAAC;gBACrF,MAAM,IAAI,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;gBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,iBAAiB,CAAC,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;oBAC7E,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;oBACrC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;oBACxC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC;oBACjC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;iBAC3B;gBACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC/B,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACR,+EAA+E;gBAC/E,mDAAmD;YACvD,CAAC,CAAC,CAAC;QACX,CAAC;QAED;;;WAGG;QACK,iBAAiB,CAAC,OAAY;YAClC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,uBAAuB,CAAC,EAAE;gBACpG,OAAO;aACV;YACD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAChC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;YACxG,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY;mBAClC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,aAAa,GAAG,IAAK,MAAc,CAAC,OAAO,CAAC;gBAC7C,OAAO;gBACP,WAAW,EAAG,MAAc,CAAC,WAAW,CAAC,IAAI;gBAC7C,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;gBACtD,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,IAAK,MAAc,CAAC,OAAO,CAAC;oBACjC,KAAK,EAAG,MAAc,CAAC,WAAW,CAAC,aAAa;oBAChD,KAAK,EAAG,MAAc,CAAC,WAAW,CAAC,aAAa;oBAChD,mEAAmE;oBACnE,kBAAkB,EAAG,MAAc,CAAC,yBAAyB,CAAC,OAAO;oBACrE,mBAAmB,EAAG,MAAc,CAAC,0BAA0B,CAAC,OAAO;iBAC1E,CAAC;aACL,CAAC,CAAC;QACP,CAAC;QAED;;;WAGG;QACK,cAAc;YAClB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QAEO,WAAW,CAAC,OAAY;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO;mBACzB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;gBAC9B,IAAI,IAAI,CAAC,OAAO,EAAE;oBACd,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;iBAC1B;gBACD,IAAI,CAAC,OAAO,GAAG,IAAK,MAAc,CAAC,OAAO,CAAC;oBACvC,OAAO;oBACP,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,+EAA+E;oBAC/E,yEAAyE;oBACzE,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,IAAK,MAAc,CAAC,OAAO,CAAC;wBACjC,KAAK,EAAG,MAAc,CAAC,WAAW,CAAC,aAAa;wBAChD,KAAK,EAAG,MAAc,CAAC,WAAW,CAAC,aAAa;wBAChD,kBAAkB,EAAG,MAAc,CAAC,yBAAyB,CAAC,MAAM;wBACpE,mBAAmB,EAAG,MAAc,CAAC,0BAA0B,CAAC,MAAM;qBACzE,CAAC;iBACL,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,OAAO;aACV;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC7B;QACL,CAAC;QAEO,UAAU,CAAC,OAAY,EAAE,IAAW,EAAE,IAAY;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,MAAM,EAAE;gBACR,OAAO,MAAM,CAAC;aACjB;YACD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACpG,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACtF,MAAM,IAAI,GAAc;gBACpB,kBAAkB;gBAClB,WAAW,EAAG,MAAc,CAAC,WAAW,CAAC,YAAY,CAAC;oBAClD,OAAO;oBACP,QAAQ;oBACR,kBAAkB;oBAClB,WAAW,EAAG,MAAc,CAAC,WAAW,CAAC,WAAW;iBACvD,CAAC;gBACF,cAAc,EAAE,QAAQ,CAAC,cAAc;aAC1C,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED;;WAEG;QACK,WAAW,CAAC,UAAe;YAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YACrG,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAEtE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrB,SAAS;iBACZ;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvG,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,eAAe,CAAC;gBACpE,MAAM,MAAM,GAAG,YAAY,GAAG,kBAAkB,CAAC;gBACjD,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;oBAC3B,IAAI,SAAS,IAAI,MAAM,EAAE;wBACrB,IAAI,GAAG,SAAS,CAAC;qBACpB;iBACJ;gBACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aACpB;QACL,CAAC;QAEO,cAAc,CAAC,UAAe,EAAE,KAAa;YACjD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,OAAO,IAAI,CAAC;aACf;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,oBAAoB,EAAE;gBACrD,OAAO,KAAK,CAAC;aAChB;YACD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,OAAO,IAAI,CAAC;aACf;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,OAAO,KAAK,GAAG,SAAS,GAAG,kBAAkB,CAAC;QAClD,CAAC;QAEO,UAAU,CAAC,OAAY,EAAE,IAAW,EAAE,IAAe;YACzD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAI,MAAc,CAAC,aAAa,CAAC,SAAS,CAAC;oBACzD,OAAO;oBACP,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC;oBAC7F,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,uBAAuB,EAAE,IAAI,CAAC;oBAClG,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;iBAC9C,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,GAAI,MAAc,CAAC,WAAW,CAAC,SAAS,CAAC;oBACrD,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;oBAC5B,2EAA2E;oBAC3E,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAG,MAAc,CAAC,aAAa,CAAC,WAAW;oBACnD,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;iBAC3B,CAAC,CAAC;aACN;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,MAAM,IAAI,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,OAAO,GAAG,IAAK,MAAc,CAAC,WAAW,CAAC;oBAC3C,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAG,MAAc,CAAC,IAAI,CAAC,WAAW;oBACtC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACpC,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE;wBACR,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO;wBAClC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa;wBACzC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtE,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;wBAChF,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,CACrC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAC/C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAClD;wBACD,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;wBAC7C,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;wBAC/B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;wBACjD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY;wBACvC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU;wBACnC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU;4BAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;4BAC3F,CAAC,CAAC,CAAC;wBACP,gBAAgB,EAAE,GAAG,EAAE,CAAC,eAAe;wBACvC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;wBAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;wBACjC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;qBAC1F;iBACJ,CAAC,CAAC;aACN;YACD,gFAAgF;YAChF,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAClD,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;KACJ;IAxZY,iCAAO,UAwZnB,CAAA;IAED;;OAEG;IACH,SAAS,UAAU,CAAC,WAAwC;QACxD,MAAM,KAAK,GAAY,EAAE,CAAC;QAC1B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,cAAc,EAAE,GAAG,EAAE,EAAE;YAC3C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,cAAc,EAAE,GAAG,EAAE,EAAE;gBAC3C,MAAM,KAAK,GAAW;oBAClB,EAAE,EAAE,GAAG,GAAG,cAAc;oBACxB,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,cAAc;oBAC9B,EAAE,EAAE,GAAG,GAAG,cAAc;oBACxB,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,cAAc;iBACjC,CAAC;gBACF,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;oBACpC,SAAS;iBACZ;gBACD,KAAK,CAAC,IAAI,CAAC;oBACP,KAAK;oBACL,MAAM,EAAE,IAAI,GAAG,EAAqB;oBACpC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,CAAC;iBACZ,CAAC,CAAC;aACN;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,SAAgB,gBAAgB,CAAC,MAAe,EAAE,QAAgB,EAAE,QAAgB;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,OAAO,CAAC,CAAC;SACZ;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CACxB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EAChD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CACnD,CAAC;QACF,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;YACpB,OAAO,CAAC,CAAC;SACZ;QACD,OAAO,CAAC,WAAW,GAAG,oBAAoB,CAAC,GAAG,KAAK,CAAC;IACxD,CAAC;IAhBe,0CAAgB,mBAgB/B,CAAA;IAED,SAAS,aAAa,CAAC,KAAmB;QACtC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/F,CAAC;IAED,SAAS,GAAG;QACR,OAAO,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/E,CAAC;AACL,CAAC,EAp2BgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAo2BzC"}
|
|
1
|
+
{"version":3,"file":"displaced-surface-primitive.js","sourceRoot":"","sources":["../../../src/rendering/displaced-surface-primitive.ts"],"names":[],"mappings":"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"}
|