bruce-cesium 7.1.4 → 7.1.5

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.
@@ -15,15 +15,68 @@ var TextureFrameSeriesAnimator;
15
15
  return Boolean(data && data.generation && Array.isArray(data.generation.Frames) && data.generation.Frames.length > 0);
16
16
  }
17
17
  TextureFrameSeriesAnimator.IsFrameArchiveMetadata = IsFrameArchiveMetadata;
18
+ // How far covered values bleed outward into uncovered texels before the GPU samples them.
19
+ const VALUE_DILATE_PASSES = 2;
20
+ /*
21
+ * Bleeds covered values outward into uncovered texels, leaving alpha untouched.
22
+ *
23
+ * The GPU samples the value texture with linear filtering, so an uncovered texel's RGB still gets
24
+ * averaged into the vertices next to it even though its alpha is zero. Land sits at one end of the
25
+ * ramp, so without this the coastline grows a row of spikes exactly where the data stops. Masking the
26
+ * baseline creates more of these edges, which is what makes this necessary rather than cosmetic.
27
+ */
28
+ function dilateValues(value, width, height, passes) {
29
+ const texels = width * height;
30
+ const filled = new Uint8Array(texels);
31
+ for (let p = 0; p < texels; p++) {
32
+ filled[p] = value[p * 4 + 3] !== 0 ? 1 : 0;
33
+ }
34
+ for (let pass = 0; pass < passes; pass++) {
35
+ const source = value.slice();
36
+ const wasFilled = filled.slice();
37
+ for (let y = 0; y < height; y++) {
38
+ for (let x = 0; x < width; x++) {
39
+ const p = y * width + x;
40
+ if (wasFilled[p]) {
41
+ continue;
42
+ }
43
+ let sum = 0;
44
+ let hits = 0;
45
+ for (let dy = -1; dy <= 1; dy++) {
46
+ for (let dx = -1; dx <= 1; dx++) {
47
+ const nx = x + dx;
48
+ const ny = y + dy;
49
+ if (nx < 0 || ny < 0 || nx >= width || ny >= height || !wasFilled[ny * width + nx]) {
50
+ continue;
51
+ }
52
+ sum += source[(ny * width + nx) * 4];
53
+ hits++;
54
+ }
55
+ }
56
+ if (hits > 0) {
57
+ const v = Math.round(sum / hits);
58
+ value[p * 4] = v;
59
+ value[p * 4 + 1] = v;
60
+ value[p * 4 + 2] = v;
61
+ filled[p] = 1;
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
18
67
  const DEFAULT_CROSSFADE_MS = 900;
19
68
  const DEFAULT_LOW_COLOR = { red: 255, green: 255, blue: 255, alpha: 0.12 };
20
69
  const DEFAULT_HIGH_COLOR = { red: 21, green: 96, blue: 196, alpha: 0.92 };
21
70
  class Animator {
22
71
  constructor(options) {
23
- var _a;
72
+ var _a, _b;
24
73
  this.removeOnTick = null;
25
74
  this.removeCrossfadeTick = null;
26
75
  this.disposed = false;
76
+ // One alpha byte per texel, 1 meaning the texel is baseline. Fetched once, the mesh does not move.
77
+ this.baselineFlags = null;
78
+ this.baselineDims = null;
79
+ this.baselineLoad = null;
27
80
  this.currentFrameIndex = -1;
28
81
  // Single-in-flight fetch queue: only one Range GET outstanding at a time, and the NEXT one
29
82
  // is chosen right before sending, this is what makes reprioritizing mid-scrub take effect
@@ -63,6 +116,8 @@ var TextureFrameSeriesAnimator;
63
116
  this.frameDims = new Array(this.frames.length).fill(null);
64
117
  this.valueCache = new Array(this.frames.length).fill(null);
65
118
  this.produceValueCanvas = Boolean(options.produceValueCanvas);
119
+ this.baselineMaskEntry = options.baselineMask || null;
120
+ this.maskBaseline = (_b = options.maskBaseline) !== null && _b !== void 0 ? _b : Boolean(options.baselineMask);
66
121
  this.valueCanvas = this.produceValueCanvas ? document.createElement("canvas") : null;
67
122
  this.driveMaterial = options.driveMaterial !== false;
68
123
  this.originalMaterial = options.entity.polygon.material;
@@ -232,6 +287,12 @@ var TextureFrameSeriesAnimator;
232
287
  if (this.disposed) {
233
288
  return;
234
289
  }
290
+ // Awaited before decoding rather than applied later, so no frame is ever cached unmasked and
291
+ // then corrected once the mask lands.
292
+ await this.ensureBaselineMask();
293
+ if (this.disposed) {
294
+ return;
295
+ }
235
296
  const decoded = await this.decodeAndTint(buffer);
236
297
  if (this.disposed) {
237
298
  return;
@@ -266,8 +327,81 @@ var TextureFrameSeriesAnimator;
266
327
  // recovered from the tinted pixels afterwards.
267
328
  const valuePixels = this.produceValueCanvas ? new Uint8ClampedArray(imageData.data) : undefined;
268
329
  (0, image_utils_1.ApplyGrayscaleColorMask)(imageData, this.lowColor, this.highColor);
330
+ this.applyBaselineMask(imageData.data, valuePixels, canvas.width, canvas.height);
331
+ if (valuePixels) {
332
+ dilateValues(valuePixels, canvas.width, canvas.height, VALUE_DILATE_PASSES);
333
+ }
269
334
  return { pixels: imageData.data, width: canvas.width, height: canvas.height, valuePixels };
270
335
  }
336
+ /**
337
+ * Fetches and decodes the archive's static baseline mask, at most once.
338
+ */
339
+ ensureBaselineMask() {
340
+ if (!this.maskBaseline || !this.baselineMaskEntry) {
341
+ return Promise.resolve();
342
+ }
343
+ if (this.baselineLoad) {
344
+ return this.baselineLoad;
345
+ }
346
+ const entry = this.baselineMaskEntry;
347
+ const start = entry.ByteOffset;
348
+ const end = entry.ByteOffset + entry.ByteLength - 1;
349
+ this.baselineLoad = fetch(this.archiveUrl, { headers: { Range: `bytes=${start}-${end}` } })
350
+ .then((response) => response.arrayBuffer())
351
+ .then(async (buffer) => {
352
+ if (this.disposed) {
353
+ return;
354
+ }
355
+ const blob = new Blob([buffer], { type: "image/png" });
356
+ const objectUrl = URL.createObjectURL(blob);
357
+ let image;
358
+ try {
359
+ image = await (0, image_utils_1.loadImage)(objectUrl);
360
+ }
361
+ finally {
362
+ URL.revokeObjectURL(objectUrl);
363
+ }
364
+ const canvas = document.createElement("canvas");
365
+ canvas.width = image.width;
366
+ canvas.height = image.height;
367
+ const ctx = canvas.getContext("2d");
368
+ ctx.drawImage(image, 0, 0);
369
+ const pixels = ctx.getImageData(0, 0, canvas.width, canvas.height).data;
370
+ const flags = new Uint8Array(canvas.width * canvas.height);
371
+ for (let p = 0; p < flags.length; p++) {
372
+ flags[p] = pixels[p * 4 + 3] >= 128 ? 1 : 0;
373
+ }
374
+ this.baselineFlags = flags;
375
+ this.baselineDims = { width: canvas.width, height: canvas.height };
376
+ })
377
+ .catch((e) => {
378
+ // A missing or unreadable mask must not stop the animation; it just means nothing is hidden.
379
+ console.warn("TextureFrameSeriesAnimator: could not load the baseline mask, drawing it instead.", e);
380
+ });
381
+ return this.baselineLoad;
382
+ }
383
+ /**
384
+ * Clears alpha on baseline texels, which is what makes hiding the dry/land sentinel a render choice.
385
+ */
386
+ applyBaselineMask(pixels, valuePixels, width, height) {
387
+ const flags = this.baselineFlags;
388
+ if (!flags || !this.baselineDims) {
389
+ return;
390
+ }
391
+ // A mask from a different raster size cannot be indexed against this frame, and guessing a
392
+ // resampling would silently hide the wrong ground.
393
+ if (this.baselineDims.width !== width || this.baselineDims.height !== height) {
394
+ return;
395
+ }
396
+ for (let p = 0; p < flags.length; p++) {
397
+ if (flags[p]) {
398
+ pixels[p * 4 + 3] = 0;
399
+ if (valuePixels) {
400
+ valuePixels[p * 4 + 3] = 0;
401
+ }
402
+ }
403
+ }
404
+ }
271
405
  beginCrossfadeTo(idx) {
272
406
  const to = this.frameCache[idx];
273
407
  this.fadeFromValuePixels = this.displayedValuePixels === null && this.valueCache[idx]
@@ -1 +1 @@
1
- {"version":3,"file":"texture-frame-series-animator.js","sourceRoot":"","sources":["../../../src/rendering/texture-frame-series-animator.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,iCAAiC;AACjC,yDAA6E;AAE7E,IAAiB,0BAA0B,CA0b1C;AA1bD,WAAiB,0BAA0B;IAyBvC;;;;OAIG;IACH,SAAgB,sBAAsB,CAAC,IAAS;QAC5C,OAAO,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1H,CAAC;IAFe,iDAAsB,yBAErC,CAAA;IAsBD,MAAM,oBAAoB,GAAG,GAAG,CAAC;IACjC,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;IAExF,MAAa,QAAQ;QAoDjB,YAAY,OAAiB;;YAzCrB,iBAAY,GAAgC,IAAI,CAAC;YACjD,wBAAmB,GAAgC,IAAI,CAAC;YACxD,aAAQ,GAAG,KAAK,CAAC;YAQjB,sBAAiB,GAAG,CAAC,CAAC,CAAC;YAE/B,2FAA2F;YAC3F,0FAA0F;YAC1F,qEAAqE;YAC7D,kBAAa,GAAG,CAAC,CAAC,CAAC;YACnB,iBAAY,GAAG,CAAC,CAAC,CAAC;YAElB,oBAAe,GAA6B,IAAI,CAAC;YACjD,mBAAc,GAA6B,IAAI,CAAC;YAChD,yBAAoB,GAA6B,IAAI,CAAC;YACtD,wBAAmB,GAA6B,IAAI,CAAC;YACrD,gBAAW,GAAG,CAAC,CAAC,CAAC;YACjB,eAAU,GAA6C,IAAI,CAAC;YAC5D,gBAAW,GAAkB,IAAI,CAAC;YAE1C,uFAAuF;YACvF,yFAAyF;YACzF,uEAAuE;YACtD,SAAI,GAAwB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1G,YAAO,GAAG,CAAC,CAAC;YAQZ,cAAS,GAA6C,IAAI,CAAC;YAC3D,mBAAc,GAAG,CAAC,CAAC;YAGvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;aAC3F;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;aAC9E;YAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,CAAC,WAAW,mCAAI,oBAAoB,CAAC;YAE/D,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,oBAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,iBAAiB,CAAC;YACjF,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,oBAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,kBAAkB,CAAC;YAEnF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAErF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC;YACrD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAkD,CAAC;YAClG,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACvF,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;aACxH;YAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9G,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAED;;;WAGG;QACI,OAAO;YACV,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC5B;YACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACnC;YACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAuB,CAAC;aAC/D;QACL,CAAC;QAEM,UAAU;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED;;;WAGG;QACI,aAAa;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED;;;WAGG;QACI,gBAAgB;YACnB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;QAED;;;WAGG;QACI,cAAc;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;QAED;;;WAGG;QACI,iBAAiB;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;QAEO,WAAW,CAAC,WAA8B;YAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,6DAA6D;QACrD,cAAc,CAAC,WAA8B;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3D,OAAO,CAAC,CAAC;aACZ;YACD,IAAI,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC/D,OAAO,EAAE,CAAC;aACb;YACD,OAAO,EAAE,GAAG,EAAE,EAAE;gBACZ,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,EAAE;oBAC7D,EAAE,GAAG,GAAG,CAAC;iBACZ;qBACI;oBACD,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;iBAChB;aACJ;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,iFAAiF;QACjF,wDAAwD;QAChD,WAAW,CAAC,GAAW;YAC3B,IAAI,GAAG,KAAK,IAAI,CAAC,iBAAiB,EAAE;gBAChC,OAAO;aACV;YACD,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;YAE7B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO;aACV;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAEO,WAAW,CAAC,GAAW;YAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO;aACV;YACD,IAAI,IAAI,CAAC,aAAa,KAAK,GAAG,EAAE;gBAC5B,OAAO;aACV;YACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;QAED,oEAAoE;QAC5D,oBAAoB;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACjC,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC3C,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBAC1C,OAAO,OAAO,CAAC;iBAClB;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC5C,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC7C,OAAO,QAAQ,CAAC;iBACnB;aACJ;YACD,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QAEO,cAAc;YAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,EAAE;gBAC5C,OAAO;aACV;YACD,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE;gBAC1B,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;aAC1B;iBACI;gBACD,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;aACtC;YACD,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;gBACb,OAAO;aACV;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;iBAClB,KAAK,CAAC,GAAG,EAAE;gBACR,aAAa;YACjB,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAChB,IAAI,CAAC,cAAc,EAAE,CAAC;iBACzB;YACL,CAAC,CAAC,CAAC;QACX,CAAC;QAEO,KAAK,CAAC,YAAY,CAAC,GAAW;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;YAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;YAEnD,IAAI,GAAG,KAAK,IAAI,CAAC,iBAAiB,EAAE;gBAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC9B;QACL,CAAC;QAED;;WAEG;QACO,KAAK,CAAC,aAAa,CAAC,MAAmB;YAC7C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,KAAuB,CAAC;YAC5B,IAAI;gBACA,KAAK,GAAG,MAAM,IAAA,uBAAS,EAAC,SAAS,CAAC,CAAC;aACtC;oBACO;gBACJ,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;aAClC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC3B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACtE,wFAAwF;YACxF,+CAA+C;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,IAAA,qCAAuB,EAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAElE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAC/F,CAAC;QAEO,gBAAgB,CAAC,GAAW;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACjF,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9G,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;QAC7B,CAAC;QAEO,aAAa;YACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAC5C,OAAO;aACV;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;YACjC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACpD;YAED,IAAI,YAAY,GAA6B,IAAI,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE;gBACT,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC3C,YAAY,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;oBAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;qBACxE;iBACJ;qBACI;oBACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC7B;aACJ;YAED,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAE3D,IAAI,CAAC,IAAI,CAAC,EAAE;gBACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACnC;QACL,CAAC;QAEO,aAAa,CAAC,MAAyB,EAAE,IAAuC,EAAE,WAAsC;YAC5H,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAE9B,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,EAAE;gBACjC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACpC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACnC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;KACJ;IAvXY,mCAAQ,WAuXpB,CAAA;IAED,SAAS,aAAa,CAAC,CAAS;QAC5B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,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,EA1bgB,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QA0b1C"}
1
+ {"version":3,"file":"texture-frame-series-animator.js","sourceRoot":"","sources":["../../../src/rendering/texture-frame-series-animator.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,7 @@ export * from "./widgets/widget-info-view";
64
64
  export * from "./widgets/widget-left-panel";
65
65
  export * from "./widgets/widget-nav-compass";
66
66
  export * from "./widgets/widget-view-bar";
67
- export declare const VERSION = "7.1.4";
67
+ export declare const VERSION = "7.1.5";
68
68
  /**
69
69
  * Updates the environment instance used by bruce-cesium to one specified.
70
70
  * This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
@@ -19,6 +19,8 @@ export declare namespace DisplacedSurfacePrimitive {
19
19
  }
20
20
  export interface IOptions {
21
21
  extent: IExtent;
22
+ tileSkirts?: boolean;
23
+ pixelPlacement?: string;
22
24
  source?: HTMLCanvasElement;
23
25
  valueMin?: number;
24
26
  valueMax?: number;
@@ -48,6 +50,8 @@ export declare namespace DisplacedSurfacePrimitive {
48
50
  private readonly tiles;
49
51
  private exaggeration;
50
52
  private baseHeight;
53
+ private readonly pixelPlacement;
54
+ private readonly tileSkirts;
51
55
  private texture;
52
56
  private textureDirty;
53
57
  private shaderProgram;
@@ -63,6 +67,7 @@ export declare namespace DisplacedSurfacePrimitive {
63
67
  private groundRequested;
64
68
  constructor(options: IOptions, hasCoverage?: (patch: IPatch) => boolean);
65
69
  GetFollowsGround(): boolean;
70
+ GetPixelPlacement(): string | undefined;
66
71
  GetBaseHeight(): number;
67
72
  GetExaggeration(): number;
68
73
  GetExtent(): IExtent;
@@ -20,6 +20,16 @@ export declare namespace TextureFrameSeriesAnimator {
20
20
  East?: number;
21
21
  South?: number;
22
22
  North?: number;
23
+ ResolutionX?: number;
24
+ ResolutionY?: number;
25
+ PixelPlacement?: string;
26
+ BaselineFaces?: number;
27
+ BaselineMask?: {
28
+ ByteOffset: number;
29
+ ByteLength: number;
30
+ };
31
+ BaselineValueMin?: number;
32
+ BaselineValueMax?: number;
23
33
  }
24
34
  /**
25
35
  * Detects whether a ClientFile's `Data.generation` metadata describes a frame archive rather than a single static image,
@@ -38,6 +48,11 @@ export declare namespace TextureFrameSeriesAnimator {
38
48
  crossfadeMs?: number;
39
49
  driveMaterial?: boolean;
40
50
  produceValueCanvas?: boolean;
51
+ baselineMask?: {
52
+ ByteOffset: number;
53
+ ByteLength: number;
54
+ };
55
+ maskBaseline?: boolean;
41
56
  }
42
57
  class Animator {
43
58
  private readonly viewer;
@@ -52,6 +67,11 @@ export declare namespace TextureFrameSeriesAnimator {
52
67
  private removeOnTick;
53
68
  private removeCrossfadeTick;
54
69
  private disposed;
70
+ private readonly baselineMaskEntry;
71
+ private readonly maskBaseline;
72
+ private baselineFlags;
73
+ private baselineDims;
74
+ private baselineLoad;
55
75
  private frameCache;
56
76
  private frameDims;
57
77
  private valueCache;
@@ -116,6 +136,14 @@ export declare namespace TextureFrameSeriesAnimator {
116
136
  height: number;
117
137
  valuePixels?: Uint8ClampedArray;
118
138
  }>;
139
+ /**
140
+ * Fetches and decodes the archive's static baseline mask, at most once.
141
+ */
142
+ private ensureBaselineMask;
143
+ /**
144
+ * Clears alpha on baseline texels, which is what makes hiding the dry/land sentinel a render choice.
145
+ */
146
+ private applyBaselineMask;
119
147
  private beginCrossfadeTo;
120
148
  private tickCrossfade;
121
149
  private presentPixels;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-cesium",
3
- "version": "7.1.4",
3
+ "version": "7.1.5",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-cesium.umd.js",
@@ -80,7 +80,7 @@
80
80
  "typescript": "^5.0.4"
81
81
  },
82
82
  "dependencies": {
83
- "bruce-models": "^7.1.71",
83
+ "bruce-models": "^7.1.72",
84
84
  "tslib": "^2.4.1"
85
85
  }
86
86
  }