@mapvx/web-js 2.0.2 → 2.1.0-dev.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.
Files changed (35) hide show
  1. package/dist/cjs/controllers/routeController.js +25 -0
  2. package/dist/cjs/controllers/routeController.js.map +1 -1
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/logger/sentry.js +1 -1
  5. package/dist/cjs/map/map.js +15 -0
  6. package/dist/cjs/map/map.js.map +1 -1
  7. package/dist/cjs/map/scene3DController.js +93 -8
  8. package/dist/cjs/map/scene3DController.js.map +1 -1
  9. package/dist/cjs/utils/3d.js +34 -0
  10. package/dist/cjs/utils/3d.js.map +1 -1
  11. package/dist/es/controllers/routeController.d.ts +8 -0
  12. package/dist/es/controllers/routeController.d.ts.map +1 -1
  13. package/dist/es/controllers/routeController.js +25 -0
  14. package/dist/es/controllers/routeController.js.map +1 -1
  15. package/dist/es/domain/models/scene3D.d.ts +34 -0
  16. package/dist/es/domain/models/scene3D.d.ts.map +1 -1
  17. package/dist/es/index.d.ts +1 -1
  18. package/dist/es/index.d.ts.map +1 -1
  19. package/dist/es/index.js.map +1 -1
  20. package/dist/es/logger/sentry.js +1 -1
  21. package/dist/es/map/map.d.ts +13 -0
  22. package/dist/es/map/map.d.ts.map +1 -1
  23. package/dist/es/map/map.js +15 -0
  24. package/dist/es/map/map.js.map +1 -1
  25. package/dist/es/map/scene3DController.d.ts +31 -4
  26. package/dist/es/map/scene3DController.d.ts.map +1 -1
  27. package/dist/es/map/scene3DController.js +94 -9
  28. package/dist/es/map/scene3DController.js.map +1 -1
  29. package/dist/es/utils/3d.d.ts +32 -1
  30. package/dist/es/utils/3d.d.ts.map +1 -1
  31. package/dist/es/utils/3d.js +31 -0
  32. package/dist/es/utils/3d.js.map +1 -1
  33. package/dist/umd/index.js +290 -66
  34. package/dist/umd/index.js.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scene3DController.d.ts","sourceRoot":"","sources":["../../../src/map/scene3DController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiD,KAAK,GAAG,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAIL,KAAK,aAAa,EAInB,MAAM,0BAA0B,CAAA;AAsBjC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,mGAAmG;IACnG,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,eAAe,CAAqC;IAC5D,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4C;IAChF,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAGpC;IACH,gFAAgF;IAChF,OAAO,CAAC,oBAAoB,CAAI;IAChC,mFAAmF;IACnF,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,gBAAgB,CAAgC;gBAE5C,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM;IAQjF;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAsChC,0EAA0E;IAC1E,MAAM,IAAI,IAAI;IAId,wEAAwE;IACxE,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAM5D,+EAA+E;IAC/E,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAO7D;;;OAGG;YACW,YAAY;IAK1B,OAAO,CAAC,oBAAoB;YAkFd,uBAAuB;IAyBrC,OAAO,CAAC,kBAAkB;IAmG1B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;YA+Bf,eAAe;IAe7B,OAAO,CAAC,sBAAsB;IAuC9B,OAAO,CAAC,cAAc;IAqDtB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,UAAU;CAQnB"}
1
+ {"version":3,"file":"scene3DController.d.ts","sourceRoot":"","sources":["../../../src/map/scene3DController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiD,KAAK,GAAG,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAKL,KAAK,aAAa,EAInB,MAAM,0BAA0B,CAAA;AAyBjC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,mGAAmG;IACnG,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,eAAe,CAAqC;IAC5D,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4C;IAChF,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAGpC;IACH,gFAAgF;IAChF,OAAO,CAAC,oBAAoB,CAAI;IAChC,mFAAmF;IACnF,OAAO,CAAC,kBAAkB,CAAqC;IAC/D;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B,CAAuD;IAC1F,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,gBAAgB,CAAgC;gBAE5C,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM;IAQjF;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAsChC,0EAA0E;IAC1E,MAAM,IAAI,IAAI;IAId;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI;IAMrF,wEAAwE;IACxE,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAM5D,+EAA+E;IAC/E,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAO7D;;;OAGG;YACW,YAAY;IAK1B,OAAO,CAAC,oBAAoB;YAkFd,uBAAuB;IAyBrC,OAAO,CAAC,kBAAkB;IAsH1B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IA2CpC;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;YAiCX,eAAe;IAe7B,OAAO,CAAC,sBAAsB;IAuC9B,OAAO,CAAC,cAAc;IAqDtB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,UAAU;CAQnB"}
@@ -1,5 +1,5 @@
1
1
  import { MercatorCoordinate } from "maplibre-gl";
2
- import { computeScenePosition, hexToRgb, isPlacementVisibleOnFloor, mergeGlbScale, mergeRotation3D, opacityForZoom, resolveModels3DLights, resolveZoomTransparency, } from "../utils/3d";
2
+ import { computeScenePosition, effectiveModelOpacity, hexToRgb, isPlacementVisibleOnFloor, mergeGlbScale, mergeRotation3D, pointInFootprint, resolveModels3DLights, resolveRouteTransparency, resolveZoomTransparency, } from "../utils/3d";
3
3
  import { buildElevatedPaths, buildLabelData, buildPoiIconData, buildStoreLogoData, computeStoreLogoSize, } from "../utils/deckLayers";
4
4
  import { loadGlbRoot } from "../utils/loadGlb";
5
5
  import { loadDeck, loadThree } from "../utils/three";
@@ -36,6 +36,13 @@ export class Scene3DController {
36
36
  this.scene3DGlbLightCount = 0;
37
37
  /** Container group holding all placed GLB pivots; rebuilt on each floor change. */
38
38
  this.scene3DModelsGroup = undefined;
39
+ /**
40
+ * Route points currently used for GLB route-transparency collision, tagged with the floor on
41
+ * which each point's route segment is visible. Stored as coordinates (not pivot references) so
42
+ * they survive `placeScene3DModels` rebuilds on floor change. Only points matching the current
43
+ * floor participate, so a model only fades when a route is visibly crossing it on that floor.
44
+ */
45
+ this.scene3DRouteCollisionPoints = [];
39
46
  this.spriteIconMapping = {};
40
47
  this.spriteAtlasImage = new Image();
41
48
  this.map = map;
@@ -81,7 +88,18 @@ export class Scene3DController {
81
88
  }
82
89
  /** Re-applies zoom-based model transparency; call on every map `zoom`. */
83
90
  onZoom() {
84
- this.applyModelZoomOpacity();
91
+ this.applyModelOpacity();
92
+ }
93
+ /**
94
+ * Sets the route path used for GLB route-transparency collision and re-evaluates which models a
95
+ * route currently crosses. Points are tagged with the floor on which their route segment is
96
+ * visible; only points on the current floor participate, so a model never fades unless a route is
97
+ * visibly crossing it on the displayed floor. Pass an empty array to clear.
98
+ */
99
+ setRouteCollisionPath(points) {
100
+ this.scene3DRouteCollisionPoints = points;
101
+ this.recomputeRouteAffectedModels();
102
+ this.applyModelOpacity();
85
103
  }
86
104
  /** Rebuilds the deck overlay and GLB placements for the given floor. */
87
105
  onFloorChange(currentFloor) {
@@ -255,29 +273,96 @@ export class Scene3DController {
255
273
  model.position.set(-template.center.x, -template.center.y, -template.center.z);
256
274
  // Stash the resolved zoom-transparency config so it can be re-applied on every zoom change.
257
275
  pivot.userData.zoomTransparency = resolveZoomTransparency(models, asset, placement);
276
+ // Stash route-transparency config (may be undefined => feature off for this model) so a
277
+ // route crossing this model can fade it independently of zoom.
278
+ pivot.userData.routeTransparency = resolveRouteTransparency(models, asset, placement);
279
+ // Precompute the model footprint in the pivot's local x/z frame while `model` has no parent
280
+ // (its world matrix equals its local matrix), for cheap point-in-building collision tests.
281
+ // After `pivot.add(model)` the world matrix would fold in the pivot transform, giving a loose
282
+ // world-axis box instead; `pivot.worldToLocal` at test time undoes the pivot transform.
283
+ const localBox = new three.Box3().setFromObject(model);
284
+ pivot.userData.footprint = {
285
+ minX: localBox.min.x,
286
+ maxX: localBox.max.x,
287
+ minZ: localBox.min.z,
288
+ maxZ: localBox.max.z,
289
+ };
258
290
  pivot.add(model);
259
291
  modelsGroup.add(pivot);
260
292
  }
261
293
  this.scene3DModelsGroup = modelsGroup;
262
294
  this.scene3DGlbScene.add(modelsGroup);
263
- this.applyModelZoomOpacity();
295
+ // Recompute route collision against the freshly rebuilt pivots (footprints/floor changed),
296
+ // then apply the combined opacity.
297
+ this.recomputeRouteAffectedModels();
298
+ this.applyModelOpacity();
264
299
  this.map.triggerRepaint();
265
300
  }
266
301
  /**
267
- * Applies zoom-based transparency to placed GLB models, using each placement's resolved
268
- * {@link ZoomTransparencyConfig} stored in `pivot.userData.zoomTransparency`. Hard threshold:
269
- * fully opaque below the configured zoom, configured opacity at/above it. Only triggers a
302
+ * Recomputes `pivot.userData.routeAffected` for every placed model by testing the current-floor
303
+ * route collision points against each model's precomputed footprint. Cheap point-in-box tests in
304
+ * the pivot's local x/z frame; runs only when the route path or the placed models change, never
305
+ * per zoom frame.
306
+ */
307
+ recomputeRouteAffectedModels() {
308
+ var _a;
309
+ const three = (_a = this.threeMod) === null || _a === void 0 ? void 0 : _a.THREE;
310
+ const modelsGroup = this.scene3DModelsGroup;
311
+ if (!three || !modelsGroup) {
312
+ return;
313
+ }
314
+ const points = this.scene3DRouteCollisionPoints.filter((p) => p.floorKey === this.currentFloor);
315
+ // Convert each route point into the models group's local frame (metres relative to
316
+ // initialCenter), exactly as placements are positioned in `placeScene3DModels`. The group's
317
+ // own transform (globalOffset) is applied via `localToWorld` at test time, so route points and
318
+ // model pivots share one frame regardless of the collective offset.
319
+ const refMercator = MercatorCoordinate.fromLngLat(this.initialCenter, 0);
320
+ const meterScale = refMercator.meterInMercatorCoordinateUnits();
321
+ const groupLocalPoints = points.map((p) => {
322
+ const target = MercatorCoordinate.fromLngLat([p.lng, p.lat], 0);
323
+ const x = (target.x - refMercator.x) / meterScale;
324
+ const z = (target.y - refMercator.y) / meterScale;
325
+ return new three.Vector3(x, 0, z);
326
+ });
327
+ modelsGroup.updateMatrixWorld(true);
328
+ const local = new three.Vector3();
329
+ for (const pivot of modelsGroup.children) {
330
+ const routeCfg = pivot.userData.routeTransparency;
331
+ const footprint = pivot.userData.footprint;
332
+ // Only models with a route-transparency config participate (feature activation gate).
333
+ if (!routeCfg || !footprint || groupLocalPoints.length === 0) {
334
+ pivot.userData.routeAffected = false;
335
+ continue;
336
+ }
337
+ pivot.userData.routeAffected = groupLocalPoints.some((gp) => {
338
+ // group-local -> world (applies globalOffset) -> pivot-local (undoes position/rotation/
339
+ // scale), then test its x/z against the footprint. y is ignored (floor-level footprint).
340
+ local.copy(gp);
341
+ modelsGroup.localToWorld(local);
342
+ pivot.worldToLocal(local);
343
+ return pointInFootprint(footprint, local.x, local.z);
344
+ });
345
+ }
346
+ }
347
+ /**
348
+ * Applies transparency to placed GLB models, combining zoom-based transparency
349
+ * ({@link ZoomTransparencyConfig}, a hard threshold: fully opaque below the configured zoom,
350
+ * configured opacity at/above it) with route-based transparency
351
+ * ({@link RouteTransparencyConfig}) for models a route currently crosses
352
+ * (`pivot.userData.routeAffected`). The more transparent of the two wins. Only triggers a
270
353
  * repaint when at least one material actually changed.
271
354
  */
272
- applyModelZoomOpacity() {
355
+ applyModelOpacity() {
273
356
  if (!this.scene3DModelsGroup) {
274
357
  return;
275
358
  }
276
359
  const zoom = this.map.getZoom();
277
360
  let changed = false;
278
361
  for (const pivot of this.scene3DModelsGroup.children) {
279
- const cfg = pivot.userData.zoomTransparency;
280
- const opacity = opacityForZoom(cfg, zoom);
362
+ const zoomCfg = pivot.userData.zoomTransparency;
363
+ const routeCfg = pivot.userData.routeTransparency;
364
+ const routeAffected = pivot.userData.routeAffected === true;
365
+ const opacity = effectiveModelOpacity(zoomCfg, routeCfg, zoom, routeAffected);
281
366
  pivot.traverse((obj) => {
282
367
  const mesh = obj;
283
368
  if (!mesh.isMesh) {
@@ -1 +1 @@
1
- {"version":3,"file":"scene3DController.js","sourceRoot":"","sources":["../../../src/map/scene3DController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene3DController.js","sourceRoot":"","sources":["../../../src/map/scene3DController.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { GLBAssetConfig, GLBModelOffset, GLBPlacementConfig, Models3DConfig, Rotation3D, Scene3DLightConfig, ZoomTransparencyConfig } from "../domain/models/scene3D";
1
+ import type { GLBAssetConfig, GLBModelOffset, GLBPlacementConfig, Models3DConfig, Rotation3D, RouteTransparencyConfig, Scene3DLightConfig, ZoomTransparencyConfig } from "../domain/models/scene3D";
2
2
  /**
3
3
  * Default lights matching the legacy escalator scene when {@link Models3DConfig.lights} is unset.
4
4
  * @internal
@@ -33,6 +33,37 @@ export declare function resolveZoomTransparency(models: Models3DConfig, asset: G
33
33
  * With no config, returns `1`.
34
34
  */
35
35
  export declare function opacityForZoom(cfg: ZoomTransparencyConfig | undefined, zoom: number): number;
36
+ /**
37
+ * Resolves the effective route-based transparency for a placement, applying precedence:
38
+ * placement > asset > global. Returns `undefined` when none is configured, which disables
39
+ * route transparency for that model (a route crossing it leaves its opacity unchanged).
40
+ */
41
+ export declare function resolveRouteTransparency(models: Models3DConfig, asset: GLBAssetConfig | undefined, placement: GLBPlacementConfig): RouteTransparencyConfig | undefined;
42
+ /**
43
+ * Axis-aligned footprint of a model in its own local x/z plane (metres), used for cheap
44
+ * point-in-building collision tests. Height (y) is ignored: a route point on the floor should
45
+ * match regardless of the model's vertical extent.
46
+ * @internal
47
+ */
48
+ export interface ModelFootprint {
49
+ minX: number;
50
+ maxX: number;
51
+ minZ: number;
52
+ maxZ: number;
53
+ }
54
+ /**
55
+ * Whether a point already expressed in the model's local space falls within its x/z footprint.
56
+ * @internal
57
+ */
58
+ export declare function pointInFootprint(footprint: ModelFootprint, localX: number, localZ: number): boolean;
59
+ /**
60
+ * Effective opacity for a placed model: the more transparent of its zoom-based value and, when a
61
+ * route currently crosses it, its route-based value. Route transparency only participates when a
62
+ * {@link RouteTransparencyConfig} is configured (`routeCfg` present) and the model is currently
63
+ * crossed by a route (`routeAffected`).
64
+ * @internal
65
+ */
66
+ export declare function effectiveModelOpacity(zoomCfg: ZoomTransparencyConfig | undefined, routeCfg: RouteTransparencyConfig | undefined, zoom: number, routeAffected: boolean): number;
36
67
  /**
37
68
  * Whether a GLB placement should be visible for the given floor key.
38
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"3d.d.ts","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,0BAA0B,CAAA;AAEjC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,kBAAkB,EAItD,CAAA;AAEV,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAW7D,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAYtE,CAAA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,kBAAkB,EAAE,CAKlF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,CAMpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC7D,QAAQ,EAAE,MAAM,GACf,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQ1B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACzD,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC7D,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAM1B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,cAAc,GAAG,SAAS,EACjC,SAAS,EAAE,kBAAkB,GAC5B,sBAAsB,GAAG,SAAS,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,sBAAsB,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO,CAKT;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,cAAc,EAC5B,eAAe,CAAC,EAAE,cAAc,GAC/B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAU1B"}
1
+ {"version":3,"file":"3d.d.ts","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,37 @@ export function opacityForZoom(cfg, zoom) {
89
89
  }
90
90
  return zoom >= cfg.zoom ? cfg.opacity : 1;
91
91
  }
92
+ /**
93
+ * Resolves the effective route-based transparency for a placement, applying precedence:
94
+ * placement > asset > global. Returns `undefined` when none is configured, which disables
95
+ * route transparency for that model (a route crossing it leaves its opacity unchanged).
96
+ */
97
+ export function resolveRouteTransparency(models, asset, placement) {
98
+ var _a, _b;
99
+ return (_b = (_a = placement.routeTransparency) !== null && _a !== void 0 ? _a : asset === null || asset === void 0 ? void 0 : asset.routeTransparency) !== null && _b !== void 0 ? _b : models.routeTransparency;
100
+ }
101
+ /**
102
+ * Whether a point already expressed in the model's local space falls within its x/z footprint.
103
+ * @internal
104
+ */
105
+ export function pointInFootprint(footprint, localX, localZ) {
106
+ return (localX >= footprint.minX &&
107
+ localX <= footprint.maxX &&
108
+ localZ >= footprint.minZ &&
109
+ localZ <= footprint.maxZ);
110
+ }
111
+ /**
112
+ * Effective opacity for a placed model: the more transparent of its zoom-based value and, when a
113
+ * route currently crosses it, its route-based value. Route transparency only participates when a
114
+ * {@link RouteTransparencyConfig} is configured (`routeCfg` present) and the model is currently
115
+ * crossed by a route (`routeAffected`).
116
+ * @internal
117
+ */
118
+ export function effectiveModelOpacity(zoomCfg, routeCfg, zoom, routeAffected) {
119
+ const zoomOpacity = opacityForZoom(zoomCfg, zoom);
120
+ const routeOpacity = routeAffected && routeCfg ? routeCfg.opacity : 1;
121
+ return Math.min(zoomOpacity, routeOpacity);
122
+ }
92
123
  /**
93
124
  * Whether a GLB placement should be visible for the given floor key.
94
125
  */
@@ -1 +1 @@
1
- {"version":3,"file":"3d.js","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"3d.js","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"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"}