@deck.gl-community/editable-layers 9.0.0-alpha.1 → 9.0.3

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 (389) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +2 -81
  3. package/dist/constants.d.ts +1 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +4 -1
  6. package/dist/edit-modes/composite-mode.d.ts +4 -3
  7. package/dist/edit-modes/composite-mode.d.ts.map +1 -0
  8. package/dist/edit-modes/composite-mode.js +5 -2
  9. package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +4 -3
  10. package/dist/edit-modes/draw-90degree-polygon-mode.d.ts.map +1 -0
  11. package/dist/edit-modes/draw-90degree-polygon-mode.js +30 -25
  12. package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +4 -3
  13. package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts.map +1 -0
  14. package/dist/edit-modes/draw-circle-by-diameter-mode.js +9 -6
  15. package/dist/edit-modes/draw-circle-from-center-mode.d.ts +4 -3
  16. package/dist/edit-modes/draw-circle-from-center-mode.d.ts.map +1 -0
  17. package/dist/edit-modes/draw-circle-from-center-mode.js +8 -5
  18. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +3 -2
  19. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts.map +1 -0
  20. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +5 -2
  21. package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +3 -2
  22. package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts.map +1 -0
  23. package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +5 -2
  24. package/dist/edit-modes/draw-line-string-mode.d.ts +4 -3
  25. package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -0
  26. package/dist/edit-modes/draw-line-string-mode.js +21 -18
  27. package/dist/edit-modes/draw-point-mode.d.ts +4 -3
  28. package/dist/edit-modes/draw-point-mode.d.ts.map +1 -0
  29. package/dist/edit-modes/draw-point-mode.js +8 -5
  30. package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +4 -3
  31. package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts.map +1 -0
  32. package/dist/edit-modes/draw-polygon-by-dragging-mode.js +12 -7
  33. package/dist/edit-modes/draw-polygon-mode.d.ts +4 -3
  34. package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -0
  35. package/dist/edit-modes/draw-polygon-mode.js +22 -18
  36. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +3 -2
  37. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -0
  38. package/dist/edit-modes/draw-rectangle-from-center-mode.js +4 -1
  39. package/dist/edit-modes/draw-rectangle-mode.d.ts +3 -2
  40. package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -0
  41. package/dist/edit-modes/draw-rectangle-mode.js +4 -1
  42. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +3 -2
  43. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -0
  44. package/dist/edit-modes/draw-rectangle-using-three-points-mode.js +10 -7
  45. package/dist/edit-modes/draw-square-from-center-mode.d.ts +3 -2
  46. package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -0
  47. package/dist/edit-modes/draw-square-from-center-mode.js +4 -1
  48. package/dist/edit-modes/draw-square-mode.d.ts +3 -2
  49. package/dist/edit-modes/draw-square-mode.d.ts.map +1 -0
  50. package/dist/edit-modes/draw-square-mode.js +4 -1
  51. package/dist/edit-modes/duplicate-mode.d.ts +4 -3
  52. package/dist/edit-modes/duplicate-mode.d.ts.map +1 -0
  53. package/dist/edit-modes/duplicate-mode.js +4 -1
  54. package/dist/edit-modes/edit-mode.d.ts +2 -1
  55. package/dist/edit-modes/edit-mode.d.ts.map +1 -0
  56. package/dist/edit-modes/edit-mode.js +3 -1
  57. package/dist/edit-modes/elevation-mode.d.ts +5 -4
  58. package/dist/edit-modes/elevation-mode.d.ts.map +1 -0
  59. package/dist/edit-modes/elevation-mode.js +10 -7
  60. package/dist/edit-modes/extend-line-string-mode.d.ts +4 -3
  61. package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -0
  62. package/dist/edit-modes/extend-line-string-mode.js +11 -8
  63. package/dist/edit-modes/extrude-mode.d.ts +4 -3
  64. package/dist/edit-modes/extrude-mode.d.ts.map +1 -0
  65. package/dist/edit-modes/extrude-mode.js +12 -9
  66. package/dist/edit-modes/geojson-edit-mode.d.ts +4 -3
  67. package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -0
  68. package/dist/edit-modes/geojson-edit-mode.js +20 -17
  69. package/dist/edit-modes/immutable-feature-collection.d.ts +3 -1
  70. package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -0
  71. package/dist/edit-modes/immutable-feature-collection.js +25 -20
  72. package/dist/edit-modes/measure-angle-mode.d.ts +4 -3
  73. package/dist/edit-modes/measure-angle-mode.d.ts.map +1 -0
  74. package/dist/edit-modes/measure-angle-mode.js +9 -9
  75. package/dist/edit-modes/measure-area-mode.d.ts +4 -3
  76. package/dist/edit-modes/measure-area-mode.d.ts.map +1 -0
  77. package/dist/edit-modes/measure-area-mode.js +8 -6
  78. package/dist/edit-modes/measure-distance-mode.d.ts +4 -3
  79. package/dist/edit-modes/measure-distance-mode.d.ts.map +1 -0
  80. package/dist/edit-modes/measure-distance-mode.js +19 -16
  81. package/dist/edit-modes/modify-mode.d.ts +5 -4
  82. package/dist/edit-modes/modify-mode.d.ts.map +1 -0
  83. package/dist/edit-modes/modify-mode.js +19 -16
  84. package/dist/edit-modes/resize-circle-mode.d.ts +6 -5
  85. package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -0
  86. package/dist/edit-modes/resize-circle-mode.js +6 -4
  87. package/dist/edit-modes/rotate-mode.d.ts +4 -3
  88. package/dist/edit-modes/rotate-mode.d.ts.map +1 -0
  89. package/dist/edit-modes/rotate-mode.js +11 -8
  90. package/dist/edit-modes/scale-mode.d.ts +4 -3
  91. package/dist/edit-modes/scale-mode.d.ts.map +1 -0
  92. package/dist/edit-modes/scale-mode.js +11 -8
  93. package/dist/edit-modes/snappable-mode.d.ts +4 -3
  94. package/dist/edit-modes/snappable-mode.d.ts.map +1 -0
  95. package/dist/edit-modes/snappable-mode.js +9 -6
  96. package/dist/edit-modes/split-polygon-mode.d.ts +4 -3
  97. package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -0
  98. package/dist/edit-modes/split-polygon-mode.js +15 -12
  99. package/dist/edit-modes/three-click-polygon-mode.d.ts +4 -3
  100. package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -0
  101. package/dist/edit-modes/three-click-polygon-mode.js +10 -7
  102. package/dist/edit-modes/transform-mode.d.ts +4 -3
  103. package/dist/edit-modes/transform-mode.d.ts.map +1 -0
  104. package/dist/edit-modes/transform-mode.js +8 -5
  105. package/dist/edit-modes/translate-mode.d.ts +4 -3
  106. package/dist/edit-modes/translate-mode.d.ts.map +1 -0
  107. package/dist/edit-modes/translate-mode.js +10 -7
  108. package/dist/edit-modes/two-click-polygon-mode.d.ts +4 -3
  109. package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -0
  110. package/dist/edit-modes/two-click-polygon-mode.js +10 -7
  111. package/dist/edit-modes/types.d.ts +2 -1
  112. package/dist/edit-modes/types.d.ts.map +1 -0
  113. package/dist/edit-modes/types.js +3 -0
  114. package/dist/edit-modes/utils.d.ts +3 -2
  115. package/dist/edit-modes/utils.d.ts.map +1 -0
  116. package/dist/edit-modes/utils.js +22 -19
  117. package/dist/edit-modes/view-mode.d.ts +2 -1
  118. package/dist/edit-modes/view-mode.d.ts.map +1 -0
  119. package/dist/edit-modes/view-mode.js +4 -1
  120. package/dist/editable-layers/editable-geojson-layer.d.ts +7 -6
  121. package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -0
  122. package/dist/editable-layers/editable-geojson-layer.js +53 -52
  123. package/dist/editable-layers/editable-h3-cluster-layer.d.ts +3 -2
  124. package/dist/editable-layers/editable-h3-cluster-layer.d.ts.map +1 -0
  125. package/dist/editable-layers/editable-h3-cluster-layer.js +8 -5
  126. package/dist/editable-layers/editable-layer.d.ts +7 -6
  127. package/dist/editable-layers/editable-layer.d.ts.map +1 -0
  128. package/dist/editable-layers/editable-layer.js +18 -15
  129. package/dist/editable-layers/editable-path-layer.d.ts +2 -1
  130. package/dist/editable-layers/editable-path-layer.d.ts.map +1 -0
  131. package/dist/editable-layers/editable-path-layer.js +10 -7
  132. package/dist/editable-layers/elevated-edit-handle-layer.d.ts +2 -1
  133. package/dist/editable-layers/elevated-edit-handle-layer.d.ts.map +1 -0
  134. package/dist/editable-layers/elevated-edit-handle-layer.js +6 -3
  135. package/dist/editable-layers/junction-scatterplot-layer.d.ts +3 -2
  136. package/dist/editable-layers/junction-scatterplot-layer.d.ts.map +1 -0
  137. package/dist/editable-layers/junction-scatterplot-layer.js +10 -7
  138. package/dist/editable-layers/selection-layer.d.ts +2 -1
  139. package/dist/editable-layers/selection-layer.d.ts.map +1 -0
  140. package/dist/editable-layers/selection-layer.js +8 -5
  141. package/dist/index.cjs +70 -542
  142. package/dist/index.cjs.map +4 -4
  143. package/dist/index.d.ts +59 -59
  144. package/dist/index.d.ts.map +1 -0
  145. package/dist/index.js +56 -54
  146. package/dist/lib/constants.d.ts +1 -0
  147. package/dist/lib/constants.d.ts.map +1 -0
  148. package/dist/lib/constants.js +3 -0
  149. package/dist/lib/deck-renderer/deck-cache.d.ts +2 -1
  150. package/dist/lib/deck-renderer/deck-cache.d.ts.map +1 -0
  151. package/dist/lib/deck-renderer/deck-cache.js +1 -1
  152. package/dist/lib/deck-renderer/deck-drawer.d.ts +3 -3
  153. package/dist/lib/deck-renderer/deck-drawer.d.ts.map +1 -0
  154. package/dist/lib/deck-renderer/deck-drawer.js +12 -12
  155. package/dist/lib/feature.d.ts +5 -4
  156. package/dist/lib/feature.d.ts.map +1 -0
  157. package/dist/lib/feature.js +4 -1
  158. package/dist/lib/layer-mouse-event.d.ts +3 -2
  159. package/dist/lib/layer-mouse-event.d.ts.map +1 -0
  160. package/dist/lib/layer-mouse-event.js +4 -1
  161. package/dist/lib/layers/junctions-layer.d.ts +5 -4
  162. package/dist/lib/layers/junctions-layer.d.ts.map +1 -0
  163. package/dist/lib/layers/junctions-layer.js +10 -7
  164. package/dist/lib/layers/segments-layer.d.ts +5 -4
  165. package/dist/lib/layers/segments-layer.d.ts.map +1 -0
  166. package/dist/lib/layers/segments-layer.js +12 -9
  167. package/dist/lib/layers/texts-layer.d.ts +4 -3
  168. package/dist/lib/layers/texts-layer.d.ts.map +1 -0
  169. package/dist/lib/layers/texts-layer.js +9 -6
  170. package/dist/lib/math.d.ts +2 -1
  171. package/dist/lib/math.d.ts.map +1 -0
  172. package/dist/lib/math.js +3 -0
  173. package/dist/lib/{nebula.d.ts → nebula-core.d.ts} +3 -2
  174. package/dist/lib/nebula-core.d.ts.map +1 -0
  175. package/dist/lib/{nebula.js → nebula-core.js} +7 -4
  176. package/dist/lib/nebula-layer.d.ts +3 -2
  177. package/dist/lib/nebula-layer.d.ts.map +1 -0
  178. package/dist/lib/nebula-layer.js +4 -1
  179. package/dist/lib/style.d.ts +1 -0
  180. package/dist/lib/style.d.ts.map +1 -0
  181. package/dist/lib/style.js +5 -2
  182. package/dist/mode-handlers/composite-mode-handler.d.ts +4 -3
  183. package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -0
  184. package/dist/mode-handlers/composite-mode-handler.js +1 -1
  185. package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts +4 -3
  186. package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -0
  187. package/dist/mode-handlers/draw-90degree-polygon-handler.js +13 -10
  188. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts +4 -3
  189. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -0
  190. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +5 -2
  191. package/dist/mode-handlers/draw-circle-from-center-handler.d.ts +4 -3
  192. package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -0
  193. package/dist/mode-handlers/draw-circle-from-center-handler.js +4 -1
  194. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts +4 -3
  195. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -0
  196. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +5 -2
  197. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts +4 -3
  198. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -0
  199. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +7 -4
  200. package/dist/mode-handlers/draw-line-string-handler.d.ts +3 -2
  201. package/dist/mode-handlers/draw-line-string-handler.d.ts.map +1 -0
  202. package/dist/mode-handlers/draw-line-string-handler.js +8 -5
  203. package/dist/mode-handlers/draw-point-handler.d.ts +3 -2
  204. package/dist/mode-handlers/draw-point-handler.d.ts.map +1 -0
  205. package/dist/mode-handlers/draw-point-handler.js +5 -2
  206. package/dist/mode-handlers/draw-polygon-handler.d.ts +4 -3
  207. package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -0
  208. package/dist/mode-handlers/draw-polygon-handler.js +10 -7
  209. package/dist/mode-handlers/draw-rectangle-handler.d.ts +4 -3
  210. package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -0
  211. package/dist/mode-handlers/draw-rectangle-handler.js +4 -1
  212. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts +4 -3
  213. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -0
  214. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +12 -9
  215. package/dist/mode-handlers/duplicate-handler.d.ts +4 -3
  216. package/dist/mode-handlers/duplicate-handler.d.ts.map +1 -0
  217. package/dist/mode-handlers/duplicate-handler.js +4 -1
  218. package/dist/mode-handlers/elevation-handler.d.ts +6 -5
  219. package/dist/mode-handlers/elevation-handler.d.ts.map +1 -0
  220. package/dist/mode-handlers/elevation-handler.js +10 -7
  221. package/dist/mode-handlers/extrude-handler.d.ts +4 -3
  222. package/dist/mode-handlers/extrude-handler.d.ts.map +1 -0
  223. package/dist/mode-handlers/extrude-handler.js +12 -9
  224. package/dist/mode-handlers/mode-handler.d.ts +4 -3
  225. package/dist/mode-handlers/mode-handler.d.ts.map +1 -0
  226. package/dist/mode-handlers/mode-handler.js +18 -15
  227. package/dist/mode-handlers/modify-handler.d.ts +5 -4
  228. package/dist/mode-handlers/modify-handler.d.ts.map +1 -0
  229. package/dist/mode-handlers/modify-handler.js +18 -15
  230. package/dist/mode-handlers/rotate-handler.d.ts +4 -3
  231. package/dist/mode-handlers/rotate-handler.d.ts.map +1 -0
  232. package/dist/mode-handlers/rotate-handler.js +5 -2
  233. package/dist/mode-handlers/scale-handler.d.ts +4 -3
  234. package/dist/mode-handlers/scale-handler.d.ts.map +1 -0
  235. package/dist/mode-handlers/scale-handler.js +6 -3
  236. package/dist/mode-handlers/snappable-handler.d.ts +4 -3
  237. package/dist/mode-handlers/snappable-handler.d.ts.map +1 -0
  238. package/dist/mode-handlers/snappable-handler.js +6 -3
  239. package/dist/mode-handlers/split-polygon-handler.d.ts +3 -2
  240. package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -0
  241. package/dist/mode-handlers/split-polygon-handler.js +12 -9
  242. package/dist/mode-handlers/three-click-polygon-handler.d.ts +3 -2
  243. package/dist/mode-handlers/three-click-polygon-handler.d.ts.map +1 -0
  244. package/dist/mode-handlers/three-click-polygon-handler.js +4 -1
  245. package/dist/mode-handlers/translate-handler.d.ts +4 -3
  246. package/dist/mode-handlers/translate-handler.d.ts.map +1 -0
  247. package/dist/mode-handlers/translate-handler.js +5 -2
  248. package/dist/mode-handlers/two-click-polygon-handler.d.ts +3 -2
  249. package/dist/mode-handlers/two-click-polygon-handler.d.ts.map +1 -0
  250. package/dist/mode-handlers/two-click-polygon-handler.js +4 -1
  251. package/dist/mode-handlers/view-handler.d.ts +3 -2
  252. package/dist/mode-handlers/view-handler.d.ts.map +1 -0
  253. package/dist/mode-handlers/view-handler.js +4 -1
  254. package/dist/shaderlib/color/color.d.ts +8 -6
  255. package/dist/shaderlib/color/color.d.ts.map +1 -0
  256. package/dist/shaderlib/color/color.js +7 -4
  257. package/dist/shaderlib/utils/utils.d.ts +3 -2
  258. package/dist/shaderlib/utils/utils.d.ts.map +1 -0
  259. package/dist/shaderlib/utils/utils.js +5 -2
  260. package/dist/{curve-utils.d.ts → utils/curve-utils.d.ts} +1 -0
  261. package/dist/utils/curve-utils.d.ts.map +1 -0
  262. package/dist/{curve-utils.js → utils/curve-utils.js} +7 -4
  263. package/dist/{geojson-types.d.ts → utils/geojson-types.d.ts} +3 -25
  264. package/dist/utils/geojson-types.d.ts.map +1 -0
  265. package/dist/utils/geojson-types.js +4 -0
  266. package/dist/{memoize.d.ts → utils/memoize.d.ts} +2 -1
  267. package/dist/utils/memoize.d.ts.map +1 -0
  268. package/dist/{memoize.js → utils/memoize.js} +4 -1
  269. package/dist/{translateFromCenter.d.ts → utils/translate-from-center.d.ts} +1 -0
  270. package/dist/utils/translate-from-center.d.ts.map +1 -0
  271. package/dist/{translateFromCenter.js → utils/translate-from-center.js} +7 -4
  272. package/dist/{types.d.ts → utils/types.d.ts} +1 -0
  273. package/dist/utils/types.d.ts.map +1 -0
  274. package/dist/utils/types.js +4 -0
  275. package/dist/{utils.d.ts → utils/utils.d.ts} +5 -4
  276. package/dist/utils/utils.d.ts.map +1 -0
  277. package/dist/{utils.js → utils/utils.js} +11 -9
  278. package/package.json +11 -10
  279. package/src/constants.ts +5 -1
  280. package/src/edit-modes/composite-mode.ts +9 -5
  281. package/src/edit-modes/draw-90degree-polygon-mode.ts +38 -34
  282. package/src/edit-modes/draw-circle-by-diameter-mode.ts +16 -12
  283. package/src/edit-modes/draw-circle-from-center-mode.ts +15 -11
  284. package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +8 -4
  285. package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +9 -5
  286. package/src/edit-modes/draw-line-string-mode.ts +29 -25
  287. package/src/edit-modes/draw-point-mode.ts +13 -9
  288. package/src/edit-modes/draw-polygon-by-dragging-mode.ts +16 -16
  289. package/src/edit-modes/draw-polygon-mode.ts +28 -23
  290. package/src/edit-modes/draw-rectangle-from-center-mode.ts +6 -2
  291. package/src/edit-modes/draw-rectangle-mode.ts +6 -2
  292. package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +12 -8
  293. package/src/edit-modes/draw-square-from-center-mode.ts +7 -3
  294. package/src/edit-modes/draw-square-mode.ts +7 -3
  295. package/src/edit-modes/duplicate-mode.ts +7 -3
  296. package/src/edit-modes/edit-mode.ts +5 -1
  297. package/src/edit-modes/elevation-mode.ts +13 -9
  298. package/src/edit-modes/extend-line-string-mode.ts +16 -12
  299. package/src/edit-modes/extrude-mode.ts +22 -18
  300. package/src/edit-modes/geojson-edit-mode.ts +37 -33
  301. package/src/edit-modes/immutable-feature-collection.ts +28 -22
  302. package/src/edit-modes/measure-angle-mode.ts +66 -59
  303. package/src/edit-modes/measure-area-mode.ts +13 -10
  304. package/src/edit-modes/measure-distance-mode.ts +37 -33
  305. package/src/edit-modes/modify-mode.ts +36 -32
  306. package/src/edit-modes/resize-circle-mode.ts +8 -5
  307. package/src/edit-modes/rotate-mode.ts +22 -18
  308. package/src/edit-modes/scale-mode.ts +29 -23
  309. package/src/edit-modes/snappable-mode.ts +19 -15
  310. package/src/edit-modes/split-polygon-mode.ts +25 -21
  311. package/src/edit-modes/three-click-polygon-mode.ts +15 -11
  312. package/src/edit-modes/transform-mode.ts +15 -11
  313. package/src/edit-modes/translate-mode.ts +15 -11
  314. package/src/edit-modes/two-click-polygon-mode.ts +15 -11
  315. package/src/edit-modes/types.ts +5 -1
  316. package/src/edit-modes/utils.ts +35 -30
  317. package/src/edit-modes/view-mode.ts +5 -1
  318. package/src/editable-layers/editable-geojson-layer.ts +44 -41
  319. package/src/editable-layers/editable-h3-cluster-layer.ts +17 -14
  320. package/src/editable-layers/editable-layer.ts +42 -32
  321. package/src/editable-layers/editable-path-layer.ts +12 -8
  322. package/src/editable-layers/elevated-edit-handle-layer.ts +11 -7
  323. package/src/editable-layers/junction-scatterplot-layer.ts +15 -11
  324. package/src/editable-layers/selection-layer.ts +11 -7
  325. package/src/index.ts +68 -65
  326. package/src/lib/constants.ts +4 -0
  327. package/src/lib/deck-renderer/deck-cache.ts +1 -1
  328. package/src/lib/deck-renderer/deck-drawer.ts +28 -28
  329. package/src/lib/feature.ts +7 -3
  330. package/src/lib/layer-mouse-event.ts +7 -6
  331. package/src/lib/layers/junctions-layer.ts +14 -10
  332. package/src/lib/layers/segments-layer.ts +24 -20
  333. package/src/lib/layers/texts-layer.ts +18 -14
  334. package/src/lib/math.ts +5 -1
  335. package/src/lib/{nebula.ts → nebula-core.ts} +8 -4
  336. package/src/lib/nebula-layer.ts +9 -5
  337. package/src/lib/style.ts +6 -2
  338. package/src/mode-handlers/composite-mode-handler.ts +6 -6
  339. package/src/mode-handlers/draw-90degree-polygon-handler.ts +22 -18
  340. package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +10 -6
  341. package/src/mode-handlers/draw-circle-from-center-handler.ts +10 -6
  342. package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +9 -5
  343. package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +12 -8
  344. package/src/mode-handlers/draw-line-string-handler.ts +12 -8
  345. package/src/mode-handlers/draw-point-handler.ts +9 -5
  346. package/src/mode-handlers/draw-polygon-handler.ts +16 -12
  347. package/src/mode-handlers/draw-rectangle-handler.ts +8 -4
  348. package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +17 -13
  349. package/src/mode-handlers/duplicate-handler.ts +8 -4
  350. package/src/mode-handlers/elevation-handler.ts +14 -10
  351. package/src/mode-handlers/extrude-handler.ts +15 -11
  352. package/src/mode-handlers/mode-handler.ts +26 -28
  353. package/src/mode-handlers/modify-handler.ts +29 -25
  354. package/src/mode-handlers/rotate-handler.ts +13 -17
  355. package/src/mode-handlers/scale-handler.ts +13 -13
  356. package/src/mode-handlers/snappable-handler.ts +28 -24
  357. package/src/mode-handlers/split-polygon-handler.ts +22 -18
  358. package/src/mode-handlers/three-click-polygon-handler.ts +6 -2
  359. package/src/mode-handlers/translate-handler.ts +12 -8
  360. package/src/mode-handlers/two-click-polygon-handler.ts +6 -2
  361. package/src/mode-handlers/view-handler.ts +7 -3
  362. package/src/shaderlib/color/color.ts +10 -5
  363. package/src/shaderlib/utils/utils.ts +6 -2
  364. package/src/{curve-utils.ts → utils/curve-utils.ts} +11 -7
  365. package/src/{geojson-types.ts → utils/geojson-types.ts} +16 -31
  366. package/src/{memoize.ts → utils/memoize.ts} +5 -1
  367. package/src/{translateFromCenter.ts → utils/translate-from-center.ts} +12 -8
  368. package/src/{types.ts → utils/types.ts} +4 -0
  369. package/src/{utils.ts → utils/utils.ts} +17 -14
  370. package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.d.ts +0 -4
  371. package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.js +0 -55
  372. package/dist/editable-layers/path-marker-layer/create-path-markers.d.ts +0 -16
  373. package/dist/editable-layers/path-marker-layer/create-path-markers.js +0 -75
  374. package/dist/editable-layers/path-marker-layer/path-marker-layer.d.ts +0 -40
  375. package/dist/editable-layers/path-marker-layer/path-marker-layer.js +0 -121
  376. package/dist/editable-layers/path-marker-layer/polyline.d.ts +0 -18
  377. package/dist/editable-layers/path-marker-layer/polyline.js +0 -37
  378. package/dist/editable-layers/path-outline-layer/path-outline-layer.d.ts +0 -26
  379. package/dist/editable-layers/path-outline-layer/path-outline-layer.js +0 -106
  380. package/dist/geojson-types.js +0 -2
  381. package/dist/shaderlib/outline/outline.d.ts +0 -8
  382. package/dist/shaderlib/outline/outline.js +0 -97
  383. package/dist/types.js +0 -1
  384. package/src/editable-layers/path-marker-layer/arrow-2d-geometry.ts +0 -61
  385. package/src/editable-layers/path-marker-layer/create-path-markers.ts +0 -107
  386. package/src/editable-layers/path-marker-layer/path-marker-layer.ts +0 -179
  387. package/src/editable-layers/path-marker-layer/polyline.ts +0 -40
  388. package/src/editable-layers/path-outline-layer/path-outline-layer.ts +0 -147
  389. package/src/shaderlib/outline/outline.ts +0 -101
@@ -1,147 +0,0 @@
1
- import { PathLayer, PathLayerProps } from '@deck.gl/layers';
2
- import type { DefaultProps, LayerContext } from '@deck.gl/core';
3
- import {GL} from '@luma.gl/constants';
4
- import { Framebuffer, Texture } from '@luma.gl/core';
5
- import outline from '../../shaderlib/outline/outline';
6
- import { UNIT } from '../../constants';
7
-
8
- // TODO - this should be built into assembleShaders
9
- function injectShaderCode({ source, code = '' }) {
10
- const INJECT_CODE = /}[^{}]*$/;
11
- return source.replace(INJECT_CODE, code.concat('\n}\n'));
12
- }
13
-
14
- const VS_CODE = `\
15
- outline_setUV(gl_Position);
16
- outline_setZLevel(instanceZLevel);
17
- `;
18
-
19
- const FS_CODE = `\
20
- fragColor = outline_filterColor(fragColor);
21
- `;
22
-
23
- export type PathOutlineLayerProps<DataT> = PathLayerProps<DataT> & {
24
- dashJustified?: boolean;
25
- getDashArray?: [number, number] | ((d: DataT) => [number, number] | null);
26
- getZLevel?: (d: DataT, index: number) => number;
27
- };
28
-
29
- const defaultProps: DefaultProps<PathOutlineLayerProps<any>> = {
30
- getZLevel: () => 0,
31
- };
32
-
33
- export default class PathOutlineLayer<
34
- DataT = any,
35
- ExtraPropsT = Record<string, unknown>
36
- > extends PathLayer<DataT, ExtraPropsT & Required<PathOutlineLayerProps<DataT>>> {
37
- static layerName = 'PathOutlineLayer';
38
- static defaultProps = defaultProps;
39
-
40
- state: {
41
- model?: any;
42
- pathTesselator: any;
43
- outlineFramebuffer: Framebuffer;
44
- dummyTexture: Texture;
45
- } = undefined!;
46
-
47
- // Override getShaders to inject the outline module
48
- getShaders() {
49
- const shaders = super.getShaders();
50
- return Object.assign({}, shaders, {
51
- modules: shaders.modules.concat([outline]),
52
- vs: injectShaderCode({ source: shaders.vs, code: VS_CODE }),
53
- fs: injectShaderCode({ source: shaders.fs, code: FS_CODE }),
54
- });
55
- }
56
-
57
- // @ts-expect-error PathLayer is missing LayerContext arg
58
- initializeState(context: LayerContext) {
59
- super.initializeState();
60
-
61
- // Create an outline "shadow" map
62
- // TODO - we should create a single outlineMap for all layers
63
- this.setState({
64
- outlineFramebuffer: context.device.createFramebuffer({}),
65
- dummyTexture: context.device.createTexture({}),
66
- });
67
-
68
- // Create an attribute manager
69
- // @ts-expect-error check whether this.getAttributeManager works here
70
- this.state.attributeManager.addInstanced({
71
- instanceZLevel: {
72
- size: 1,
73
- type: GL.UNSIGNED_BYTE,
74
- accessor: 'getZLevel',
75
- },
76
- });
77
- }
78
-
79
- // Override draw to add render module
80
- draw({ moduleParameters = {}, parameters, uniforms, context }) {
81
- // Need to calculate same uniforms as base layer
82
- const {
83
- jointRounded,
84
- capRounded,
85
- billboard,
86
- miterLimit,
87
- widthUnits,
88
- widthScale,
89
- widthMinPixels,
90
- widthMaxPixels,
91
- } = this.props;
92
-
93
- uniforms = Object.assign({}, uniforms, {
94
- jointType: Number(jointRounded),
95
- capType: Number(capRounded),
96
- billboard,
97
- widthUnits: UNIT[widthUnits],
98
- widthScale,
99
- miterLimit,
100
- widthMinPixels,
101
- widthMaxPixels,
102
- });
103
-
104
- // Render the outline shadowmap (based on segment z orders)
105
- const { outlineFramebuffer, dummyTexture } = this.state;
106
- // TODO(v9): resize, see 'sf' example.
107
- // outlineFramebuffer.resize();
108
- // TODO(v9) clear FBO
109
- // outlineFramebuffer.clear({ color: true, depth: true, stencil: true });
110
-
111
- this.state.model.updateModuleSettings({
112
- outlineEnabled: true,
113
- outlineRenderShadowmap: true,
114
- outlineShadowmap: dummyTexture,
115
- });
116
-
117
- this.state.model.draw({
118
- uniforms: Object.assign({}, uniforms, {
119
- jointType: 0,
120
- widthScale: this.props.widthScale * 1.3,
121
- }),
122
- parameters: {
123
- depthTest: false,
124
- // Biggest value needs to go into buffer
125
- blendEquation: GL.MAX,
126
- },
127
- framebuffer: outlineFramebuffer,
128
- });
129
-
130
- // Now use the outline shadowmap to render the lines (with outlines)
131
- this.state.model.updateModuleSettings({
132
- outlineEnabled: true,
133
- outlineRenderShadowmap: false,
134
- outlineShadowmap: outlineFramebuffer,
135
- });
136
- this.state.model.draw({
137
- uniforms: Object.assign({}, uniforms, {
138
- jointType: Number(jointRounded),
139
- capType: Number(capRounded),
140
- widthScale: this.props.widthScale,
141
- }),
142
- parameters: {
143
- depthTest: false,
144
- },
145
- });
146
- }
147
- }
@@ -1,101 +0,0 @@
1
- /* eslint-disable camelcase */
2
- const INITIAL_STATE: Record<string, any> = {
3
- outlineEnabled: false,
4
- outlineRenderShadowmap: false,
5
- outlineShadowmap: null,
6
- };
7
-
8
- function getUniforms({ outlineEnabled, outlineRenderShadowmap, outlineShadowmap } = INITIAL_STATE) {
9
- const uniforms: Record<string, any> = {};
10
- if (outlineEnabled !== undefined) {
11
- // ? 1.0 : 0.0;
12
- uniforms.outline_uEnabled = outlineEnabled;
13
- }
14
- if (outlineRenderShadowmap !== undefined) {
15
- // ? 1.0 : 0.0;
16
- uniforms.outline_uRenderOutlines = outlineRenderShadowmap;
17
- }
18
- if (outlineShadowmap !== undefined) {
19
- uniforms.outline_uShadowmap = outlineShadowmap;
20
- }
21
- return uniforms;
22
- }
23
-
24
- const vs = `\
25
- #version 300 es
26
- in float instanceZLevel;
27
- out float outline_vzLevel;
28
- out vec4 outline_vPosition;
29
-
30
- // Set the z level for the outline shadowmap rendering
31
- void outline_setZLevel(float zLevel) {
32
- outline_vzLevel = zLevel;
33
- }
34
-
35
- // Store an adjusted position for texture2DProj
36
- void outline_setUV(vec4 position) {
37
- // mat4(
38
- // 0.5, 0.0, 0.0, 0.0,
39
- // 0.0, 0.5, 0.0, 0.0,
40
- // 0.0, 0.0, 0.5, 0.0,
41
- // 0.5, 0.5, 0.5, 1.0
42
- // ) * position;
43
- outline_vPosition = vec4(position.xyz * 0.5 + position.w * 0.5, position.w);
44
- }
45
- `;
46
-
47
- const fs = `\
48
- uniform bool outline_uEnabled;
49
- uniform bool outline_uRenderOutlines;
50
- uniform sampler2D outline_uShadowmap;
51
-
52
- in float outline_vzLevel;
53
- // in vec2 outline_vUV;
54
- in vec4 outline_vPosition;
55
-
56
- out vec4 fragColor;
57
-
58
- const float OUTLINE_Z_LEVEL_ERROR = 0.01;
59
-
60
- // Return a darker color in shadowmap
61
- vec4 outline_filterShadowColor(vec4 color) {
62
- return vec4(outline_vzLevel / 255., outline_vzLevel / 255., outline_vzLevel / 255., 1.);
63
- }
64
-
65
- // Return a darker color if in shadowmap
66
- vec4 outline_filterDarkenColor(vec4 color) {
67
- if (outline_uEnabled) {
68
- float maxZLevel;
69
- if (outline_vPosition.q > 0.0) {
70
- maxZLevel = texture2DProj(outline_uShadowmap, outline_vPosition).r * 255.;
71
- } else {
72
- discard;
73
- }
74
- if (maxZLevel < outline_vzLevel + OUTLINE_Z_LEVEL_ERROR) {
75
- vec4(color.rgb * 0.5, color.a);
76
- } else {
77
- discard;
78
- }
79
- }
80
- return color;
81
- }
82
-
83
- // if enabled and rendering outlines - Render depth to shadowmap
84
- // if enabled and rendering colors - Return a darker color if in shadowmap
85
- // if disabled, just return color
86
- vec4 outline_filterColor(vec4 color) {
87
- if (outline_uEnabled) {
88
- return outline_uRenderOutlines ?
89
- outline_filterShadowColor(color) :
90
- outline_filterDarkenColor(color);
91
- }
92
- return color;
93
- }
94
- `;
95
-
96
- export default {
97
- name: 'outline',
98
- vs,
99
- fs,
100
- getUniforms,
101
- };