@nika-js/onlymap 0.6.18 → 0.6.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/basemap.d.ts CHANGED
@@ -48,7 +48,25 @@ export declare class MapLibreBasemapAdapter {
48
48
  zoom: number;
49
49
  pitch?: number;
50
50
  bearing?: number;
51
- }, deckProps: DeckProps, showAttribution?: boolean, attributionHost?: HTMLElement);
51
+ }, deckProps: DeckProps, showAttribution?: boolean, attributionHost?: HTMLElement, deterministic?: boolean);
52
+ /**
53
+ * whenSettled's basemap gate (issue #37 follow-up), as an EVENT LATCH
54
+ * rather than a polling predicate: MapLibre's `idle` event is its own
55
+ * definition of done — camera transitions finished, all requested tiles
56
+ * loaded, all fades/transitions complete — which is strictly stronger
57
+ * than `loaded() && areTilesLoaded()` (those say nothing about label
58
+ * fade/collision animation, the measured source of warm-page frame
59
+ * nondeterminism). The latch clears on anything that restarts work
60
+ * (camera writes, a source starting to load, a style change) and sets
61
+ * again only on the next `idle`, so `isIdle()` stays a synchronous read —
62
+ * settleOnce's `loaded()` shape — and both lanes plus `onlymapjs record`
63
+ * inherit it unchanged.
64
+ */
65
+ private idleLatch;
66
+ private wireIdleLatch;
67
+ isIdle(): boolean;
68
+ /** Camera writes from OUR side must clear the latch immediately — the map's own movestart fires a tick later, and a settle read in that gap would see stale idle. */
69
+ private markBusy;
52
70
  /** The overlay deck's live layers — whenSettled's readiness gate (issue #37). */
53
71
  getDeckLayers(): {
54
72
  isLoaded: boolean;
@@ -273,6 +273,8 @@ export declare class OmMapElement extends HTMLElementBase {
273
273
  }): Promise<{
274
274
  settled: boolean;
275
275
  }>;
276
+ /** Test surface: is the determinism switch active on the core (issue #37 — must be true BEFORE the first render when data-om-recording is authored; the basemap adapter reads it in its constructor). */
277
+ isDeterministicInternal(): boolean;
276
278
  injectMapPointInternal(coordinate: [number, number] | null, kind?: "click" | "hover", pointerType?: string): void;
277
279
  /** Harness setView (spec: "Consumer Testing Surface") — the one path that reaches pitch/bearing. */
278
280
  setViewInternal(partial: {
@@ -1,4 +1,4 @@
1
- import { r as p, n as d } from "./index-h5A4LBtR.js";
1
+ import { r as p, n as d } from "./index-CPthQWzC.js";
2
2
  function g(t) {
3
3
  if (t == null) return !0;
4
4
  const e = t, n = e.id?.code;
@@ -82,12 +82,11 @@ async function le() {
82
82
  const t = `${Tt}web-ifc-api.js`, e = await (await Lt(t)).text(), o = URL.createObjectURL(new Blob([e], { type: "text/javascript" }));
83
83
  let n;
84
84
  try {
85
- n = await import(
86
- /* @vite-ignore */
85
+ n = await import(/* webpackIgnore: true */ /* @vite-ignore */
87
86
  o
88
87
  );
89
88
  } catch {
90
- n = await import(`data:text/javascript;base64,${oe(new TextEncoder().encode(e))}`);
89
+ n = await import(/* webpackIgnore: true */ `data:text/javascript;base64,${oe(new TextEncoder().encode(e))}`);
91
90
  } finally {
92
91
  URL.revokeObjectURL(o);
93
92
  }
@@ -1,4 +1,4 @@
1
- import { ae as _t, af as Ct } from "./index-h5A4LBtR.js";
1
+ import { ae as _t, af as Ct } from "./index-CPthQWzC.js";
2
2
  function Yt(e, r, t = 2, i, o = "xy") {
3
3
  const s = r && r.length, l = s ? r[0] * t : e.length;
4
4
  let c = Ut(e, 0, l, t, !0, i && i[0], o);