@tangram.gl/tangram-layers 0.0.0-stage → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -2
- package/dist/experimental/projected-basemaps.js +1310 -0
- package/dist/experimental/projected-basemaps.js.map +6 -0
- package/dist/experimental/terrain.js +379 -0
- package/dist/experimental/terrain.js.map +6 -0
- package/dist/experimental/webxr.js +1423 -0
- package/dist/experimental/webxr.js.map +6 -0
- package/dist/index.js +756 -0
- package/dist/index.js.map +6 -0
- package/dist/types/experimental/projected-basemaps.d.ts +120 -0
- package/dist/types/experimental/projected-detail.d.ts +33 -0
- package/dist/types/experimental/projected-navigation.d.ts +117 -0
- package/dist/types/experimental/terrain-display.d.ts +124 -0
- package/dist/types/experimental/terrain.d.ts +131 -0
- package/dist/types/first_person_view_adapter.d.ts +29 -0
- package/dist/types/globe_view_adapter.d.ts +33 -0
- package/dist/types/index.d.ts +84 -0
- package/dist/types/tangram-layer-lifecycle.d.ts +132 -0
- package/dist/types/tangram-layer.d.ts +157 -0
- package/dist/types/view_adapter_types.d.ts +42 -0
- package/dist/types/web_mercator_view_adapter.d.ts +77 -0
- package/package.json +80 -3
- package/src/experimental/projected-basemaps.ts +301 -0
- package/src/experimental/projected-detail.ts +116 -0
- package/src/experimental/projected-navigation.ts +323 -0
- package/src/experimental/terrain-display.ts +243 -0
- package/src/experimental/terrain.ts +240 -0
- package/src/experimental/webxr/grabbing.ts +166 -0
- package/src/experimental/webxr/index.d.ts +77 -0
- package/src/experimental/webxr/index.ts +72 -0
- package/src/experimental/webxr/interaction.ts +221 -0
- package/src/experimental/webxr/picking.ts +119 -0
- package/src/experimental/webxr/presentation.ts +457 -0
- package/src/experimental/webxr/projection.ts +371 -0
- package/src/experimental/webxr/types.ts +221 -0
- package/src/experimental/webxr/views.ts +190 -0
- package/src/first_person_view_adapter.ts +107 -0
- package/src/globe_view_adapter.ts +103 -0
- package/src/index.ts +64 -0
- package/src/tangram-layer-lifecycle.ts +130 -0
- package/src/tangram-layer.ts +679 -0
- package/src/view_adapter_types.ts +40 -0
- package/src/web_mercator_view_adapter.ts +185 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/experimental/projected-basemaps.ts", "../../src/web_mercator_view_adapter.ts", "../../src/first_person_view_adapter.ts", "../../src/globe_view_adapter.ts", "../../src/tangram-layer.ts", "../../src/experimental/projected-navigation.ts", "../../src/experimental/projected-detail.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["Matrix4", "normalizeProjectedBasemapOptions", "countProjectedTileCoordinates", "DECK_WORLD_SIZE", "DECK_TO_TANGRAM_ZOOM_OFFSET", "getFrame", "multiplyMatrices", "Layer", "Renderer", "width", "height", "frame", "countProjectedTileCoordinates", "countProjectedTileCoordinates", "Matrix4", "normalizeProjectedBasemapOptions", "countProjectedTileCoordinates"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
// src/experimental/terrain.ts
|
|
2
|
+
import { CompositeLayer, COORDINATE_SYSTEM } from "@deck.gl/core";
|
|
3
|
+
import { SimpleMeshLayer } from "@deck.gl/mesh-layers";
|
|
4
|
+
import { Matrix4 } from "@math.gl/core";
|
|
5
|
+
import { TerrainMeshSurface as TerrainMeshSurface2, TerrainSurfaceCollection, sampleTerrainElevation, PROJECTION_CONSTANTS } from "@tangram.gl/tangram-renderer/core";
|
|
6
|
+
import { prepareGlobeTerrainMesh, getPreparedGlobeTerrainTemplate as getPreparedGlobeTerrainTemplate2, scaleGlobeTerrainMesh, getGlobeTerrainExaggeration as getGlobeTerrainExaggeration2 } from "@tangram.gl/tangram-renderer/map-logic";
|
|
7
|
+
|
|
8
|
+
// src/experimental/terrain-display.ts
|
|
9
|
+
import { TerrainMeshSurface } from "@tangram.gl/tangram-renderer/core";
|
|
10
|
+
import {
|
|
11
|
+
assertGlobeTerrainPreparationSnapshot,
|
|
12
|
+
getPreparedGlobeTerrainTemplate,
|
|
13
|
+
getGlobeTerrainExaggeration,
|
|
14
|
+
scaleGlobeTerrainMeshSteps
|
|
15
|
+
} from "@tangram.gl/tangram-renderer/map-logic";
|
|
16
|
+
function getTerrainRenderMesh(mesh) {
|
|
17
|
+
return { attributes: { POSITION: { size: 3, value: mesh.geographicPositions }, COLOR_0: { size: 3, value: mesh.colors } }, indices: { size: 1, value: mesh.indices } };
|
|
18
|
+
}
|
|
19
|
+
var displays = /* @__PURE__ */ new WeakMap();
|
|
20
|
+
function resolveGlobeTerrainDisplay(snapshot) {
|
|
21
|
+
const tiles = displays.get(snapshot);
|
|
22
|
+
if (!tiles) throw new Error("Globe terrain display requires a completed library snapshot");
|
|
23
|
+
return tiles;
|
|
24
|
+
}
|
|
25
|
+
function displayBytes(template) {
|
|
26
|
+
return template.vertexCount * 56 + template.triangleCount * 24;
|
|
27
|
+
}
|
|
28
|
+
var GlobeTerrainDisplayPreparation = class {
|
|
29
|
+
current;
|
|
30
|
+
target;
|
|
31
|
+
iterator;
|
|
32
|
+
staged = [];
|
|
33
|
+
disposed = false;
|
|
34
|
+
maxDisplayBytes;
|
|
35
|
+
maxQueryIndexBytes;
|
|
36
|
+
statistics;
|
|
37
|
+
/** Registered current/staged geometry only; query acceleration and external snapshots are separate owners. */
|
|
38
|
+
leases = /* @__PURE__ */ new Map();
|
|
39
|
+
/** Shared registered-allocation pool, without owning the pool or other clients. */
|
|
40
|
+
resourceBudget;
|
|
41
|
+
/** Budget retained geometry and lazy acceleration separately; scratch, templates and GPU memory are excluded. */
|
|
42
|
+
constructor(options = {}) {
|
|
43
|
+
this.maxDisplayBytes = options.maxDisplayBytes ?? 128 * 1024 * 1024;
|
|
44
|
+
this.maxQueryIndexBytes = options.maxQueryIndexBytes ?? 64 * 1024 * 1024;
|
|
45
|
+
this.resourceBudget = options.resourceBudget;
|
|
46
|
+
for (const limit of [this.maxDisplayBytes, this.maxQueryIndexBytes]) if (!Number.isSafeInteger(limit) || limit < 0) throw new Error("Globe terrain byte limits must be non-negative integers");
|
|
47
|
+
this.statistics = { pending: 0, byteLimit: this.maxDisplayBytes, requiredPeakBytes: 0, warmedIndexes: 0, deferredIndexes: 0, prepared: 0, reused: 0, committed: 0, cancelled: 0, slices: 0, lastSliceMs: 0, maxSliceMs: 0, workMs: 0 };
|
|
48
|
+
}
|
|
49
|
+
/** Latest complete source generation and multiplier win; unchanged or failed requests do not restart. */
|
|
50
|
+
request(terrain, exaggeration) {
|
|
51
|
+
if (this.disposed) throw new Error("Globe terrain display preparation is disposed");
|
|
52
|
+
assertGlobeTerrainPreparationSnapshot(terrain);
|
|
53
|
+
getGlobeTerrainExaggeration(0, exaggeration);
|
|
54
|
+
if (this.target?.terrain === terrain && this.target.exaggeration === exaggeration) return false;
|
|
55
|
+
this.cancel();
|
|
56
|
+
this.target = { terrain, exaggeration };
|
|
57
|
+
Object.assign(this.statistics, { pending: terrain.grids.length, requiredPeakBytes: 0, warmedIndexes: 0, deferredIndexes: 0, prepared: 0, reused: 0, slices: 0, lastSliceMs: 0, maxSliceMs: 0, workMs: 0, error: void 0 });
|
|
58
|
+
this.iterator = this.prepare(terrain, exaggeration);
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
/** Advance at least one chunk; query-snapshot construction remains an indivisible per-tile step. */
|
|
62
|
+
advance(budgetMs = 4, now = () => performance.now()) {
|
|
63
|
+
if (!Number.isFinite(budgetMs) || budgetMs <= 0) throw new Error("Display slice target must be positive");
|
|
64
|
+
if (!this.iterator) return false;
|
|
65
|
+
const started = now();
|
|
66
|
+
let committed = false;
|
|
67
|
+
try {
|
|
68
|
+
do {
|
|
69
|
+
const result = this.iterator.next();
|
|
70
|
+
if (result.done) {
|
|
71
|
+
this.iterator = void 0;
|
|
72
|
+
committed = true;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
} while (now() - started < budgetMs);
|
|
76
|
+
} catch (error) {
|
|
77
|
+
this.iterator?.return();
|
|
78
|
+
this.iterator = void 0;
|
|
79
|
+
this.staged = [];
|
|
80
|
+
this.statistics.pending = 0;
|
|
81
|
+
this.releaseUnusedLeases();
|
|
82
|
+
this.statistics.error = error instanceof Error ? error.message : String(error);
|
|
83
|
+
}
|
|
84
|
+
const elapsed = Math.max(0, now() - started);
|
|
85
|
+
this.statistics.slices++;
|
|
86
|
+
this.statistics.lastSliceMs = elapsed;
|
|
87
|
+
this.statistics.maxSliceMs = Math.max(this.statistics.maxSliceMs, elapsed);
|
|
88
|
+
this.statistics.workMs += elapsed;
|
|
89
|
+
return committed;
|
|
90
|
+
}
|
|
91
|
+
/** Explicitly retry a failed request while retaining the displayed generation. */
|
|
92
|
+
retry() {
|
|
93
|
+
if (!this.statistics.error || !this.target || this.disposed) return false;
|
|
94
|
+
const { terrain, exaggeration } = this.target;
|
|
95
|
+
this.target = void 0;
|
|
96
|
+
return this.request(terrain, exaggeration);
|
|
97
|
+
}
|
|
98
|
+
/** Complete generation only; drawing and picking always adopt the same geometry. */
|
|
99
|
+
getSnapshot() {
|
|
100
|
+
return this.current;
|
|
101
|
+
}
|
|
102
|
+
/** Detached exact array retention and cooperative-work counters. */
|
|
103
|
+
getStatistics() {
|
|
104
|
+
const tiles = this.getOwnedTiles();
|
|
105
|
+
return { ...this.statistics, retainedBytes: tiles.reduce((sum, tile) => sum + displayBytes(tile.template), 0), queryIndexBytes: tiles.reduce((sum, tile) => sum + tile.surface.getStatistics().queryIndexBytes, 0) };
|
|
106
|
+
}
|
|
107
|
+
/** True while work awaits the next host slice. */
|
|
108
|
+
isPending() {
|
|
109
|
+
return Boolean(this.iterator);
|
|
110
|
+
}
|
|
111
|
+
/** Cancel staged rescaling and release its reservations while keeping the displayed generation. */
|
|
112
|
+
cancel() {
|
|
113
|
+
const pending = Boolean(this.iterator);
|
|
114
|
+
if (pending) this.statistics.cancelled++;
|
|
115
|
+
this.iterator?.return();
|
|
116
|
+
this.iterator = void 0;
|
|
117
|
+
this.staged = [];
|
|
118
|
+
this.target = void 0;
|
|
119
|
+
this.statistics.pending = 0;
|
|
120
|
+
this.releaseUnusedLeases();
|
|
121
|
+
return pending;
|
|
122
|
+
}
|
|
123
|
+
/** Close staged generators and release owned references; external snapshots remain the caller's responsibility. */
|
|
124
|
+
destroy() {
|
|
125
|
+
this.cancel();
|
|
126
|
+
this.current = void 0;
|
|
127
|
+
this.releaseUnusedLeases();
|
|
128
|
+
this.disposed = true;
|
|
129
|
+
}
|
|
130
|
+
/** Count shared tile handles once, including already allocated lazy query indexes. */
|
|
131
|
+
getOwnedTiles() {
|
|
132
|
+
return [.../* @__PURE__ */ new Set([...this.current ? resolveGlobeTerrainDisplay(this.current) : [], ...this.staged])];
|
|
133
|
+
}
|
|
134
|
+
/** External snapshots are not owned by this preparation object and require their own lifetime accounting. */
|
|
135
|
+
releaseUnusedLeases() {
|
|
136
|
+
const retained = new Set(this.getOwnedTiles());
|
|
137
|
+
for (const [tile, leases] of this.leases) if (!retained.has(tile)) {
|
|
138
|
+
for (const lease of leases) lease.release();
|
|
139
|
+
this.leases.delete(tile);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/** Preflight a whole replacement before scaling; reuse compatible complete tiles and commit them together. */
|
|
143
|
+
*prepare(terrain, exaggeration) {
|
|
144
|
+
const previous = new Map((this.current ? resolveGlobeTerrainDisplay(this.current) : []).map((tile) => [tile.template, tile]));
|
|
145
|
+
const queryLimit = Math.floor(this.maxQueryIndexBytes / Math.max(1, terrain.grids.length));
|
|
146
|
+
const candidates = terrain.grids.map((grid) => {
|
|
147
|
+
const template = getPreparedGlobeTerrainTemplate(terrain, grid), tile = previous.get(template);
|
|
148
|
+
const required = tile?.surface.getStatistics().requiredQueryIndexBytes ?? 0;
|
|
149
|
+
const retained = tile?.exaggeration === exaggeration && required <= tile.queryLimit === required <= queryLimit ? tile : void 0;
|
|
150
|
+
return { grid, template, retained };
|
|
151
|
+
});
|
|
152
|
+
const currentBytes = this.current?.byteLength ?? 0, newBytes = candidates.reduce((sum, tile) => sum + (tile.retained ? 0 : displayBytes(tile.template)), 0);
|
|
153
|
+
this.statistics.requiredPeakBytes = currentBytes + newBytes;
|
|
154
|
+
if (newBytes > 0 && currentBytes + newBytes > this.maxDisplayBytes) throw new Error("Globe terrain display-byte limit exceeded; previous terrain retained");
|
|
155
|
+
const reservations = this.resourceBudget?.reserveAll(candidates.filter((tile) => !tile.retained).flatMap((tile) => [
|
|
156
|
+
{ domain: "retained", bytes: tile.template.byteLength, identity: tile.template },
|
|
157
|
+
{ domain: "retained", bytes: displayBytes(tile.template) }
|
|
158
|
+
])) ?? (this.resourceBudget ? null : []);
|
|
159
|
+
if (!reservations) throw new Error("Globe terrain display shared resource budget exceeded; previous terrain retained");
|
|
160
|
+
let reservationIndex = 0;
|
|
161
|
+
try {
|
|
162
|
+
for (const candidate of candidates) {
|
|
163
|
+
if (candidate.retained) {
|
|
164
|
+
this.staged.push(candidate.retained);
|
|
165
|
+
this.statistics.reused++;
|
|
166
|
+
} else {
|
|
167
|
+
let scaled = yield* scaleGlobeTerrainMeshSteps(candidate.template, exaggeration);
|
|
168
|
+
const surface = new TerrainMeshSurface({ projection: "globe", positions: scaled.positions, indices: scaled.indices, physicalHeights: scaled.physicalHeights, cullBackfaces: true, maxQueryIndexBytes: queryLimit });
|
|
169
|
+
const tile = { grid: candidate.grid, template: candidate.template, exaggeration, mesh: getTerrainRenderMesh(scaled), surface, queryLimit };
|
|
170
|
+
const tileReservations = reservations.slice(reservationIndex, reservationIndex + 2);
|
|
171
|
+
reservationIndex += 2;
|
|
172
|
+
if (tileReservations.length) this.leases.set(tile, tileReservations);
|
|
173
|
+
this.staged.push(tile);
|
|
174
|
+
scaled = void 0;
|
|
175
|
+
this.statistics.prepared++;
|
|
176
|
+
const required = surface.getStatistics().requiredQueryIndexBytes;
|
|
177
|
+
if (required > 0 && required <= queryLimit) {
|
|
178
|
+
const currentTiles = new Set(this.current ? resolveGlobeTerrainDisplay(this.current) : []);
|
|
179
|
+
const reserved = this.getOwnedTiles().reduce((sum, tile2) => {
|
|
180
|
+
const statistics = tile2.surface.getStatistics();
|
|
181
|
+
return sum + (currentTiles.has(tile2) && statistics.requiredQueryIndexBytes <= tile2.queryLimit ? statistics.requiredQueryIndexBytes : statistics.queryIndexBytes);
|
|
182
|
+
}, 0);
|
|
183
|
+
if (reserved + required <= this.maxQueryIndexBytes) {
|
|
184
|
+
yield* surface.prepareQueryIndexSteps();
|
|
185
|
+
this.statistics.warmedIndexes++;
|
|
186
|
+
} else this.statistics.deferredIndexes++;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
this.statistics.pending--;
|
|
190
|
+
yield;
|
|
191
|
+
}
|
|
192
|
+
const snapshot = Object.freeze({ terrain, exaggeration, byteLength: this.staged.reduce((sum, tile) => sum + displayBytes(tile.template), 0), maxDisplayBytes: this.maxDisplayBytes, maxQueryIndexBytes: this.maxQueryIndexBytes });
|
|
193
|
+
displays.set(snapshot, this.staged);
|
|
194
|
+
this.current = snapshot;
|
|
195
|
+
this.staged = [];
|
|
196
|
+
this.statistics.committed++;
|
|
197
|
+
this.releaseUnusedLeases();
|
|
198
|
+
} finally {
|
|
199
|
+
const adopted = new Set([...this.leases.values()].flat());
|
|
200
|
+
for (const reservation of reservations) if (!adopted.has(reservation)) reservation.release();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
// src/experimental/terrain.ts
|
|
206
|
+
var terrainInstances = [{}];
|
|
207
|
+
function getGlobeScreenRatio(viewport) {
|
|
208
|
+
if (viewport.projectionMode !== 2 || viewport.width <= 0 || viewport.height <= 0) throw new Error("Globe terrain requires GlobeView");
|
|
209
|
+
const distance = Math.hypot(...viewport.cameraPosition);
|
|
210
|
+
const denominator = Math.sqrt(Math.max(Number.EPSILON, distance * distance - 256 * 256));
|
|
211
|
+
return Math.abs(viewport.projectionMatrix[5]) * 256 * viewport.height / (denominator * Math.min(viewport.width, viewport.height));
|
|
212
|
+
}
|
|
213
|
+
var GlobeTerrainLayer = class extends CompositeLayer {
|
|
214
|
+
/** Stable deck.gl diagnostic name. */
|
|
215
|
+
static layerName = "GlobeTerrainLayer";
|
|
216
|
+
/** Validated display controls; terrain data never changes unit convention. */
|
|
217
|
+
static defaultProps = {
|
|
218
|
+
globeTerrainExaggeration: { type: "number", value: 100, min: 0, max: 1e3 },
|
|
219
|
+
meshResolution: { type: "number", value: 64, min: 2, max: 256 },
|
|
220
|
+
wireframe: false,
|
|
221
|
+
maxDisplayBytes: { type: "number", value: 128 * 1024 * 1024, min: 0 },
|
|
222
|
+
maxQueryIndexBytes: { type: "number", value: 64 * 1024 * 1024, min: 0 }
|
|
223
|
+
};
|
|
224
|
+
/** Detached current storage/timing diagnostics; index bytes may grow only on an intersecting query. */
|
|
225
|
+
getStatistics() {
|
|
226
|
+
const tiles = this.state?.prepared ?? [];
|
|
227
|
+
return { tileCount: tiles.length, exaggeration: this.state?.exaggeration ?? 0, displayBytes: tiles.reduce((sum, tile) => sum + this.getDisplayBytes(tile.template), 0), queryIndexBytes: tiles.reduce((sum, tile) => sum + tile.surface.getStatistics().queryIndexBytes, 0), error: this.state?.memoryError, updateMs: this.state?.updateMs ?? 0, queryMs: this.state?.queryMs ?? 0 };
|
|
228
|
+
}
|
|
229
|
+
/** Geographic/color buffers, render topology and one owned query snapshot; no duplicate index geometry. */
|
|
230
|
+
getDisplayBytes(template) {
|
|
231
|
+
return template.vertexCount * 56 + template.triangleCount * 24;
|
|
232
|
+
}
|
|
233
|
+
/** Recompute display geometry when the camera changes scale, not on every animation tick. */
|
|
234
|
+
shouldUpdateState({ changeFlags }) {
|
|
235
|
+
return Boolean(changeFlags.propsOrDataChanged || changeFlags.viewportChanged);
|
|
236
|
+
}
|
|
237
|
+
/** Keep each eye's display multiplier tied to the active viewport; grids remain physically unchanged. */
|
|
238
|
+
updateState({ changeFlags }) {
|
|
239
|
+
const started = performance.now();
|
|
240
|
+
const maxDisplayBytes = this.props.maxDisplayBytes ?? 128 * 1024 * 1024, maxQueryIndexBytes = this.props.maxQueryIndexBytes ?? 64 * 1024 * 1024;
|
|
241
|
+
for (const limit of [maxDisplayBytes, maxQueryIndexBytes]) if (!Number.isSafeInteger(limit) || limit < 0) throw new Error("Globe terrain byte limits must be non-negative integers");
|
|
242
|
+
if (this.props.modelMatrix || this.props.extensions.length) throw new Error("Globe terrain does not support vertex transforms or layer extensions");
|
|
243
|
+
if (this.props.data.some((grid) => grid.verticalDatum !== this.props.data[0].verticalDatum)) throw new Error("Globe terrain grids require one compatible vertical datum");
|
|
244
|
+
if (new Set(this.props.data.map((grid) => grid.bounds.join(","))).size !== this.props.data.length) throw new Error("Globe terrain grids must have distinct footprints");
|
|
245
|
+
const snapshot = this.props.preparedTerrain;
|
|
246
|
+
if (snapshot && (snapshot.resolution !== this.props.meshResolution || snapshot.grids.length !== this.props.data.length || snapshot.grids.some((grid, index) => grid !== this.props.data[index]))) throw new Error("Prepared globe terrain must match data and meshResolution");
|
|
247
|
+
const requestedExaggeration = getGlobeTerrainExaggeration2(getGlobeScreenRatio(this.context.viewport), this.props.globeTerrainExaggeration);
|
|
248
|
+
const display = this.props.preparedDisplay;
|
|
249
|
+
if (display) {
|
|
250
|
+
const tiles = resolveGlobeTerrainDisplay(display), terrain = display.terrain;
|
|
251
|
+
if (terrain.resolution !== this.props.meshResolution || terrain.grids.length !== this.props.data.length || terrain.grids.some((grid, index) => grid !== this.props.data[index]) || snapshot && snapshot !== terrain) throw new Error("Prepared globe display must match data, terrain and meshResolution");
|
|
252
|
+
if (display.maxDisplayBytes !== maxDisplayBytes || display.maxQueryIndexBytes !== maxQueryIndexBytes) throw new Error("Prepared globe display budgets must match the layer");
|
|
253
|
+
if (!changeFlags.propsOrDataChanged && this.state.exaggeration === display.exaggeration) return;
|
|
254
|
+
const existingSurfaces = new Set(this.state.surfaces ?? []);
|
|
255
|
+
const newBytes = tiles.reduce((sum, tile) => sum + (existingSurfaces.has(tile.surface) ? 0 : this.getDisplayBytes(tile.template)), 0);
|
|
256
|
+
if (newBytes > 0 && this.getStatistics().displayBytes + newBytes > maxDisplayBytes) {
|
|
257
|
+
this.setState({ memoryError: "Globe terrain display-byte limit exceeded; previous terrain retained", updateMs: performance.now() - started });
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
const circumference2 = 2 * Math.PI * 6378137;
|
|
261
|
+
const prepared2 = tiles.map((tile) => ({ ...tile, neighbors: this.props.data.filter((candidate) => candidate !== tile.grid && [-circumference2, 0, circumference2].some((shift) => candidate.bounds[0] + shift <= tile.grid.bounds[2] && candidate.bounds[2] + shift >= tile.grid.bounds[0] && candidate.bounds[1] <= tile.grid.bounds[3] && candidate.bounds[3] >= tile.grid.bounds[1])) }));
|
|
262
|
+
this.publishTiles(prepared2, display.exaggeration, started);
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const exaggeration = requestedExaggeration;
|
|
266
|
+
if (!changeFlags.propsOrDataChanged && this.state.exaggeration === exaggeration) return;
|
|
267
|
+
const circumference = 2 * Math.PI * 6378137;
|
|
268
|
+
const previous = new Map(this.state.prepared?.map((tile) => [tile.grid, tile]));
|
|
269
|
+
const queryLimit = Math.floor(maxQueryIndexBytes / Math.max(1, this.props.data.length));
|
|
270
|
+
const candidates = this.props.data.map((grid) => {
|
|
271
|
+
const neighbors = this.props.data.filter((candidate) => candidate !== grid && [-circumference, 0, circumference].some((shift) => candidate.bounds[0] + shift <= grid.bounds[2] && candidate.bounds[2] + shift >= grid.bounds[0] && candidate.bounds[1] <= grid.bounds[3] && candidate.bounds[3] >= grid.bounds[1]));
|
|
272
|
+
const retained = previous.get(grid);
|
|
273
|
+
const sameNeighborhood = retained && this.state.resolution === this.props.meshResolution && retained.neighbors.length === neighbors.length && retained.neighbors.every((neighbor, index) => neighbor === neighbors[index]);
|
|
274
|
+
const template = snapshot ? getPreparedGlobeTerrainTemplate2(snapshot, grid) : sameNeighborhood ? retained.template : prepareGlobeTerrainMesh(grid, { resolution: this.props.meshResolution, neighbors });
|
|
275
|
+
const requiredBytes = retained ? retained.surface.getStatistics().requiredQueryIndexBytes : 0;
|
|
276
|
+
const sameQueryPolicy = retained && requiredBytes <= retained.queryLimit === requiredBytes <= queryLimit;
|
|
277
|
+
const reuse = sameNeighborhood && retained.template === template && retained.exaggeration === exaggeration && sameQueryPolicy;
|
|
278
|
+
return { grid, neighbors, template, retained: reuse ? retained : void 0 };
|
|
279
|
+
});
|
|
280
|
+
const retainedBytes = this.getStatistics().displayBytes;
|
|
281
|
+
const replacementBytes = candidates.reduce((sum, tile) => sum + (tile.retained ? 0 : this.getDisplayBytes(tile.template)), 0);
|
|
282
|
+
const displayedBytes = candidates.reduce((sum, tile) => sum + this.getDisplayBytes(tile.template), 0);
|
|
283
|
+
if (displayedBytes > maxDisplayBytes || replacementBytes > 0 && retainedBytes + replacementBytes > maxDisplayBytes) {
|
|
284
|
+
this.setState({ memoryError: "Globe terrain display-byte limit exceeded; previous terrain retained", updateMs: performance.now() - started });
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
const prepared = candidates.map(({ grid, neighbors, template, retained }) => {
|
|
288
|
+
if (retained) return retained;
|
|
289
|
+
const mesh = scaleGlobeTerrainMesh(template, exaggeration);
|
|
290
|
+
return {
|
|
291
|
+
grid,
|
|
292
|
+
neighbors,
|
|
293
|
+
template,
|
|
294
|
+
exaggeration,
|
|
295
|
+
queryLimit,
|
|
296
|
+
mesh: getTerrainRenderMesh(mesh),
|
|
297
|
+
surface: new TerrainMeshSurface2({ projection: "globe", positions: mesh.positions, indices: mesh.indices, physicalHeights: mesh.physicalHeights, cullBackfaces: true, maxQueryIndexBytes: queryLimit })
|
|
298
|
+
};
|
|
299
|
+
});
|
|
300
|
+
this.publishTiles(prepared, exaggeration, started);
|
|
301
|
+
}
|
|
302
|
+
/** Publish one complete draw/query generation and measure layer assembly as well as geometry work. */
|
|
303
|
+
publishTiles(prepared, exaggeration, started) {
|
|
304
|
+
this.setState({
|
|
305
|
+
exaggeration,
|
|
306
|
+
memoryError: void 0,
|
|
307
|
+
queryGeometry: void 0,
|
|
308
|
+
prepared,
|
|
309
|
+
resolution: this.props.meshResolution,
|
|
310
|
+
surfaces: prepared.map((tile) => tile.surface),
|
|
311
|
+
layers: prepared.map((tile) => new SimpleMeshLayer(this.getSubLayerProps({ id: `mesh-${tile.grid.bounds.join(",")}` }), {
|
|
312
|
+
data: terrainInstances,
|
|
313
|
+
mesh: tile.mesh,
|
|
314
|
+
coordinateSystem: COORDINATE_SYSTEM.LNGLAT,
|
|
315
|
+
_instanced: false,
|
|
316
|
+
getPosition: [0, 0, 0],
|
|
317
|
+
getColor: [255, 255, 255],
|
|
318
|
+
// Colors already contain spherical relief lighting; do not transform them as planar ENU normals.
|
|
319
|
+
material: false,
|
|
320
|
+
wireframe: this.props.wireframe,
|
|
321
|
+
pickable: false,
|
|
322
|
+
parameters: { ...this.props.parameters, cullMode: "back" }
|
|
323
|
+
})),
|
|
324
|
+
updateMs: performance.now() - started
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
/** Draw curved physical terrain, independently of the basemap's styling/tile lifecycle. */
|
|
328
|
+
renderLayers() {
|
|
329
|
+
return this.state.layers ?? [];
|
|
330
|
+
}
|
|
331
|
+
/** Cache membership and a conservative radial bracket for the admitted generation, without copying geometry. */
|
|
332
|
+
getQueryGeometry() {
|
|
333
|
+
const surfaces = this.state?.surfaces ?? [], cached = this.state?.queryGeometry;
|
|
334
|
+
if (cached?.surfaces === surfaces) return cached;
|
|
335
|
+
const collection = new TerrainSurfaceCollection("globe", surfaces.map((surface, index) => ({ id: String(index), surface })));
|
|
336
|
+
const radius = Math.max(0, ...surfaces.map((surface) => {
|
|
337
|
+
const bounds = surface.getBounds();
|
|
338
|
+
return bounds ? Math.hypot(...bounds.minimum.map((value, axis) => Math.max(Math.abs(value), Math.abs(bounds.maximum[axis])))) : 0;
|
|
339
|
+
}));
|
|
340
|
+
if (this.state) this.state.queryGeometry = { surfaces, collection, radius };
|
|
341
|
+
return { collection, radius };
|
|
342
|
+
}
|
|
343
|
+
/** Probe the currently displayed top triangles radially, returning physical source elevation rather than relief. */
|
|
344
|
+
sampleElevation(coordinate) {
|
|
345
|
+
const started = performance.now();
|
|
346
|
+
const { collection, radius } = this.getQueryGeometry();
|
|
347
|
+
const hit = sampleTerrainElevation(collection, coordinate, {
|
|
348
|
+
minimumAltitude: -PROJECTION_CONSTANTS.earthRadius * (1 - Number.EPSILON),
|
|
349
|
+
maximumAltitude: ((radius + 1) / PROJECTION_CONSTANTS.globeRadius - 1) * PROJECTION_CONSTANTS.earthRadius
|
|
350
|
+
});
|
|
351
|
+
if (this.state) this.state.queryMs = performance.now() - started;
|
|
352
|
+
return hit;
|
|
353
|
+
}
|
|
354
|
+
/** Return the nearest loaded terrain blocker on a finite radius-256 common-space segment; null is not certified visibility. */
|
|
355
|
+
intersectTerrainSegment(start, end, options) {
|
|
356
|
+
const started = performance.now(), hit = this.getQueryGeometry().collection.intersectSegment(start, end, options);
|
|
357
|
+
if (this.state) this.state.queryMs = performance.now() - started;
|
|
358
|
+
return hit;
|
|
359
|
+
}
|
|
360
|
+
/** Query displayed triangles but return barycentrically interpolated physical source meters. */
|
|
361
|
+
pickTerrain(viewport, pixel) {
|
|
362
|
+
const started = performance.now();
|
|
363
|
+
getGlobeScreenRatio(viewport);
|
|
364
|
+
if (pixel.length !== 2 || !pixel.every(Number.isFinite)) throw new Error("Globe terrain pixels must be finite");
|
|
365
|
+
const inverse = new Matrix4(viewport.viewProjectionMatrix).invert();
|
|
366
|
+
const points = [-1, 1].map((z) => inverse.transform([2 * (pixel[0] - viewport.x) / viewport.width - 1, 1 - 2 * (pixel[1] - viewport.y) / viewport.height, z, 1]));
|
|
367
|
+
const origin = [points[0][0] / points[0][3], points[0][1] / points[0][3], points[0][2] / points[0][3]];
|
|
368
|
+
const direction = [points[1][0] / points[1][3] - origin[0], points[1][1] / points[1][3] - origin[1], points[1][2] / points[1][3] - origin[2]];
|
|
369
|
+
const nearest = this.getQueryGeometry().collection.intersectRay({ origin, direction }, Math.hypot(...direction));
|
|
370
|
+
if (this.state) this.state.queryMs = performance.now() - started;
|
|
371
|
+
return nearest;
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
export {
|
|
375
|
+
GlobeTerrainDisplayPreparation,
|
|
376
|
+
GlobeTerrainLayer,
|
|
377
|
+
getGlobeScreenRatio
|
|
378
|
+
};
|
|
379
|
+
//# sourceMappingURL=terrain.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/experimental/terrain.ts", "../../src/experimental/terrain-display.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["TerrainMeshSurface", "getPreparedGlobeTerrainTemplate", "getGlobeTerrainExaggeration", "tile", "getGlobeTerrainExaggeration", "circumference", "prepared", "getPreparedGlobeTerrainTemplate", "TerrainMeshSurface"]
|
|
6
|
+
}
|