@nika-js/onlymap 0.2.3 → 0.3.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 (62) hide show
  1. package/.vscode/onlymap.code-snippets +13 -0
  2. package/LICENSE.md +4 -0
  3. package/README.md +30 -7
  4. package/THIRD-PARTY-LICENSES.md +7874 -0
  5. package/dist/{Arrow.dom-7AXne1TU.js → Arrow.dom-BNjbQ9jb.js} +23 -23
  6. package/dist/LercDecode.es-CVmNpXBp.js +303 -0
  7. package/dist/assets/LercDecode.es-BJb2dZu5.js +305 -0
  8. package/dist/assets/__vite-browser-external-DDArsqdc.js +29 -0
  9. package/dist/assets/lerc-wasm.wasm +0 -0
  10. package/dist/assets/lzw-BY5a_5nb.js +83 -0
  11. package/dist/assets/worker-DtIrTJB7.js +305 -0
  12. package/dist/assets/zstd-QGAv3PMm.js +383 -0
  13. package/dist/{basemap-BdvB-SHy.js → basemap-BSb-g03Z.js} +5729 -5684
  14. package/dist/basemap-registry.d.ts +10 -0
  15. package/dist/basemap.d.ts +23 -0
  16. package/dist/color.d.ts +9 -0
  17. package/dist/{convert-arrow-schema-CvZ3cT5m.js → convert-arrow-schema-DrAihRf9.js} +31 -31
  18. package/dist/ctx.d.ts +3 -0
  19. package/dist/deck.d.ts +28 -0
  20. package/dist/deck.js +16 -0
  21. package/dist/elements/om-map.d.ts +29 -0
  22. package/dist/html-data.d.ts +2 -2
  23. package/dist/index-CIEkseeV.js +3108 -0
  24. package/dist/index-D67FynN5.js +594 -0
  25. package/dist/{index-CJOMgp8k.js → index-QSkZjzIL.js} +4 -4
  26. package/dist/index-WeMwLoaQ.js +1446 -0
  27. package/dist/{index-BxzDKZpu.js → index-lV5eG2Xt.js} +22439 -21347
  28. package/dist/index.d.ts +13 -0
  29. package/dist/ir-snapshot.d.ts +2 -0
  30. package/dist/ir.d.ts +10 -0
  31. package/dist/layer-registry.d.ts +15 -1
  32. package/dist/legend-spec.d.ts +66 -0
  33. package/dist/lerc-DJzRIT6z.js +30 -0
  34. package/dist/lerc-wasm.wasm +0 -0
  35. package/dist/lzw-BY5a_5nb.js +83 -0
  36. package/dist/mgrs-BY9bIvp4.js +799 -0
  37. package/dist/onlymapjs.css +1 -1
  38. package/dist/onlymapjs.js +55 -35
  39. package/dist/programmatic.d.ts +35 -0
  40. package/dist/raster-BKf1dx54.js +8843 -0
  41. package/dist/raster.d.ts +61 -0
  42. package/dist/react/om-layer.d.ts +2 -0
  43. package/dist/react.js +18 -16
  44. package/dist/{recordbatch-HRu0SMKp.js → recordbatch-Bpc0uxFn.js} +200 -200
  45. package/dist/runtime-core.d.ts +73 -1
  46. package/dist/scene-lighting.d.ts +83 -0
  47. package/dist/selection.d.ts +1 -1
  48. package/dist/snapshot.d.ts +14 -0
  49. package/dist/{table-accessors-DBjWgN0C.js → table-accessors-CYWTzpQI.js} +71 -76
  50. package/dist/terrain.d.ts +113 -0
  51. package/dist/version.d.ts +1 -1
  52. package/dist/zstd-jXobGRcq.js +14 -0
  53. package/docs/custom-layers.md +99 -0
  54. package/llms.txt +5 -5
  55. package/onlymapjs.html-data.json +163 -29
  56. package/package.json +35 -15
  57. package/skills/onlymapjs/SKILL.md +3 -1
  58. package/skills/onlymapjs/references/syntax.md +53 -3
  59. package/dist/index-BVQ0s1Zh.js +0 -1457
  60. package/dist/index-CvBHiOGD.js +0 -605
  61. package/dist/index-Vc8QfNEf.js +0 -3907
  62. package/dist/onlymapjs.umd.cjs +0 -8634
@@ -180,7 +180,7 @@ function q(e, t) {
180
180
  yield L(yield* ye(Wt(ve((function* (a) {
181
181
  let c = null;
182
182
  do
183
- c = a.next(yield c == null ? void 0 : c.value);
183
+ c = a.next(yield c?.value);
184
184
  while (!c.done);
185
185
  })(o[Symbol.iterator]())))));
186
186
  });
@@ -454,87 +454,87 @@ var Mn, Nn, Un, Cn, Fn, Ln, En, Vn, xn, kn, jn, zn, $n, Pn, Rn, Yn, Wn, Hn, Kn,
454
454
  class A {
455
455
  /** @nocollapse */
456
456
  static isNull(t) {
457
- return (t == null ? void 0 : t.typeId) === l.Null;
457
+ return t?.typeId === l.Null;
458
458
  }
459
459
  /** @nocollapse */
460
460
  static isInt(t) {
461
- return (t == null ? void 0 : t.typeId) === l.Int;
461
+ return t?.typeId === l.Int;
462
462
  }
463
463
  /** @nocollapse */
464
464
  static isFloat(t) {
465
- return (t == null ? void 0 : t.typeId) === l.Float;
465
+ return t?.typeId === l.Float;
466
466
  }
467
467
  /** @nocollapse */
468
468
  static isBinary(t) {
469
- return (t == null ? void 0 : t.typeId) === l.Binary;
469
+ return t?.typeId === l.Binary;
470
470
  }
471
471
  /** @nocollapse */
472
472
  static isLargeBinary(t) {
473
- return (t == null ? void 0 : t.typeId) === l.LargeBinary;
473
+ return t?.typeId === l.LargeBinary;
474
474
  }
475
475
  /** @nocollapse */
476
476
  static isUtf8(t) {
477
- return (t == null ? void 0 : t.typeId) === l.Utf8;
477
+ return t?.typeId === l.Utf8;
478
478
  }
479
479
  /** @nocollapse */
480
480
  static isLargeUtf8(t) {
481
- return (t == null ? void 0 : t.typeId) === l.LargeUtf8;
481
+ return t?.typeId === l.LargeUtf8;
482
482
  }
483
483
  /** @nocollapse */
484
484
  static isBool(t) {
485
- return (t == null ? void 0 : t.typeId) === l.Bool;
485
+ return t?.typeId === l.Bool;
486
486
  }
487
487
  /** @nocollapse */
488
488
  static isDecimal(t) {
489
- return (t == null ? void 0 : t.typeId) === l.Decimal;
489
+ return t?.typeId === l.Decimal;
490
490
  }
491
491
  /** @nocollapse */
492
492
  static isDate(t) {
493
- return (t == null ? void 0 : t.typeId) === l.Date;
493
+ return t?.typeId === l.Date;
494
494
  }
495
495
  /** @nocollapse */
496
496
  static isTime(t) {
497
- return (t == null ? void 0 : t.typeId) === l.Time;
497
+ return t?.typeId === l.Time;
498
498
  }
499
499
  /** @nocollapse */
500
500
  static isTimestamp(t) {
501
- return (t == null ? void 0 : t.typeId) === l.Timestamp;
501
+ return t?.typeId === l.Timestamp;
502
502
  }
503
503
  /** @nocollapse */
504
504
  static isInterval(t) {
505
- return (t == null ? void 0 : t.typeId) === l.Interval;
505
+ return t?.typeId === l.Interval;
506
506
  }
507
507
  /** @nocollapse */
508
508
  static isDuration(t) {
509
- return (t == null ? void 0 : t.typeId) === l.Duration;
509
+ return t?.typeId === l.Duration;
510
510
  }
511
511
  /** @nocollapse */
512
512
  static isList(t) {
513
- return (t == null ? void 0 : t.typeId) === l.List;
513
+ return t?.typeId === l.List;
514
514
  }
515
515
  /** @nocollapse */
516
516
  static isStruct(t) {
517
- return (t == null ? void 0 : t.typeId) === l.Struct;
517
+ return t?.typeId === l.Struct;
518
518
  }
519
519
  /** @nocollapse */
520
520
  static isUnion(t) {
521
- return (t == null ? void 0 : t.typeId) === l.Union;
521
+ return t?.typeId === l.Union;
522
522
  }
523
523
  /** @nocollapse */
524
524
  static isFixedSizeBinary(t) {
525
- return (t == null ? void 0 : t.typeId) === l.FixedSizeBinary;
525
+ return t?.typeId === l.FixedSizeBinary;
526
526
  }
527
527
  /** @nocollapse */
528
528
  static isFixedSizeList(t) {
529
- return (t == null ? void 0 : t.typeId) === l.FixedSizeList;
529
+ return t?.typeId === l.FixedSizeList;
530
530
  }
531
531
  /** @nocollapse */
532
532
  static isMap(t) {
533
- return (t == null ? void 0 : t.typeId) === l.Map;
533
+ return t?.typeId === l.Map;
534
534
  }
535
535
  /** @nocollapse */
536
536
  static isDictionary(t) {
537
- return (t == null ? void 0 : t.typeId) === l.Dictionary;
537
+ return t?.typeId === l.Dictionary;
538
538
  }
539
539
  /** @nocollapse */
540
540
  static isDenseUnion(t) {
@@ -982,10 +982,10 @@ we[Gn] = ((e) => (e.children = null, e.listSize = null, e[Symbol.toStringTag] =
982
982
  class Ae extends A {
983
983
  constructor(t, n = !1) {
984
984
  var i, r, s;
985
- if (super(l.Map), this.children = [t], this.keysSorted = n, t && (t.name = "entries", !((i = t == null ? void 0 : t.type) === null || i === void 0) && i.children)) {
986
- const o = (r = t == null ? void 0 : t.type) === null || r === void 0 ? void 0 : r.children[0];
985
+ if (super(l.Map), this.children = [t], this.keysSorted = n, t && (t.name = "entries", !((i = t?.type) === null || i === void 0) && i.children)) {
986
+ const o = (r = t?.type) === null || r === void 0 ? void 0 : r.children[0];
987
987
  o && (o.name = "key");
988
- const a = (s = t == null ? void 0 : t.type) === null || s === void 0 ? void 0 : s.children[1];
988
+ const a = (s = t?.type) === null || s === void 0 ? void 0 : s.children[1];
989
989
  a && (a.name = "value");
990
990
  }
991
991
  }
@@ -1119,7 +1119,7 @@ class _ {
1119
1119
  }
1120
1120
  }
1121
1121
  function bs(e, t, n = !0) {
1122
- return typeof t == "number" ? ft(e, t, n) : typeof t == "string" && t in l ? ft(e, l[t], n) : t && t instanceof A ? ft(e, gn(t), n) : t != null && t.type && t.type instanceof A ? ft(e, gn(t.type), n) : ft(e, l.NONE, n);
1122
+ return typeof t == "number" ? ft(e, t, n) : typeof t == "string" && t in l ? ft(e, l[t], n) : t && t instanceof A ? ft(e, gn(t), n) : t?.type && t.type instanceof A ? ft(e, gn(t.type), n) : ft(e, l.NONE, n);
1123
1123
  }
1124
1124
  function ft(e, t, n = !0) {
1125
1125
  let i = null;
@@ -3139,7 +3139,7 @@ class P {
3139
3139
  flush() {
3140
3140
  let t, n, i, r;
3141
3141
  const { type: s, length: o, nullCount: a, _typeIds: c, _offsets: u, _values: d, _nulls: h } = this;
3142
- (n = c == null ? void 0 : c.flush(o)) ? r = u == null ? void 0 : u.flush(o) : (r = u == null ? void 0 : u.flush(o)) ? t = d == null ? void 0 : d.flush(u.last()) : t = d == null ? void 0 : d.flush(o), a > 0 && (i = h == null ? void 0 : h.flush(o));
3142
+ (n = c?.flush(o)) ? r = u?.flush(o) : (r = u?.flush(o)) ? t = d?.flush(u.last()) : t = d?.flush(o), a > 0 && (i = h?.flush(o));
3143
3143
  const U = this.children.map((B) => B.flush());
3144
3144
  return this.clear(), M({
3145
3145
  type: s,
@@ -3621,7 +3621,7 @@ class on extends P {
3621
3621
  setValue(t, n, i) {
3622
3622
  this._typeIds.set(t, i);
3623
3623
  const r = this.type.typeIdToChildIndex[i], s = this.children[r];
3624
- s == null || s.set(t, n), this.length = Math.max(t + 1, this.length);
3624
+ s?.set(t, n), this.length = Math.max(t + 1, this.length);
3625
3625
  }
3626
3626
  addChild(t, n = `${this.children.length}`) {
3627
3627
  const i = this.children.push(t), { type: { children: r, mode: s, typeIds: o } } = this, a = [...r, new k(n, t.type)];
@@ -3642,7 +3642,7 @@ class jo extends on {
3642
3642
  /** @ignore */
3643
3643
  setValue(t, n, i) {
3644
3644
  const r = this._typeIds.set(t, i).buffer[t], s = this.getChildAt(this.type.typeIdToChildIndex[r]), o = this._offsets.set(t, s.length).buffer[t];
3645
- s == null || s.set(o, n), this.length = Math.max(t + 1, this.length);
3645
+ s?.set(o, n), this.length = Math.max(t + 1, this.length);
3646
3646
  }
3647
3647
  }
3648
3648
  class wr extends _t {
@@ -4088,12 +4088,12 @@ function Xo(e, t, n, i, r) {
4088
4088
  var s;
4089
4089
  const o = (t + 63 & -64) >> 3;
4090
4090
  for (let a = -1, c = i.length; ++a < c; ) {
4091
- const u = n[a], d = u == null ? void 0 : u.length;
4091
+ const u = n[a], d = u?.length;
4092
4092
  if (d >= t)
4093
4093
  d === t ? n[a] = u : (n[a] = u.slice(0, t), r.numBatches = Math.max(r.numBatches, i[a].unshift(u.slice(t, d - t))));
4094
4094
  else {
4095
4095
  const h = e[a];
4096
- e[a] = h.clone({ nullable: !0 }), n[a] = (s = u == null ? void 0 : u._changeLengthAndBackfillNullBitmap(t)) !== null && s !== void 0 ? s : M({
4096
+ e[a] = h.clone({ nullable: !0 }), n[a] = (s = u?._changeLengthAndBackfillNullBitmap(t)) !== null && s !== void 0 ? s : M({
4097
4097
  type: h.type,
4098
4098
  length: t,
4099
4099
  nullCount: t,
@@ -4530,7 +4530,7 @@ function wn(e, t, n = t.reduce((i, r) => Math.max(i, r.length), 0)) {
4530
4530
  const r = [...e.fields], s = [...t], o = (n + 63 & -64) >> 3;
4531
4531
  for (const [a, c] of e.fields.entries()) {
4532
4532
  const u = t[a];
4533
- (!u || u.length !== n) && (r[a] = c.clone({ nullable: !0 }), s[a] = (i = u == null ? void 0 : u._changeLengthAndBackfillNullBitmap(n)) !== null && i !== void 0 ? i : M({
4533
+ (!u || u.length !== n) && (r[a] = c.clone({ nullable: !0 }), s[a] = (i = u?._changeLengthAndBackfillNullBitmap(n)) !== null && i !== void 0 ? i : M({
4534
4534
  type: c.type,
4535
4535
  length: n,
4536
4536
  nullCount: n,
@@ -4544,15 +4544,15 @@ function wn(e, t, n = t.reduce((i, r) => Math.max(i, r.length), 0)) {
4544
4544
  }
4545
4545
  function Tr(e, t, n = /* @__PURE__ */ new Map()) {
4546
4546
  var i, r;
4547
- if (((i = e == null ? void 0 : e.length) !== null && i !== void 0 ? i : 0) > 0 && (e == null ? void 0 : e.length) === (t == null ? void 0 : t.length))
4547
+ if (((i = e?.length) !== null && i !== void 0 ? i : 0) > 0 && e?.length === t?.length)
4548
4548
  for (let s = -1, o = e.length; ++s < o; ) {
4549
4549
  const { type: a } = e[s], c = t[s];
4550
- for (const u of [c, ...((r = c == null ? void 0 : c.dictionary) === null || r === void 0 ? void 0 : r.data) || []])
4551
- Tr(a.children, u == null ? void 0 : u.children, n);
4550
+ for (const u of [c, ...((r = c?.dictionary) === null || r === void 0 ? void 0 : r.data) || []])
4551
+ Tr(a.children, u?.children, n);
4552
4552
  if (A.isDictionary(a)) {
4553
4553
  const { id: u } = a;
4554
4554
  if (!n.has(u))
4555
- c != null && c.dictionary && n.set(u, c.dictionary);
4555
+ c?.dictionary && n.set(u, c.dictionary);
4556
4556
  else if (n.get(u) !== c.dictionary)
4557
4557
  throw new Error("Cannot create Schema containing two different dictionaries with the same Id");
4558
4558
  }
@@ -4566,177 +4566,177 @@ class Va extends V {
4566
4566
  }
4567
4567
  }
4568
4568
  export {
4569
- ea as $,
4570
- A,
4569
+ W as $,
4570
+ R as A,
4571
4571
  Se as B,
4572
- Nr as C,
4573
- Z as D,
4574
- oa as E,
4572
+ M as C,
4573
+ pn as D,
4574
+ sn as E,
4575
4575
  k as F,
4576
- Vr as G,
4577
- ia as H,
4578
- j as I,
4579
- Dn as J,
4580
- Fr as K,
4576
+ L as G,
4577
+ N as H,
4578
+ Ia as I,
4579
+ jr as J,
4580
+ os as K,
4581
4581
  qt as L,
4582
- be as M,
4582
+ Ae as M,
4583
4583
  Ft as N,
4584
- Lr as O,
4585
- x as P,
4586
- Wt as Q,
4587
- Pi as R,
4584
+ Qr as O,
4585
+ ta as P,
4586
+ Z as Q,
4587
+ V as R,
4588
4588
  C as S,
4589
- y as T,
4590
- K as U,
4591
- _ as V,
4592
- O as W,
4593
- ne as X,
4594
- M as Y,
4595
- na as Z,
4589
+ va as T,
4590
+ Ie as U,
4591
+ y as V,
4592
+ x as W,
4593
+ j as X,
4594
+ K as Y,
4595
+ be as Z,
4596
4596
  Nt as _,
4597
- L as a,
4598
- Qn as a$,
4599
- Er as a0,
4600
- Va as a1,
4601
- V as a2,
4602
- D as a3,
4603
- ye as a4,
4604
- _e as a5,
4605
- hs as a6,
4606
- it as a7,
4607
- le as a8,
4608
- $i as a9,
4609
- sr as aA,
4610
- Ba as aB,
4611
- jo as aC,
4612
- So as aD,
4613
- Bt as aE,
4614
- Da as aF,
4615
- hr as aG,
4616
- Aa as aH,
4617
- dr as aI,
4618
- _a as aJ,
4619
- yr as aK,
4620
- wa as aL,
4621
- ur as aM,
4622
- or as aN,
4623
- wo as aO,
4624
- gs as aP,
4625
- Ao as aQ,
4626
- ii as aR,
4627
- Do as aS,
4628
- Ue as aT,
4629
- _o as aU,
4630
- ue as aV,
4631
- Xn as aW,
4632
- To as aX,
4633
- Oo as aY,
4634
- Ne as aZ,
4635
- Mo as a_,
4636
- tn as aa,
4637
- re as ab,
4638
- ra as ac,
4639
- sa as ad,
4640
- Go as ae,
4641
- R as af,
4642
- H as ag,
4643
- Zo as ah,
4644
- xt as ai,
4645
- ca as aj,
4646
- Na as ak,
4647
- Oa as al,
4648
- aa as am,
4649
- Ma as an,
4650
- la as ao,
4651
- Jo as ap,
4652
- Ua as aq,
4653
- P as ar,
4654
- er as as,
4655
- Io as at,
4656
- T as au,
4657
- ce as av,
4658
- ua as aw,
4659
- ir as ax,
4660
- da as ay,
4661
- rr as az,
4662
- os as b,
4663
- Bo as b0,
4664
- ot as b1,
4665
- zt as b2,
4666
- ba as b3,
4667
- ar as b4,
4668
- Sa as b5,
4669
- cr as b6,
4670
- Ia as b7,
4671
- lr as b8,
4672
- nr as b9,
4673
- pr as bA,
4674
- l as bB,
4675
- ti as bC,
4676
- Uo as bD,
4677
- ei as bE,
4678
- Co as bF,
4679
- ni as bG,
4680
- Fo as bH,
4681
- Zn as bI,
4682
- No as bJ,
4683
- on as bK,
4684
- wr as bL,
4685
- Fa as bM,
4686
- qo as bN,
4687
- La as bO,
4688
- sn as bP,
4597
+ Y as a,
4598
+ hr as a$,
4599
+ _ as a0,
4600
+ Qt as a1,
4601
+ yn as a2,
4602
+ hn as a3,
4603
+ fn as a4,
4604
+ Vt as a5,
4605
+ Dt as a6,
4606
+ Et as a7,
4607
+ At as a8,
4608
+ wt as a9,
4609
+ tn as aA,
4610
+ re as aB,
4611
+ ra as aC,
4612
+ sa as aD,
4613
+ Go as aE,
4614
+ H as aF,
4615
+ Zo as aG,
4616
+ ca as aH,
4617
+ Na as aI,
4618
+ Oa as aJ,
4619
+ aa as aK,
4620
+ Ma as aL,
4621
+ la as aM,
4622
+ Jo as aN,
4623
+ Ua as aO,
4624
+ P as aP,
4625
+ er as aQ,
4626
+ Io as aR,
4627
+ ce as aS,
4628
+ ir as aT,
4629
+ rr as aU,
4630
+ sr as aV,
4631
+ Ba as aW,
4632
+ jo as aX,
4633
+ So as aY,
4634
+ Bt as aZ,
4635
+ Da as a_,
4636
+ Jt as aa,
4637
+ Lt as ab,
4638
+ tt as ac,
4639
+ A as ad,
4640
+ Nr as ae,
4641
+ oa as af,
4642
+ Vr as ag,
4643
+ ia as ah,
4644
+ Dn as ai,
4645
+ Fr as aj,
4646
+ Lr as ak,
4647
+ Wt as al,
4648
+ Pi as am,
4649
+ O as an,
4650
+ ne as ao,
4651
+ na as ap,
4652
+ ea as aq,
4653
+ Er as ar,
4654
+ Va as as,
4655
+ D as at,
4656
+ ye as au,
4657
+ _e as av,
4658
+ hs as aw,
4659
+ it as ax,
4660
+ le as ay,
4661
+ $i as az,
4662
+ we as b,
4663
+ Aa as b0,
4664
+ dr as b1,
4665
+ _a as b2,
4666
+ yr as b3,
4667
+ wa as b4,
4668
+ ur as b5,
4669
+ or as b6,
4670
+ wo as b7,
4671
+ Ao as b8,
4672
+ Do as b9,
4673
+ vr as bA,
4674
+ Tt as bB,
4675
+ gr as bC,
4676
+ fr as bD,
4677
+ mr as bE,
4678
+ pr as bF,
4679
+ l as bG,
4680
+ Uo as bH,
4681
+ Co as bI,
4682
+ Fo as bJ,
4683
+ No as bK,
4684
+ on as bL,
4685
+ wr as bM,
4686
+ Fa as bN,
4687
+ qo as bO,
4688
+ La as bP,
4689
4689
  Ea as bQ,
4690
4690
  Ca as bR,
4691
4691
  Dr as bS,
4692
- Ar as ba,
4693
- Lo as bb,
4694
- Eo as bc,
4695
- se as bd,
4696
- Vo as be,
4697
- Ta as bf,
4698
- ko as bg,
4699
- xo as bh,
4700
- Xe as bi,
4701
- Ot as bj,
4702
- pa as bk,
4703
- Ir as bl,
4704
- ya as bm,
4705
- br as bn,
4706
- fa as bo,
4707
- Sr as bp,
4708
- ha as bq,
4709
- vr as br,
4710
- Tt as bs,
4711
- ma as bt,
4712
- gr as bu,
4713
- ms as bv,
4714
- fr as bw,
4715
- va as bx,
4716
- mr as by,
4717
- ga as bz,
4718
- Qr as c,
4719
- ta as d,
4720
- W as e,
4721
- Me as f,
4722
- Qt as g,
4723
- Y as h,
4724
- yn as i,
4725
- jr as j,
4726
- Ie as k,
4727
- hn as l,
4728
- dn as m,
4729
- Ae as n,
4730
- we as o,
4731
- fn as p,
4732
- Vt as q,
4733
- Dt as r,
4734
- Et as s,
4735
- N as t,
4736
- At as u,
4737
- wt as v,
4738
- Jt as w,
4739
- pn as x,
4740
- Lt as y,
4741
- tt as z
4692
+ _o as ba,
4693
+ ue as bb,
4694
+ To as bc,
4695
+ Oo as bd,
4696
+ Mo as be,
4697
+ Bo as bf,
4698
+ ot as bg,
4699
+ zt as bh,
4700
+ ar as bi,
4701
+ Sa as bj,
4702
+ cr as bk,
4703
+ lr as bl,
4704
+ nr as bm,
4705
+ Ar as bn,
4706
+ Lo as bo,
4707
+ Eo as bp,
4708
+ se as bq,
4709
+ Vo as br,
4710
+ Ta as bs,
4711
+ ko as bt,
4712
+ xo as bu,
4713
+ Xe as bv,
4714
+ Ot as bw,
4715
+ Ir as bx,
4716
+ br as by,
4717
+ Sr as bz,
4718
+ ba as c,
4719
+ ma as d,
4720
+ ms as e,
4721
+ ga as f,
4722
+ fa as g,
4723
+ pa as h,
4724
+ ya as i,
4725
+ ha as j,
4726
+ da as k,
4727
+ ua as l,
4728
+ Ue as m,
4729
+ ii as n,
4730
+ gs as o,
4731
+ ni as p,
4732
+ ei as q,
4733
+ ti as r,
4734
+ Zn as s,
4735
+ Ne as t,
4736
+ Me as u,
4737
+ Xn as v,
4738
+ Qn as w,
4739
+ dn as x,
4740
+ xt as y,
4741
+ T as z
4742
4742
  };
@@ -1,8 +1,10 @@
1
+ import { type LightingIR } from "./scene-lighting";
2
+ import { type TerrainIR } from "./terrain";
1
3
  import type { LayerIR } from "./ir";
2
4
  import { type Selection } from "./selection";
3
5
  import type { ValidationEntry } from "./validation";
4
6
  import type { MapViewport } from "./basemap";
5
- /** `basemap="mapbox-*"` isn't implemented — kept maplibre-free so validation/runtime can check without loading the chunk. */
7
+ /** Mapbox presets/protocol URLs aren't implemented — kept maplibre-free so validation/runtime can check without loading the chunk. */
6
8
  export declare function isMapboxBasemap(raw: string): boolean;
7
9
  export interface InitialView {
8
10
  longitude: number;
@@ -92,6 +94,42 @@ export declare class RuntimeCore {
92
94
  private rendererGeneration;
93
95
  /** Pre-gate descriptors — what a license settle re-reconciles from (lastIRs holds the GATED set the renderer sees). */
94
96
  private pregateIRs;
97
+ /**
98
+ * Scene lighting (spec: "Scene Lighting") — the retained IR, rebuilt into
99
+ * a LightingEffect on apply. Survives renderer remounts (initRenderer
100
+ * reads it, the lastIRs contract) and the lazy basemap-chunk window (the
101
+ * adapter constructor reads it on arrival). null = deck default lights.
102
+ */
103
+ private lighting;
104
+ /**
105
+ * Terrain (spec: "Terrain") — the retained surface IR. Non-null appends
106
+ * the internal terrain layer and patches drape/offset layers in
107
+ * buildLayers. `terrainGeneration` bumps on every terrain state change:
108
+ * extension sets must be BIRTH-stable, so patched layers get
109
+ * `#t<generation>`-based deck ids (fresh instances per flip — see
110
+ * applyTerrain); an explicit renderer-id map restores authored pick ids.
111
+ */
112
+ private terrain;
113
+ private terrainGeneration;
114
+ /** Rendered deck layer id → authored manifest/controller id (terrain uses fresh renderer ids). */
115
+ private renderedLayerIds;
116
+ /**
117
+ * The basemap attribute suppressed while terrain is active — a flat
118
+ * MapLibre canvas at sea level visibly desyncs from a raised surface
119
+ * (true coexistence is the interleaved-compositing TODO), so terrain
120
+ * forces standalone rendering and restores the basemap when it turns off.
121
+ */
122
+ private suppressedBasemapAttr?;
123
+ /**
124
+ * Snapshot capture queue (spec: "Snapshot API") — the WebGL context has
125
+ * no preserveDrawingBuffer, so pixels are only readable synchronously
126
+ * inside a post-render callback. snapshot() enqueues a capture and forces
127
+ * a redraw; the permanent onAfterRender (standalone Deck constructor)
128
+ * drains the queue while the drawing buffer is valid. `cancel` settles the
129
+ * promise when the renderer goes away before that frame renders (teardown/
130
+ * destroy) — a queued capture must never leave its caller hanging.
131
+ */
132
+ private snapshotCaptures;
95
133
  /** (layer, reason) pairs already reported — gate errors fire once per violation, not per reconcile. */
96
134
  private readonly gateWarned;
97
135
  private badge?;
@@ -105,6 +143,40 @@ export declare class RuntimeCore {
105
143
  * (none ↔ maplibre). Reads/seeds the camera from `this.viewState`.
106
144
  */
107
145
  private initRenderer;
146
+ /** The current lighting as a deck `effects` array — [] restores deck's default lights. */
147
+ private buildEffects;
148
+ /**
149
+ * Scene lighting (spec: "Scene Lighting") — swap the LightingEffect on
150
+ * the live renderer. null restores deck's default lights. Headless stores
151
+ * the IR (inspectable via the map's internal getter) with no renderer to
152
+ * drive; a change during the lazy basemap-chunk window is picked up by
153
+ * the adapter constructor (which reads `this.lighting` on arrival). A
154
+ * sunDate-driven sun resolves az/el HERE, against the current map center
155
+ * — deterministic per apply, not tracked per frame.
156
+ */
157
+ setLighting(ir: LightingIR | null): void;
158
+ getLightingInternal(): LightingIR | null;
159
+ /**
160
+ * Terrain on/off/source change (spec: "Terrain"). Bumps the generation
161
+ * (fresh deck ids for extension-carrying layers — birth-stable extension
162
+ * sets), swaps the renderer mode when needed (terrain suppresses an
163
+ * active basemap; turning it off restores the suppressed one), and
164
+ * re-applies layers. Headless stores the IR for inspection.
165
+ */
166
+ setTerrain(ir: TerrainIR | null): void;
167
+ getTerrainInternal(): TerrainIR | null;
168
+ private drainSnapshotCaptures;
169
+ /** Settle queued snapshot promises when the renderer they were waiting on goes away (mode flip / destroy) — never leave a caller hanging. */
170
+ private cancelSnapshotCaptures;
171
+ /**
172
+ * Canvas-only scene snapshot (spec: "Snapshot API") — the composite of
173
+ * basemap + deck canvases at device pixels, captured right after a forced
174
+ * repaint (no preserveDrawingBuffer in either context). DOM widgets,
175
+ * overlays, the badge, and the attribution control are NOT captured —
176
+ * consumers rendering exports must add provider credits themselves.
177
+ * Headless rejects (no renderer); pre-ready rejects (await map.ready).
178
+ */
179
+ snapshot(): Promise<HTMLCanvasElement>;
108
180
  /**
109
181
  * Live basemap change (spec: "Basemap presets & switching"), both paths:
110
182
  * - maplibre → maplibre: `map.setStyle()` — deck layers survive (the