@nika-js/onlymap 0.5.3 → 0.5.7

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 (38) hide show
  1. package/README.md +20 -7
  2. package/THIRD-PARTY-LICENSES.md +120 -0
  3. package/dist/{Arrow.dom-BNjbQ9jb.js → Arrow.dom-BFGShwSA.js} +854 -1427
  4. package/dist/{LercDecode.es-S6KKhkuA.js → LercDecode.es-Bp2rG98n.js} +1 -1
  5. package/dist/{basemap-BSCq9hHZ.js → basemap-CfOA0HWY.js} +1 -1
  6. package/dist/builder-CqJZRFaq.js +580 -0
  7. package/dist/data-layer.d.ts +4 -0
  8. package/dist/date-format.d.ts +18 -0
  9. package/dist/flatgeobuf-Cx0IwxhV.js +6332 -0
  10. package/dist/full.esm-Cl_Dig1y.js +1467 -0
  11. package/dist/geoparquet-kW7KUrwB.js +35 -0
  12. package/dist/geoparquet.d.ts +33 -0
  13. package/dist/image-overlay.d.ts +83 -0
  14. package/dist/{index-BCgjJcZn.js → index-BLy1eTWe.js} +1 -1
  15. package/dist/index-BYbMtNVH.js +2301 -0
  16. package/dist/{index-BoAq5XsU.js → index-CUKgoX_E.js} +13291 -12728
  17. package/dist/index-CgPV7QlM.js +4019 -0
  18. package/dist/{index-D1swbykc.js → index-CnY_rdB8.js} +1 -1
  19. package/dist/{index-DfNGlG_k.js → index-MRS7UAHr.js} +1 -1
  20. package/dist/{index-BTcRCrfX.js → index-wZ6n6ggy.js} +2 -2
  21. package/dist/index.d.ts +5 -1
  22. package/dist/ir-snapshot.d.ts +3 -1
  23. package/dist/ir.d.ts +18 -0
  24. package/dist/layer-registry.d.ts +2 -0
  25. package/dist/{lerc-n0GaWEmL.js → lerc-DWbkmLYR.js} +2 -2
  26. package/dist/onlymap.standalone.js +59664 -44945
  27. package/dist/onlymapjs.js +76 -74
  28. package/dist/{raster-DO-Ex2Lb.js → raster-5jEwGISN.js} +2 -2
  29. package/dist/validation.d.ts +1 -1
  30. package/dist/version.d.ts +1 -1
  31. package/docs/3d-assets.md +1 -1
  32. package/docs/image-overlays.md +75 -0
  33. package/llms.txt +7 -4
  34. package/onlymapjs.html-data.json +147 -86
  35. package/package.json +5 -1
  36. package/skills/onlymapjs/SKILL.md +4 -1
  37. package/skills/onlymapjs/references/syntax.md +120 -19
  38. package/skills/onlymapjs/references/testing.md +11 -2
@@ -281,6 +281,9 @@
281
281
  {
282
282
  "name": "IconLayer"
283
283
  },
284
+ {
285
+ "name": "ImageOverlay"
286
+ },
284
287
  {
285
288
  "name": "LineLayer"
286
289
  },
@@ -339,7 +342,7 @@
339
342
  },
340
343
  {
341
344
  "name": "data",
342
- "description": "Data URL (JSON, GeoJSON, CSV/TSV, Arrow/GeoArrow IPC, Shapefile .shp, KML) or wss:// stream; omit for inline <script type=\"application/json\">."
345
+ "description": "Data URL (JSON, GeoJSON, CSV/TSV, Arrow/GeoArrow IPC, Shapefile .shp, KML, GPX, FlatGeobuf .fgb, GeoParquet .parquet, CityJSON) or wss:// stream; omit for inline <script type=\"application/json\">."
343
346
  },
344
347
  {
345
348
  "name": "label",
@@ -430,19 +433,19 @@
430
433
  },
431
434
  {
432
435
  "name": "get-position",
433
- "description": "Accessor for deck.gl getPosition — expression language: $field, scale(), arithmetic."
436
+ "description": "Accessor for deck.gl getPosition — expression language: $field, scale(), formatDate(), arithmetic."
434
437
  },
435
438
  {
436
439
  "name": "get-fill-color",
437
- "description": "Accessor for deck.gl getFillColor — expression language: $field, scale(), arithmetic."
440
+ "description": "Accessor for deck.gl getFillColor — expression language: $field, scale(), formatDate(), arithmetic."
438
441
  },
439
442
  {
440
443
  "name": "get-line-color",
441
- "description": "Accessor for deck.gl getLineColor — expression language: $field, scale(), arithmetic."
444
+ "description": "Accessor for deck.gl getLineColor — expression language: $field, scale(), formatDate(), arithmetic."
442
445
  },
443
446
  {
444
447
  "name": "get-radius",
445
- "description": "Accessor for deck.gl getRadius — expression language: $field, scale(), arithmetic."
448
+ "description": "Accessor for deck.gl getRadius — expression language: $field, scale(), formatDate(), arithmetic."
446
449
  },
447
450
  {
448
451
  "name": "radius",
@@ -526,7 +529,7 @@
526
529
  },
527
530
  {
528
531
  "name": "highlight-color",
529
- "description": "Accessor for deck.gl highlightColor — expression language: $field, scale(), arithmetic."
532
+ "description": "Accessor for deck.gl highlightColor — expression language: $field, scale(), formatDate(), arithmetic."
530
533
  },
531
534
  {
532
535
  "name": "radius-scale",
@@ -558,15 +561,15 @@
558
561
  },
559
562
  {
560
563
  "name": "get-line-width",
561
- "description": "Accessor for deck.gl getLineWidth — expression language: $field, scale(), arithmetic."
564
+ "description": "Accessor for deck.gl getLineWidth — expression language: $field, scale(), formatDate(), arithmetic."
562
565
  },
563
566
  {
564
567
  "name": "get-pixel-offset",
565
- "description": "Accessor for deck.gl getPixelOffset — expression language: $field, scale(), arithmetic."
568
+ "description": "Accessor for deck.gl getPixelOffset — expression language: $field, scale(), formatDate(), arithmetic."
566
569
  },
567
570
  {
568
571
  "name": "get-point-radius",
569
- "description": "Accessor for deck.gl getPointRadius — expression language: $field, scale(), arithmetic."
572
+ "description": "Accessor for deck.gl getPointRadius — expression language: $field, scale(), formatDate(), arithmetic."
570
573
  },
571
574
  {
572
575
  "name": "point-radius-units",
@@ -578,7 +581,7 @@
578
581
  },
579
582
  {
580
583
  "name": "get-elevation",
581
- "description": "Accessor for deck.gl getElevation — expression language: $field, scale(), arithmetic."
584
+ "description": "Accessor for deck.gl getElevation — expression language: $field, scale(), formatDate(), arithmetic."
582
585
  },
583
586
  {
584
587
  "name": "extruded",
@@ -638,23 +641,23 @@
638
641
  },
639
642
  {
640
643
  "name": "get-icon",
641
- "description": "Accessor for deck.gl getIcon — expression language: $field, scale(), arithmetic."
644
+ "description": "Accessor for deck.gl getIcon — expression language: $field, scale(), formatDate(), arithmetic."
642
645
  },
643
646
  {
644
647
  "name": "get-icon-angle",
645
- "description": "Accessor for deck.gl getIconAngle — expression language: $field, scale(), arithmetic."
648
+ "description": "Accessor for deck.gl getIconAngle — expression language: $field, scale(), formatDate(), arithmetic."
646
649
  },
647
650
  {
648
651
  "name": "get-icon-color",
649
- "description": "Accessor for deck.gl getIconColor — expression language: $field, scale(), arithmetic."
652
+ "description": "Accessor for deck.gl getIconColor — expression language: $field, scale(), formatDate(), arithmetic."
650
653
  },
651
654
  {
652
655
  "name": "get-icon-pixel-offset",
653
- "description": "Accessor for deck.gl getIconPixelOffset — expression language: $field, scale(), arithmetic."
656
+ "description": "Accessor for deck.gl getIconPixelOffset — expression language: $field, scale(), formatDate(), arithmetic."
654
657
  },
655
658
  {
656
659
  "name": "get-icon-size",
657
- "description": "Accessor for deck.gl getIconSize — expression language: $field, scale(), arithmetic."
660
+ "description": "Accessor for deck.gl getIconSize — expression language: $field, scale(), formatDate(), arithmetic."
658
661
  },
659
662
  {
660
663
  "name": "text-size-max-pixels",
@@ -722,43 +725,43 @@
722
725
  },
723
726
  {
724
727
  "name": "get-text",
725
- "description": "Accessor for deck.gl getText — expression language: $field, scale(), arithmetic."
728
+ "description": "Accessor for deck.gl getText — expression language: $field, scale(), formatDate(), arithmetic."
726
729
  },
727
730
  {
728
731
  "name": "get-text-angle",
729
- "description": "Accessor for deck.gl getTextAngle — expression language: $field, scale(), arithmetic."
732
+ "description": "Accessor for deck.gl getTextAngle — expression language: $field, scale(), formatDate(), arithmetic."
730
733
  },
731
734
  {
732
735
  "name": "get-text-color",
733
- "description": "Accessor for deck.gl getTextColor — expression language: $field, scale(), arithmetic."
736
+ "description": "Accessor for deck.gl getTextColor — expression language: $field, scale(), formatDate(), arithmetic."
734
737
  },
735
738
  {
736
739
  "name": "get-text-pixel-offset",
737
- "description": "Accessor for deck.gl getTextPixelOffset — expression language: $field, scale(), arithmetic."
740
+ "description": "Accessor for deck.gl getTextPixelOffset — expression language: $field, scale(), formatDate(), arithmetic."
738
741
  },
739
742
  {
740
743
  "name": "get-text-size",
741
- "description": "Accessor for deck.gl getTextSize — expression language: $field, scale(), arithmetic."
744
+ "description": "Accessor for deck.gl getTextSize — expression language: $field, scale(), formatDate(), arithmetic."
742
745
  },
743
746
  {
744
747
  "name": "get-text-anchor",
745
- "description": "Accessor for deck.gl getTextAnchor — expression language: $field, scale(), arithmetic."
748
+ "description": "Accessor for deck.gl getTextAnchor — expression language: $field, scale(), formatDate(), arithmetic."
746
749
  },
747
750
  {
748
751
  "name": "get-text-alignment-baseline",
749
- "description": "Accessor for deck.gl getTextAlignmentBaseline — expression language: $field, scale(), arithmetic."
752
+ "description": "Accessor for deck.gl getTextAlignmentBaseline — expression language: $field, scale(), formatDate(), arithmetic."
750
753
  },
751
754
  {
752
755
  "name": "get-text-background-color",
753
- "description": "Accessor for deck.gl getTextBackgroundColor — expression language: $field, scale(), arithmetic."
756
+ "description": "Accessor for deck.gl getTextBackgroundColor — expression language: $field, scale(), formatDate(), arithmetic."
754
757
  },
755
758
  {
756
759
  "name": "get-text-border-color",
757
- "description": "Accessor for deck.gl getTextBorderColor — expression language: $field, scale(), arithmetic."
760
+ "description": "Accessor for deck.gl getTextBorderColor — expression language: $field, scale(), formatDate(), arithmetic."
758
761
  },
759
762
  {
760
763
  "name": "get-text-border-width",
761
- "description": "Accessor for deck.gl getTextBorderWidth — expression language: $field, scale(), arithmetic."
764
+ "description": "Accessor for deck.gl getTextBorderWidth — expression language: $field, scale(), formatDate(), arithmetic."
762
765
  },
763
766
  {
764
767
  "name": "line-joint-rounded",
@@ -790,7 +793,7 @@
790
793
  },
791
794
  {
792
795
  "name": "get-polygon",
793
- "description": "Accessor for deck.gl getPolygon — expression language: $field, scale(), arithmetic."
796
+ "description": "Accessor for deck.gl getPolygon — expression language: $field, scale(), formatDate(), arithmetic."
794
797
  },
795
798
  {
796
799
  "name": "full3d",
@@ -798,15 +801,15 @@
798
801
  },
799
802
  {
800
803
  "name": "get-subtext",
801
- "description": "Accessor for deck.gl getSubtext — expression language: $field, scale(), arithmetic."
804
+ "description": "Accessor for deck.gl getSubtext — expression language: $field, scale(), formatDate(), arithmetic."
802
805
  },
803
806
  {
804
807
  "name": "get-color",
805
- "description": "Accessor for deck.gl getColor — expression language: $field, scale(), arithmetic."
808
+ "description": "Accessor for deck.gl getColor — expression language: $field, scale(), formatDate(), arithmetic."
806
809
  },
807
810
  {
808
811
  "name": "get-size",
809
- "description": "Accessor for deck.gl getSize — expression language: $field, scale(), arithmetic."
812
+ "description": "Accessor for deck.gl getSize — expression language: $field, scale(), formatDate(), arithmetic."
810
813
  },
811
814
  {
812
815
  "name": "layout",
@@ -826,15 +829,15 @@
826
829
  },
827
830
  {
828
831
  "name": "get-orientation",
829
- "description": "Accessor for deck.gl getOrientation — expression language: $field, scale(), arithmetic."
832
+ "description": "Accessor for deck.gl getOrientation — expression language: $field, scale(), formatDate(), arithmetic."
830
833
  },
831
834
  {
832
835
  "name": "get-scale",
833
- "description": "Accessor for deck.gl getScale — expression language: $field, scale(), arithmetic."
836
+ "description": "Accessor for deck.gl getScale — expression language: $field, scale(), formatDate(), arithmetic."
834
837
  },
835
838
  {
836
839
  "name": "get-translation",
837
- "description": "Accessor for deck.gl getTranslation — expression language: $field, scale(), arithmetic."
840
+ "description": "Accessor for deck.gl getTranslation — expression language: $field, scale(), formatDate(), arithmetic."
838
841
  },
839
842
  {
840
843
  "name": "size-scale",
@@ -854,7 +857,7 @@
854
857
  },
855
858
  {
856
859
  "name": "get-transform-matrix",
857
- "description": "Accessor for deck.gl getTransformMatrix — expression language: $field, scale(), arithmetic."
860
+ "description": "Accessor for deck.gl getTransformMatrix — expression language: $field, scale(), formatDate(), arithmetic."
858
861
  },
859
862
  {
860
863
  "name": "tileset",
@@ -878,7 +881,7 @@
878
881
  },
879
882
  {
880
883
  "name": "get-point-color",
881
- "description": "Accessor for deck.gl getPointColor — expression language: $field, scale(), arithmetic."
884
+ "description": "Accessor for deck.gl getPointColor — expression language: $field, scale(), formatDate(), arithmetic."
882
885
  },
883
886
  {
884
887
  "name": "loader",
@@ -886,7 +889,55 @@
886
889
  },
887
890
  {
888
891
  "name": "src",
889
- "description": "deck.gl geotiff."
892
+ "description": "deck.gl src."
893
+ },
894
+ {
895
+ "name": "georeference",
896
+ "description": "deck.gl georeference."
897
+ },
898
+ {
899
+ "name": "sensor-width-mm",
900
+ "description": "deck.gl sensorWidthMm."
901
+ },
902
+ {
903
+ "name": "sensor-height-mm",
904
+ "description": "deck.gl sensorHeightMm."
905
+ },
906
+ {
907
+ "name": "focal-length-mm",
908
+ "description": "deck.gl focalLengthMm."
909
+ },
910
+ {
911
+ "name": "bounds",
912
+ "description": "deck.gl bounds."
913
+ },
914
+ {
915
+ "name": "metadata",
916
+ "description": "deck.gl metadata."
917
+ },
918
+ {
919
+ "name": "depth-test",
920
+ "description": "deck.gl parameters.depthTest."
921
+ },
922
+ {
923
+ "name": "image",
924
+ "description": "deck.gl image."
925
+ },
926
+ {
927
+ "name": "desaturate",
928
+ "description": "deck.gl desaturate."
929
+ },
930
+ {
931
+ "name": "transparent-color",
932
+ "description": "deck.gl transparentColor."
933
+ },
934
+ {
935
+ "name": "tint-color",
936
+ "description": "deck.gl tintColor."
937
+ },
938
+ {
939
+ "name": "texture-parameters",
940
+ "description": "deck.gl textureParameters."
890
941
  },
891
942
  {
892
943
  "name": "min",
@@ -906,31 +957,31 @@
906
957
  },
907
958
  {
908
959
  "name": "get-source-position",
909
- "description": "Accessor for deck.gl getSourcePosition — expression language: $field, scale(), arithmetic."
960
+ "description": "Accessor for deck.gl getSourcePosition — expression language: $field, scale(), formatDate(), arithmetic."
910
961
  },
911
962
  {
912
963
  "name": "get-target-position",
913
- "description": "Accessor for deck.gl getTargetPosition — expression language: $field, scale(), arithmetic."
964
+ "description": "Accessor for deck.gl getTargetPosition — expression language: $field, scale(), formatDate(), arithmetic."
914
965
  },
915
966
  {
916
967
  "name": "get-source-color",
917
- "description": "Accessor for deck.gl getSourceColor — expression language: $field, scale(), arithmetic."
968
+ "description": "Accessor for deck.gl getSourceColor — expression language: $field, scale(), formatDate(), arithmetic."
918
969
  },
919
970
  {
920
971
  "name": "get-target-color",
921
- "description": "Accessor for deck.gl getTargetColor — expression language: $field, scale(), arithmetic."
972
+ "description": "Accessor for deck.gl getTargetColor — expression language: $field, scale(), formatDate(), arithmetic."
922
973
  },
923
974
  {
924
975
  "name": "get-width",
925
- "description": "Accessor for deck.gl getWidth — expression language: $field, scale(), arithmetic."
976
+ "description": "Accessor for deck.gl getWidth — expression language: $field, scale(), formatDate(), arithmetic."
926
977
  },
927
978
  {
928
979
  "name": "get-height",
929
- "description": "Accessor for deck.gl getHeight — expression language: $field, scale(), arithmetic."
980
+ "description": "Accessor for deck.gl getHeight — expression language: $field, scale(), formatDate(), arithmetic."
930
981
  },
931
982
  {
932
983
  "name": "get-tilt",
933
- "description": "Accessor for deck.gl getTilt — expression language: $field, scale(), arithmetic."
984
+ "description": "Accessor for deck.gl getTilt — expression language: $field, scale(), formatDate(), arithmetic."
934
985
  },
935
986
  {
936
987
  "name": "great-circle",
@@ -956,34 +1007,10 @@
956
1007
  "name": "width-max-pixels",
957
1008
  "description": "deck.gl widthMaxPixels."
958
1009
  },
959
- {
960
- "name": "image",
961
- "description": "deck.gl image."
962
- },
963
- {
964
- "name": "bounds",
965
- "description": "deck.gl bounds."
966
- },
967
1010
  {
968
1011
  "name": "_image-coordinate-system",
969
1012
  "description": "deck.gl _imageCoordinateSystem."
970
1013
  },
971
- {
972
- "name": "desaturate",
973
- "description": "deck.gl desaturate."
974
- },
975
- {
976
- "name": "transparent-color",
977
- "description": "deck.gl transparentColor."
978
- },
979
- {
980
- "name": "tint-color",
981
- "description": "deck.gl tintColor."
982
- },
983
- {
984
- "name": "texture-parameters",
985
- "description": "deck.gl textureParameters."
986
- },
987
1014
  {
988
1015
  "name": "disk-resolution",
989
1016
  "description": "deck.gl diskResolution."
@@ -1026,7 +1053,7 @@
1026
1053
  },
1027
1054
  {
1028
1055
  "name": "get-angle",
1029
- "description": "Accessor for deck.gl getAngle — expression language: $field, scale(), arithmetic."
1056
+ "description": "Accessor for deck.gl getAngle — expression language: $field, scale(), formatDate(), arithmetic."
1030
1057
  },
1031
1058
  {
1032
1059
  "name": "joint-rounded",
@@ -1046,11 +1073,11 @@
1046
1073
  },
1047
1074
  {
1048
1075
  "name": "get-path",
1049
- "description": "Accessor for deck.gl getPath — expression language: $field, scale(), arithmetic."
1076
+ "description": "Accessor for deck.gl getPath — expression language: $field, scale(), formatDate(), arithmetic."
1050
1077
  },
1051
1078
  {
1052
1079
  "name": "get-normal",
1053
- "description": "Accessor for deck.gl getNormal — expression language: $field, scale(), arithmetic."
1080
+ "description": "Accessor for deck.gl getNormal — expression language: $field, scale(), formatDate(), arithmetic."
1054
1081
  },
1055
1082
  {
1056
1083
  "name": "_normalize",
@@ -1066,15 +1093,15 @@
1066
1093
  },
1067
1094
  {
1068
1095
  "name": "get-background-color",
1069
- "description": "Accessor for deck.gl getBackgroundColor — expression language: $field, scale(), arithmetic."
1096
+ "description": "Accessor for deck.gl getBackgroundColor — expression language: $field, scale(), formatDate(), arithmetic."
1070
1097
  },
1071
1098
  {
1072
1099
  "name": "get-border-color",
1073
- "description": "Accessor for deck.gl getBorderColor — expression language: $field, scale(), arithmetic."
1100
+ "description": "Accessor for deck.gl getBorderColor — expression language: $field, scale(), formatDate(), arithmetic."
1074
1101
  },
1075
1102
  {
1076
1103
  "name": "get-border-width",
1077
- "description": "Accessor for deck.gl getBorderWidth — expression language: $field, scale(), arithmetic."
1104
+ "description": "Accessor for deck.gl getBorderWidth — expression language: $field, scale(), formatDate(), arithmetic."
1078
1105
  },
1079
1106
  {
1080
1107
  "name": "background-border-radius",
@@ -1134,23 +1161,23 @@
1134
1161
  },
1135
1162
  {
1136
1163
  "name": "get-alignment-baseline",
1137
- "description": "Accessor for deck.gl getAlignmentBaseline — expression language: $field, scale(), arithmetic."
1164
+ "description": "Accessor for deck.gl getAlignmentBaseline — expression language: $field, scale(), formatDate(), arithmetic."
1138
1165
  },
1139
1166
  {
1140
1167
  "name": "get-content-box",
1141
- "description": "Accessor for deck.gl getContentBox — expression language: $field, scale(), arithmetic."
1168
+ "description": "Accessor for deck.gl getContentBox — expression language: $field, scale(), formatDate(), arithmetic."
1142
1169
  },
1143
1170
  {
1144
1171
  "name": "get-pentagon",
1145
- "description": "Accessor for deck.gl getPentagon — expression language: $field, scale(), arithmetic."
1172
+ "description": "Accessor for deck.gl getPentagon — expression language: $field, scale(), formatDate(), arithmetic."
1146
1173
  },
1147
1174
  {
1148
1175
  "name": "get-geohash",
1149
- "description": "Accessor for deck.gl getGeohash — expression language: $field, scale(), arithmetic."
1176
+ "description": "Accessor for deck.gl getGeohash — expression language: $field, scale(), formatDate(), arithmetic."
1150
1177
  },
1151
1178
  {
1152
1179
  "name": "get-hexagons",
1153
- "description": "Accessor for deck.gl getHexagons — expression language: $field, scale(), arithmetic."
1180
+ "description": "Accessor for deck.gl getHexagons — expression language: $field, scale(), formatDate(), arithmetic."
1154
1181
  },
1155
1182
  {
1156
1183
  "name": "high-precision",
@@ -1162,7 +1189,7 @@
1162
1189
  },
1163
1190
  {
1164
1191
  "name": "get-hexagon",
1165
- "description": "Accessor for deck.gl getHexagon — expression language: $field, scale(), arithmetic."
1192
+ "description": "Accessor for deck.gl getHexagon — expression language: $field, scale(), formatDate(), arithmetic."
1166
1193
  },
1167
1194
  {
1168
1195
  "name": "extent",
@@ -1226,11 +1253,11 @@
1226
1253
  },
1227
1254
  {
1228
1255
  "name": "get-quadkey",
1229
- "description": "Accessor for deck.gl getQuadkey — expression language: $field, scale(), arithmetic."
1256
+ "description": "Accessor for deck.gl getQuadkey — expression language: $field, scale(), formatDate(), arithmetic."
1230
1257
  },
1231
1258
  {
1232
1259
  "name": "get-s2-token",
1233
- "description": "Accessor for deck.gl getS2Token — expression language: $field, scale(), arithmetic."
1260
+ "description": "Accessor for deck.gl getS2Token — expression language: $field, scale(), formatDate(), arithmetic."
1234
1261
  },
1235
1262
  {
1236
1263
  "name": "elevation-data",
@@ -1266,7 +1293,7 @@
1266
1293
  },
1267
1294
  {
1268
1295
  "name": "get-timestamps",
1269
- "description": "Accessor for deck.gl getTimestamps — expression language: $field, scale(), arithmetic."
1296
+ "description": "Accessor for deck.gl getTimestamps — expression language: $field, scale(), formatDate(), arithmetic."
1270
1297
  },
1271
1298
  {
1272
1299
  "name": "grid-origin",
@@ -1274,7 +1301,7 @@
1274
1301
  },
1275
1302
  {
1276
1303
  "name": "get-weight",
1277
- "description": "Accessor for deck.gl getWeight — expression language: $field, scale(), arithmetic."
1304
+ "description": "Accessor for deck.gl getWeight — expression language: $field, scale(), formatDate(), arithmetic."
1278
1305
  },
1279
1306
  {
1280
1307
  "name": "gpu-aggregation",
@@ -1302,11 +1329,11 @@
1302
1329
  },
1303
1330
  {
1304
1331
  "name": "get-color-value",
1305
- "description": "Accessor for deck.gl getColorValue — expression language: $field, scale(), arithmetic."
1332
+ "description": "Accessor for deck.gl getColorValue — expression language: $field, scale(), formatDate(), arithmetic."
1306
1333
  },
1307
1334
  {
1308
1335
  "name": "get-color-weight",
1309
- "description": "Accessor for deck.gl getColorWeight — expression language: $field, scale(), arithmetic."
1336
+ "description": "Accessor for deck.gl getColorWeight — expression language: $field, scale(), formatDate(), arithmetic."
1310
1337
  },
1311
1338
  {
1312
1339
  "name": "color-aggregation",
@@ -1334,11 +1361,11 @@
1334
1361
  },
1335
1362
  {
1336
1363
  "name": "get-elevation-value",
1337
- "description": "Accessor for deck.gl getElevationValue — expression language: $field, scale(), arithmetic."
1364
+ "description": "Accessor for deck.gl getElevationValue — expression language: $field, scale(), formatDate(), arithmetic."
1338
1365
  },
1339
1366
  {
1340
1367
  "name": "get-elevation-weight",
1341
- "description": "Accessor for deck.gl getElevationWeight — expression language: $field, scale(), arithmetic."
1368
+ "description": "Accessor for deck.gl getElevationWeight — expression language: $field, scale(), formatDate(), arithmetic."
1342
1369
  },
1343
1370
  {
1344
1371
  "name": "elevation-aggregation",
@@ -1769,6 +1796,40 @@
1769
1796
  "name": "field",
1770
1797
  "description": "Data field (filter / vega-lite widgets)."
1771
1798
  },
1799
+ {
1800
+ "name": "format",
1801
+ "description": "Filter value-label format. Use date for epoch-millisecond fields; default number.",
1802
+ "values": [
1803
+ {
1804
+ "name": "number"
1805
+ },
1806
+ {
1807
+ "name": "date"
1808
+ }
1809
+ ]
1810
+ },
1811
+ {
1812
+ "name": "date-style",
1813
+ "description": "Filter date label style when format=\"date\".",
1814
+ "values": [
1815
+ {
1816
+ "name": "date"
1817
+ },
1818
+ {
1819
+ "name": "datetime"
1820
+ },
1821
+ {
1822
+ "name": "time"
1823
+ },
1824
+ {
1825
+ "name": "iso"
1826
+ }
1827
+ ]
1828
+ },
1829
+ {
1830
+ "name": "time-zone",
1831
+ "description": "Filter date label time zone when format=\"date\": UTC (default), local, or an IANA zone such as Asia/Singapore."
1832
+ },
1772
1833
  {
1773
1834
  "name": "story",
1774
1835
  "description": "Story id (player widget)."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nika-js/onlymap",
3
- "version": "0.5.3",
3
+ "version": "0.5.7",
4
4
  "description": "Declarative deck.gl maps for HTML and React — interactive WebGL mapping with GeoJSON/CSV/Arrow data, MapLibre basemaps, widgets, popups, and live streams from a custom-element manifest or typed React components. TypeScript, no build step.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "publishConfig": {
@@ -150,8 +150,12 @@
150
150
  "d3-color": "^3.1.0",
151
151
  "d3-interpolate": "^3.0.1",
152
152
  "d3-scale": "^4.0.2",
153
+ "exifr": "^7.1.3",
154
+ "flatgeobuf": "^4.4.0",
153
155
  "fzstd": "^0.1.1",
154
156
  "happy-dom": "^20.10.6",
157
+ "hyparquet": "^1.27.1",
158
+ "hyparquet-compressors": "^1.1.1",
155
159
  "jotai": "^2.20.2",
156
160
  "maplibre-gl": "^5.24.0",
157
161
  "mobx": "^6.16.1",
@@ -23,7 +23,7 @@ Use OnlyMapJS as a declarative HTML map library. Write custom elements such as `
23
23
  </script>
24
24
  ```
25
25
 
26
- For no-build CDN pages, use the single-file standalone bundle from a raw-file CDN — `https://unpkg.com/@nika-js/onlymap@0.5.3` (the bare package URL serves `dist/onlymap.standalone.js`) — plus `<link rel="stylesheet" href="https://unpkg.com/@nika-js/onlymap@0.5.3/dist/onlymapjs.css">`. Never a rebundling CDN (esm.sh, skypack): re-bundling duplicates the deck.gl/luma.gl runtime and every layer fails shader compilation.
26
+ For no-build CDN pages, use the single-file standalone bundle from a raw-file CDN — `https://unpkg.com/@nika-js/onlymap@0.5.7` (the bare package URL serves `dist/onlymap.standalone.js`) — plus `<link rel="stylesheet" href="https://unpkg.com/@nika-js/onlymap@0.5.7/dist/onlymapjs.css">`. Never a rebundling CDN (esm.sh, skypack): re-bundling duplicates the deck.gl/luma.gl runtime and every layer fails shader compilation.
27
27
 
28
28
  ## React Projects
29
29
 
@@ -52,6 +52,8 @@ Load the smallest reference needed for the task:
52
52
  - Attribute names are kebab-case: `get-fill-color`, `radius-units`, `line-width-min-pixels`.
53
53
  - Accessor values are expressions: `get-position="[$lon, $lat]"`.
54
54
  - `scale()` always needs an explicit `domain=`.
55
+ - Format epoch-millisecond or ISO fields with the safe `formatDate()` built-in, e.g. `get-text="formatDate($time, 'datetime', 'UTC')"`. Do not use `new Date()`, `Intl`, or method calls in restricted expressions.
56
+ - For a built-in filter over epoch milliseconds, add `format="date"` with optional `date-style="date|datetime|time|iso"` and `time-zone="UTC|local|<IANA zone>"`; do not hand-roll a time slider only to format its labels.
55
57
  - ScatterplotLayer points need an explicit size — `radius="6" radius-units="pixels"`, `get-radius="..."`, or `radius-min-pixels="..."`: deck's default is 1 METER, sub-pixel at city zooms, and validation warns on layers with no radius source.
56
58
  - Prefer canonical color expressions — a `sequential`/`diverging`/`threshold` `scale()` or an equality ternary chain — over hand-rolled arithmetic: the legend widget parses these shapes and renders a matching gradient ramp / class ranges / category palette automatically.
57
59
  - Inline handlers such as `onclick` are wrong. Use `data-emit`, `<om-behavior>`, or widget scripts.
@@ -70,6 +72,7 @@ Load the smallest reference needed for the task:
70
72
  - Keep mobile chrome usable -> rely on the default map-width auto-fold into per-side drawers; mark only essential controls `fold="never"`. Use `widgets-fold="off"` only when the user explicitly wants fixed wide-layout chrome.
71
73
  - Group adjacent map buttons (zoom + undo + toggle into one control group) -> just place compact button widgets in the same `position` slot; they auto-cluster. `cluster="false"` opts one out. Do NOT build a wrapper widget.
72
74
  - GeoTIFF/COG raster (DEM, satellite imagery, NDVI) -> `<om-layer type="COGLayer" src="…tif">` with `min`/`max`/`colormap` for single-band data (see syntax.md — `src`, not `data`).
75
+ - Geotagged drone JPEG -> `<om-layer type="ImageOverlay" src="…jpg" georeference="exif">`; for saved/collaborative maps persist the processed image and reconstruct with explicit `bounds` (see syntax.md; this is visualization-grade, not orthorectification).
73
76
  - CityJSON/CityJSONSeq per-face surfaces mode (`?om-surfaces=1`) -> always pair the `SolidPolygonLayer` with a companion `<om-layer type="PathLayer">` using `get-path="$outline"` to make roof/wall edges visible. This mode is unlit and `SolidPolygonLayer`'s own `wireframe` prop does nothing here (deck only builds wireframe geometry when `extruded: true`); the `PathLayer` is the only way to see face edges. Give it the same `filter-field`/`filter-range` as the fill layer so filtered-out buildings' outlines disappear too. See syntax.md.
74
77
  - Live entity updates -> `wss://` stream with `key` and optional `source` decoder.
75
78
  - REST snapshot that changes over time -> `refresh="5s"`.