@tangram.gl/tangram-layers 0.0.0-stage → 0.0.0

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.
Files changed (43) hide show
  1. package/README.md +35 -2
  2. package/dist/experimental/projected-basemaps.js +1310 -0
  3. package/dist/experimental/projected-basemaps.js.map +6 -0
  4. package/dist/experimental/terrain.js +379 -0
  5. package/dist/experimental/terrain.js.map +6 -0
  6. package/dist/experimental/webxr.js +1423 -0
  7. package/dist/experimental/webxr.js.map +6 -0
  8. package/dist/index.js +756 -0
  9. package/dist/index.js.map +6 -0
  10. package/dist/types/experimental/projected-basemaps.d.ts +120 -0
  11. package/dist/types/experimental/projected-detail.d.ts +33 -0
  12. package/dist/types/experimental/projected-navigation.d.ts +117 -0
  13. package/dist/types/experimental/terrain-display.d.ts +124 -0
  14. package/dist/types/experimental/terrain.d.ts +131 -0
  15. package/dist/types/first_person_view_adapter.d.ts +29 -0
  16. package/dist/types/globe_view_adapter.d.ts +33 -0
  17. package/dist/types/index.d.ts +84 -0
  18. package/dist/types/tangram-layer-lifecycle.d.ts +132 -0
  19. package/dist/types/tangram-layer.d.ts +157 -0
  20. package/dist/types/view_adapter_types.d.ts +42 -0
  21. package/dist/types/web_mercator_view_adapter.d.ts +77 -0
  22. package/package.json +80 -3
  23. package/src/experimental/projected-basemaps.ts +301 -0
  24. package/src/experimental/projected-detail.ts +116 -0
  25. package/src/experimental/projected-navigation.ts +323 -0
  26. package/src/experimental/terrain-display.ts +243 -0
  27. package/src/experimental/terrain.ts +240 -0
  28. package/src/experimental/webxr/grabbing.ts +166 -0
  29. package/src/experimental/webxr/index.d.ts +77 -0
  30. package/src/experimental/webxr/index.ts +72 -0
  31. package/src/experimental/webxr/interaction.ts +221 -0
  32. package/src/experimental/webxr/picking.ts +119 -0
  33. package/src/experimental/webxr/presentation.ts +457 -0
  34. package/src/experimental/webxr/projection.ts +371 -0
  35. package/src/experimental/webxr/types.ts +221 -0
  36. package/src/experimental/webxr/views.ts +190 -0
  37. package/src/first_person_view_adapter.ts +107 -0
  38. package/src/globe_view_adapter.ts +103 -0
  39. package/src/index.ts +64 -0
  40. package/src/tangram-layer-lifecycle.ts +130 -0
  41. package/src/tangram-layer.ts +679 -0
  42. package/src/view_adapter_types.ts +40 -0
  43. 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
+ }