@nika-js/onlymap 0.6.2 → 0.6.4

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 (33) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +2 -2
  3. package/dist/{LercDecode.es-BOJJr6Gx.js → LercDecode.es-D5in29tf.js} +1 -1
  4. package/dist/{basemap-BofXgXxy.js → basemap-C0pFT3AO.js} +1 -1
  5. package/dist/data-layer.d.ts +26 -4
  6. package/dist/elements/om-map.d.ts +1 -0
  7. package/dist/geodesy.d.ts +3 -0
  8. package/dist/{geoparquet-DapHATA0.js → geoparquet-By98JVB0.js} +1 -1
  9. package/dist/{index-BmX6IId3.js → index-Bx9GFkrn.js} +1 -1
  10. package/dist/{index-SPJVn_n_.js → index-CqC4sW_k.js} +1 -1
  11. package/dist/{index-7B-6Cbzu.js → index-Cxo9mCw_.js} +12920 -12806
  12. package/dist/{index-BF9iO8Tq.js → index-olfncHIq.js} +1 -1
  13. package/dist/{index-xmJjZxQJ.js → index-tnlYDALL.js} +2 -2
  14. package/dist/index.d.ts +3 -1
  15. package/dist/{lerc-C6k7EzSN.js → lerc-gKDDtc69.js} +2 -2
  16. package/dist/license.d.ts +16 -2
  17. package/dist/measure-controller.d.ts +28 -4
  18. package/dist/onlymap.standalone.js +22003 -21889
  19. package/dist/onlymapjs.js +33 -32
  20. package/dist/programmatic.d.ts +18 -3
  21. package/dist/{raster-Cuzhibe2.js → raster-Cl5m3KsC.js} +2 -2
  22. package/dist/{raster-pipeline-DLrnJK8y.js → raster-pipeline-hJGxIwYx.js} +1 -1
  23. package/dist/version.d.ts +1 -1
  24. package/dist/{zarr-CUzEX8fB.js → zarr-hRDavRGV.js} +2 -2
  25. package/docs/3d-assets.md +1 -1
  26. package/docs/live-data.md +17 -0
  27. package/docs/react.md +9 -1
  28. package/llms.txt +2 -2
  29. package/package.json +1 -1
  30. package/skills/onlymapjs/SKILL.md +3 -3
  31. package/skills/onlymapjs/references/react.md +1 -1
  32. package/skills/onlymapjs/references/syntax.md +3 -3
  33. package/skills/onlymapjs/references/testing.md +6 -0
@@ -1,4 +1,4 @@
1
- import { ag as Be, ah as le, ai as ce, aj as De, ak as Oe, al as ke } from "./index-7B-6Cbzu.js";
1
+ import { ag as Be, ah as le, ai as ce, aj as De, ak as Oe, al as ke } from "./index-Cxo9mCw_.js";
2
2
  import { y as ve, a as he, z as G, R as J, A as ue, C as Fe, F as je, n as xe, S as Ie, E as Ne } from "./recordbatch-Bpc0uxFn.js";
3
3
  import { g as V, a as fe, b as Le, c as Ue, d as Me, e as qe, m as Ve } from "./table-accessors-CYWTzpQI.js";
4
4
  import { c as $e } from "./convert-arrow-schema-DrAihRf9.js";
@@ -1,5 +1,5 @@
1
- import { i as E, j as S, k as R, o as N, p as h, q as w, s as O, t as W, v as x, w as I, x as B, y as _, A as P, B as k, E as $, F as z, H as v, I as F, J as C, K as U, N as p, O as M } from "./index-7B-6Cbzu.js";
2
- import { P as $e, R as ze, _ as ve, Q as Ce, S as Ue, T as Me, U as je, X as De, Y as Je, Z as qe, $ as He, a0 as Ve, a1 as Ge, a2 as Ke, a3 as Qe, a4 as Xe, a5 as Ye, a6 as Ze, a7 as et, a8 as tt, a9 as nt, aa as rt, ab as at, ac as st, ad as ot } from "./index-7B-6Cbzu.js";
1
+ import { i as E, j as S, k as R, o as N, p as h, q as w, s as O, t as W, v as x, w as I, x as B, y as _, A as P, B as k, E as $, F as z, H as v, I as F, J as C, K as U, N as p, O as M } from "./index-Cxo9mCw_.js";
2
+ import { P as $e, R as ze, _ as ve, Q as Ce, S as Ue, T as Me, U as je, X as De, Y as Je, Z as qe, $ as He, a0 as Ve, a1 as Ge, a2 as Ke, a3 as Qe, a4 as Xe, a5 as Ye, a6 as Ze, a7 as et, a8 as tt, a9 as nt, aa as rt, ab as at, ac as st, ad as ot } from "./index-Cxo9mCw_.js";
3
3
  import { g as j, i as D } from "./table-accessors-CYWTzpQI.js";
4
4
  async function J(t, e, n = {}, r = {}) {
5
5
  const a = E(t), s = S.getWorkerFarm(n), { source: o } = n, c = { name: a, source: o };
package/dist/index.d.ts CHANGED
@@ -72,6 +72,8 @@ export type { Entitlements, LicenseIdentity } from "./license";
72
72
  export type { RuntimeContext } from "./ctx";
73
73
  export { MapController, descriptorToIR, snapshotDescriptorIR } from "./programmatic";
74
74
  export type { LayerDescriptor, MapControllerOptions, CameraState, OverlayPositioner, PickListener } from "./programmatic";
75
+ export { releaseDataOwner } from "./data-layer";
76
+ export type { DataTransportOwner } from "./data-layer";
75
77
  export { MANAGED_SLOTS, LEGACY_POSITION_ALIASES, ALL_POSITION_VALUES, FOLD_SIDES, resolveSlot, slotLayout, slotContainerStyle, foldSideForSlot, foldToggleSlot, foldDrawerStyle, foldPanelStyle, foldToggleStyle, resolveFoldBreakpointPx, shouldFoldAtWidth, DEFAULT_FOLD_BREAKPOINT_PX, FOLD_HYSTERESIS_PX, parseWidgetStyle, WIDGET_STYLE_KEY_NAMES, } from "./widget-layout";
76
78
  export type { ManagedSlot, WidgetSlot, FoldSide, SlotLayout, WidgetStyleParse } from "./widget-layout";
77
79
  export { auditLayout, settleLayout, DEFAULT_AUDIT_WIDTHS, EDGE_TOLERANCE_PX, AUDIT_EXEMPTIONS } from "./layout-audit";
@@ -85,7 +87,7 @@ export type { MapViewport } from "./basemap";
85
87
  export { registerAction } from "./actions";
86
88
  export { distanceMeters, pathLengthMeters, ringAreaMeters2, ringPerimeterMeters, ringEnclosesPole, midpoint, getMeasureRadiusMeters, setMeasureRadiusMeters, WGS84_MEAN_RADIUS_M, type LngLat, } from "./geodesy";
87
89
  export { formatLength, formatArea, niceNumber, scaleBarStep, parseUnitSystem, UNIT_SYSTEMS, type UnitSystem } from "./units";
88
- export type { MeasureMode, MeasureReadout } from "./measure-controller";
90
+ export type { MeasureMode, MeasureReadout, ProfilePoint } from "./measure-controller";
89
91
  export type { ActionHandler } from "./actions";
90
92
  export { validateManifestString, validateManifest } from "./validation";
91
93
  export type { ValidationResult, ValidationEntry } from "./validation";
@@ -1,4 +1,4 @@
1
- import { C as a, D as s } from "./raster-Cuzhibe2.js";
1
+ import { C as a, D as s } from "./raster-Cl5m3KsC.js";
2
2
  const D = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3
3
  __proto__: null
4
4
  }, Symbol.toStringTag, { value: "Module" }));
@@ -8,7 +8,7 @@ var t;
8
8
  })(t || (t = {}));
9
9
  let l = !1;
10
10
  async function d() {
11
- const e = await import("./LercDecode.es-BOJJr6Gx.js");
11
+ const e = await import("./LercDecode.es-D5in29tf.js");
12
12
  return l || (await e.load(), l = !0), e;
13
13
  }
14
14
  async function i(e, r) {
package/dist/license.d.ts CHANGED
@@ -13,8 +13,22 @@
13
13
  * dev/tools/sign-license.mjs (private key never in the repo). Keys are
14
14
  * PUBLISHABLE, deployment-restricted via a web `domains` claim and/or a
15
15
  * packaged-app `apps` claim — they MAY appear in markup, unlike data
16
- * credentials. Native shells must obtain app identity from trusted platform
17
- * APIs, never from bridge JSON controlled by page code.
16
+ * credentials.
17
+ *
18
+ * The two claims are NOT equally enforceable, and neither is a security
19
+ * boundary. `domains` is checked against a hostname the browser pins;
20
+ * `apps` is checked against an identifier the caller passes in, so any page
21
+ * holding the key can assert any app id (bundle ids are public and app
22
+ * bundles unpack trivially). Native shells must therefore read app identity
23
+ * from trusted platform APIs, never from bridge JSON controlled by page
24
+ * code — but that is a host obligation this module cannot verify. No
25
+ * origin-sniffing gate guards it either: packaged hosts land on origins
26
+ * indistinguishable from the web (Capacitor Android serves http://localhost,
27
+ * WebViewAssetLoader serves any configured https domain), so a heuristic
28
+ * would downgrade paying customers to the free tier — and the packaged
29
+ * contexts worth protecting already lift every cap as DEV contexts below.
30
+ * Both claims are deterrents that make reuse attributable via `keyId`;
31
+ * packaged-app enforcement is LEGAL, not technical (see LICENSE.md).
18
32
  *
19
33
  * Decisions (spec, RESOLVED 2026-07-14; REVISED 2026-08-05): free tier =
20
34
  * 5 layers / 25k rows per layer / 20 MB fetch; any paid plan hides the
@@ -15,6 +15,26 @@ import { type UnitSystem } from "./units";
15
15
  import { type BaseSurfaceKind } from "./volumetrics";
16
16
  import type { RuntimeCore, GizmoDragEvent } from "./runtime-core";
17
17
  export type MeasureMode = "distance" | "area" | "volume";
18
+ /**
19
+ * One elevation-profile sample on the `om-measure` readout.
20
+ *
21
+ * `vertexIndex` is present ONLY on samples that ARE one of the drawn
22
+ * footprint's own vertices (0-based, in draw order; the closing sample back at
23
+ * the start carries the last index). Interpolated samples omit it entirely, so
24
+ * a Vega-Lite chart marks the real corners with `isValid(datum.vertexIndex)` —
25
+ * see `dev/examples/features/widgets/measure-cut-fill-volume.html`. Without
26
+ * this a reader cannot tell WHICH point on the map a place in the chart
27
+ * corresponds to; vertex 0 is the leftmost sample, and the measure tool marks
28
+ * that same point on the map with a "Start" badge.
29
+ */
30
+ export interface ProfilePoint {
31
+ /** Distance along the footprint's perimeter from the first vertex, in meters. */
32
+ x: number;
33
+ /** Terrain elevation at this sample, in meters. */
34
+ y: number;
35
+ /** 0-based index into the drawn footprint's vertices — present only on real vertices. */
36
+ vertexIndex?: number;
37
+ }
18
38
  /** Live readout dispatched as the `om-measure` event `detail` and consumed by the widget. */
19
39
  export interface MeasureReadout {
20
40
  mode: MeasureMode | null;
@@ -175,10 +195,7 @@ export interface MeasureReadout {
175
195
  * `dynamic-chart` widget reading it sees "not a real array" and leaves
176
196
  * whatever it last rendered alone — that's the whole "freeze" mechanism.
177
197
  */
178
- profileSeries?: Array<{
179
- x: number;
180
- y: number;
181
- }> | null;
198
+ profileSeries?: ProfilePoint[] | null;
182
199
  }
183
200
  export declare class MeasureController {
184
201
  private readonly mapEl;
@@ -489,6 +506,13 @@ export declare class MeasureController {
489
506
  * pair is live on commit/drag.
490
507
  */
491
508
  private ensureVolumeLayers;
509
+ /**
510
+ * Numbered vertex badges for the profile, in draw order. Only meaningful
511
+ * with `profile` on (nothing else references vertex order), and only once a
512
+ * ring exists — so it clears itself in every other state rather than
513
+ * lingering on a deleted footprint.
514
+ */
515
+ private buildProfileVertexMarkers;
492
516
  private removeLayers;
493
517
  }
494
518
  export declare function getMeasureController(mapEl: Element, core: RuntimeCore): MeasureController;