@react-x11/components 0.3.0 → 0.5.0

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 (314) hide show
  1. package/README.md +131 -4
  2. package/dist/charts/components.d.ts +3 -1
  3. package/dist/charts/components.d.ts.map +1 -1
  4. package/dist/charts/components.js +8 -4
  5. package/dist/charts/components.js.map +1 -1
  6. package/dist/charts/node.d.ts +13 -6
  7. package/dist/charts/node.d.ts.map +1 -1
  8. package/dist/charts/node.js +75 -24
  9. package/dist/charts/node.js.map +1 -1
  10. package/dist/charts/render.d.ts +4 -0
  11. package/dist/charts/render.d.ts.map +1 -1
  12. package/dist/charts/render.js +11 -6
  13. package/dist/charts/render.js.map +1 -1
  14. package/dist/code-editor/node.d.ts +47 -16
  15. package/dist/code-editor/node.d.ts.map +1 -1
  16. package/dist/code-editor/node.js +121 -51
  17. package/dist/code-editor/node.js.map +1 -1
  18. package/dist/flow/draw.d.ts +19 -1
  19. package/dist/flow/draw.d.ts.map +1 -1
  20. package/dist/flow/draw.js +64 -35
  21. package/dist/flow/draw.js.map +1 -1
  22. package/dist/flow/index.d.ts.map +1 -1
  23. package/dist/flow/index.js +24 -8
  24. package/dist/flow/index.js.map +1 -1
  25. package/dist/flow/model.d.ts +4 -2
  26. package/dist/flow/model.d.ts.map +1 -1
  27. package/dist/flow/model.js +4 -2
  28. package/dist/flow/model.js.map +1 -1
  29. package/dist/flow/node.d.ts +40 -9
  30. package/dist/flow/node.d.ts.map +1 -1
  31. package/dist/flow/node.js +142 -53
  32. package/dist/flow/node.js.map +1 -1
  33. package/dist/flow/types.d.ts +46 -21
  34. package/dist/flow/types.d.ts.map +1 -1
  35. package/dist/formula/index.d.ts +4 -2
  36. package/dist/formula/index.d.ts.map +1 -1
  37. package/dist/formula/index.js.map +1 -1
  38. package/dist/formula/node.d.ts +5 -1
  39. package/dist/formula/node.d.ts.map +1 -1
  40. package/dist/formula/node.js +19 -3
  41. package/dist/formula/node.js.map +1 -1
  42. package/dist/html/controls.d.ts +4 -1
  43. package/dist/html/controls.d.ts.map +1 -1
  44. package/dist/html/controls.js.map +1 -1
  45. package/dist/html/css/cascade.d.ts +11 -5
  46. package/dist/html/css/cascade.d.ts.map +1 -1
  47. package/dist/html/css/cascade.js +18 -8
  48. package/dist/html/css/cascade.js.map +1 -1
  49. package/dist/html/css/parse.d.ts +15 -10
  50. package/dist/html/css/parse.d.ts.map +1 -1
  51. package/dist/html/css/parse.js +41 -16
  52. package/dist/html/css/parse.js.map +1 -1
  53. package/dist/html/css/style.d.ts +3 -0
  54. package/dist/html/css/style.d.ts.map +1 -1
  55. package/dist/html/css/style.js +3 -1
  56. package/dist/html/css/style.js.map +1 -1
  57. package/dist/html/css/values.d.ts +14 -1
  58. package/dist/html/css/values.d.ts.map +1 -1
  59. package/dist/html/css/values.js +11 -8
  60. package/dist/html/css/values.js.map +1 -1
  61. package/dist/html/index.d.ts.map +1 -1
  62. package/dist/html/index.js +1 -0
  63. package/dist/html/index.js.map +1 -1
  64. package/dist/html/layout/boxes.d.ts +12 -5
  65. package/dist/html/layout/boxes.d.ts.map +1 -1
  66. package/dist/html/layout/boxes.js +7 -4
  67. package/dist/html/layout/boxes.js.map +1 -1
  68. package/dist/html/layout/inline.d.ts.map +1 -1
  69. package/dist/html/layout/inline.js +22 -1
  70. package/dist/html/layout/inline.js.map +1 -1
  71. package/dist/html/node.d.ts +22 -8
  72. package/dist/html/node.d.ts.map +1 -1
  73. package/dist/html/node.js +97 -15
  74. package/dist/html/node.js.map +1 -1
  75. package/dist/html/paint.d.ts +3 -0
  76. package/dist/html/paint.d.ts.map +1 -1
  77. package/dist/html/paint.js +2 -2
  78. package/dist/html/paint.js.map +1 -1
  79. package/dist/index.d.ts +11 -1
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +26 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/maps/clip.d.ts +43 -0
  84. package/dist/maps/clip.d.ts.map +1 -0
  85. package/dist/maps/clip.js +171 -0
  86. package/dist/maps/clip.js.map +1 -0
  87. package/dist/maps/gzip.d.ts +15 -0
  88. package/dist/maps/gzip.d.ts.map +1 -0
  89. package/dist/maps/gzip.js +56 -0
  90. package/dist/maps/gzip.js.map +1 -0
  91. package/dist/maps/index.d.ts +55 -0
  92. package/dist/maps/index.d.ts.map +1 -0
  93. package/dist/maps/index.js +141 -0
  94. package/dist/maps/index.js.map +1 -0
  95. package/dist/maps/labels.d.ts +123 -0
  96. package/dist/maps/labels.d.ts.map +1 -0
  97. package/dist/maps/labels.js +323 -0
  98. package/dist/maps/labels.js.map +1 -0
  99. package/dist/maps/mvt.d.ts +244 -0
  100. package/dist/maps/mvt.d.ts.map +1 -0
  101. package/dist/maps/mvt.js +820 -0
  102. package/dist/maps/mvt.js.map +1 -0
  103. package/dist/maps/node.d.ts +278 -0
  104. package/dist/maps/node.d.ts.map +1 -0
  105. package/dist/maps/node.js +1459 -0
  106. package/dist/maps/node.js.map +1 -0
  107. package/dist/maps/overlay.d.ts +157 -0
  108. package/dist/maps/overlay.d.ts.map +1 -0
  109. package/dist/maps/overlay.js +472 -0
  110. package/dist/maps/overlay.js.map +1 -0
  111. package/dist/maps/paint.d.ts +226 -0
  112. package/dist/maps/paint.d.ts.map +1 -0
  113. package/dist/maps/paint.js +705 -0
  114. package/dist/maps/paint.js.map +1 -0
  115. package/dist/maps/proj.d.ts +281 -0
  116. package/dist/maps/proj.d.ts.map +1 -0
  117. package/dist/maps/proj.js +451 -0
  118. package/dist/maps/proj.js.map +1 -0
  119. package/dist/maps/sources.d.ts +256 -0
  120. package/dist/maps/sources.d.ts.map +1 -0
  121. package/dist/maps/sources.js +210 -0
  122. package/dist/maps/sources.js.map +1 -0
  123. package/dist/maps/style.d.ts +141 -0
  124. package/dist/maps/style.d.ts.map +1 -0
  125. package/dist/maps/style.js +147 -0
  126. package/dist/maps/style.js.map +1 -0
  127. package/dist/maps/styles.d.ts +82 -0
  128. package/dist/maps/styles.d.ts.map +1 -0
  129. package/dist/maps/styles.js +898 -0
  130. package/dist/maps/styles.js.map +1 -0
  131. package/dist/maps/tiles.d.ts +283 -0
  132. package/dist/maps/tiles.d.ts.map +1 -0
  133. package/dist/maps/tiles.js +469 -0
  134. package/dist/maps/tiles.js.map +1 -0
  135. package/dist/maps/types.d.ts +244 -0
  136. package/dist/maps/types.d.ts.map +1 -0
  137. package/dist/maps/types.js +2 -0
  138. package/dist/maps/types.js.map +1 -0
  139. package/dist/qml/containers.d.ts +3 -0
  140. package/dist/qml/containers.d.ts.map +1 -0
  141. package/dist/qml/containers.js +331 -0
  142. package/dist/qml/containers.js.map +1 -0
  143. package/dist/qml/controls.d.ts +12 -0
  144. package/dist/qml/controls.d.ts.map +1 -0
  145. package/dist/qml/controls.js +21 -0
  146. package/dist/qml/controls.js.map +1 -0
  147. package/dist/qml/globals.d.ts +6 -0
  148. package/dist/qml/globals.d.ts.map +1 -0
  149. package/dist/qml/globals.js +25 -0
  150. package/dist/qml/globals.js.map +1 -0
  151. package/dist/qml/index.d.ts +15 -0
  152. package/dist/qml/index.d.ts.map +1 -0
  153. package/dist/qml/index.js +25 -0
  154. package/dist/qml/index.js.map +1 -0
  155. package/dist/qml/interaction.d.ts +12 -0
  156. package/dist/qml/interaction.d.ts.map +1 -0
  157. package/dist/qml/interaction.js +246 -0
  158. package/dist/qml/interaction.js.map +1 -0
  159. package/dist/qml/ir.d.ts +106 -0
  160. package/dist/qml/ir.d.ts.map +1 -0
  161. package/dist/qml/ir.js +7 -0
  162. package/dist/qml/ir.js.map +1 -0
  163. package/dist/qml/layouts.d.ts +3 -0
  164. package/dist/qml/layouts.d.ts.map +1 -0
  165. package/dist/qml/layouts.js +122 -0
  166. package/dist/qml/layouts.js.map +1 -0
  167. package/dist/qml/models.d.ts +14 -0
  168. package/dist/qml/models.d.ts.map +1 -0
  169. package/dist/qml/models.js +80 -0
  170. package/dist/qml/models.js.map +1 -0
  171. package/dist/qml/objects.d.ts +228 -0
  172. package/dist/qml/objects.d.ts.map +1 -0
  173. package/dist/qml/objects.js +1103 -0
  174. package/dist/qml/objects.js.map +1 -0
  175. package/dist/qml/parse.d.ts +10 -0
  176. package/dist/qml/parse.d.ts.map +1 -0
  177. package/dist/qml/parse.js +607 -0
  178. package/dist/qml/parse.js.map +1 -0
  179. package/dist/qml/qtquick.d.ts +7 -0
  180. package/dist/qml/qtquick.d.ts.map +1 -0
  181. package/dist/qml/qtquick.js +347 -0
  182. package/dist/qml/qtquick.js.map +1 -0
  183. package/dist/qml/react.d.ts +83 -0
  184. package/dist/qml/react.d.ts.map +1 -0
  185. package/dist/qml/react.js +323 -0
  186. package/dist/qml/react.js.map +1 -0
  187. package/dist/qml/resolver.d.ts +38 -0
  188. package/dist/qml/resolver.d.ts.map +1 -0
  189. package/dist/qml/resolver.js +64 -0
  190. package/dist/qml/resolver.js.map +1 -0
  191. package/dist/qml/slots.d.ts +65 -0
  192. package/dist/qml/slots.d.ts.map +1 -0
  193. package/dist/qml/slots.js +230 -0
  194. package/dist/qml/slots.js.map +1 -0
  195. package/dist/qml/states.d.ts +5 -0
  196. package/dist/qml/states.d.ts.map +1 -0
  197. package/dist/qml/states.js +276 -0
  198. package/dist/qml/states.js.map +1 -0
  199. package/dist/qml/view-utils.d.ts +42 -0
  200. package/dist/qml/view-utils.d.ts.map +1 -0
  201. package/dist/qml/view-utils.js +121 -0
  202. package/dist/qml/view-utils.js.map +1 -0
  203. package/dist/reorder/hx.d.ts +18 -0
  204. package/dist/reorder/hx.d.ts.map +1 -0
  205. package/dist/reorder/hx.js +10 -0
  206. package/dist/reorder/hx.js.map +1 -0
  207. package/dist/reorder/index.d.ts +314 -0
  208. package/dist/reorder/index.d.ts.map +1 -0
  209. package/dist/reorder/index.js +1539 -0
  210. package/dist/reorder/index.js.map +1 -0
  211. package/dist/reorder/model.d.ts +107 -0
  212. package/dist/reorder/model.d.ts.map +1 -0
  213. package/dist/reorder/model.js +162 -0
  214. package/dist/reorder/model.js.map +1 -0
  215. package/dist/richtext/node.d.ts +15 -5
  216. package/dist/richtext/node.d.ts.map +1 -1
  217. package/dist/richtext/node.js +40 -11
  218. package/dist/richtext/node.js.map +1 -1
  219. package/dist/richtext/runs.d.ts +35 -13
  220. package/dist/richtext/runs.d.ts.map +1 -1
  221. package/dist/richtext/runs.js +83 -27
  222. package/dist/richtext/runs.js.map +1 -1
  223. package/dist/tabs/hx.d.ts +18 -0
  224. package/dist/tabs/hx.d.ts.map +1 -0
  225. package/dist/tabs/hx.js +10 -0
  226. package/dist/tabs/hx.js.map +1 -0
  227. package/dist/tabs/index.d.ts +160 -0
  228. package/dist/tabs/index.d.ts.map +1 -0
  229. package/dist/tabs/index.js +1265 -0
  230. package/dist/tabs/index.js.map +1 -0
  231. package/dist/terminal/vt/fonts.d.ts +45 -15
  232. package/dist/terminal/vt/fonts.d.ts.map +1 -1
  233. package/dist/terminal/vt/fonts.js +89 -19
  234. package/dist/terminal/vt/fonts.js.map +1 -1
  235. package/dist/terminal/vt/index.d.ts +1 -1
  236. package/dist/terminal/vt/index.d.ts.map +1 -1
  237. package/dist/terminal/vt/index.js +3 -3
  238. package/dist/terminal/vt/index.js.map +1 -1
  239. package/dist/terminal/vt/node.d.ts +42 -0
  240. package/dist/terminal/vt/node.d.ts.map +1 -1
  241. package/dist/terminal/vt/node.js +95 -11
  242. package/dist/terminal/vt/node.js.map +1 -1
  243. package/dist/terminal/vt/pty.d.ts +16 -0
  244. package/dist/terminal/vt/pty.d.ts.map +1 -1
  245. package/dist/terminal/vt/pty.js +186 -0
  246. package/dist/terminal/vt/pty.js.map +1 -1
  247. package/dist/terminal/vt/renderer.d.ts.map +1 -1
  248. package/dist/terminal/vt/renderer.js +13 -3
  249. package/dist/terminal/vt/renderer.js.map +1 -1
  250. package/package.json +23 -3
  251. package/src/charts/components.ts +14 -7
  252. package/src/charts/node.ts +81 -26
  253. package/src/charts/render.ts +16 -6
  254. package/src/code-editor/node.ts +147 -53
  255. package/src/flow/draw.ts +104 -35
  256. package/src/flow/index.ts +33 -13
  257. package/src/flow/model.ts +4 -2
  258. package/src/flow/node.ts +158 -59
  259. package/src/flow/types.ts +46 -21
  260. package/src/formula/index.ts +4 -2
  261. package/src/formula/node.ts +24 -5
  262. package/src/html/controls.ts +4 -1
  263. package/src/html/css/cascade.ts +18 -7
  264. package/src/html/css/parse.ts +46 -21
  265. package/src/html/css/style.ts +6 -1
  266. package/src/html/css/values.ts +25 -9
  267. package/src/html/index.ts +1 -0
  268. package/src/html/layout/boxes.ts +19 -9
  269. package/src/html/layout/inline.ts +23 -1
  270. package/src/html/node.ts +110 -17
  271. package/src/html/paint.ts +17 -2
  272. package/src/index.ts +142 -0
  273. package/src/maps/clip.ts +184 -0
  274. package/src/maps/gzip.ts +66 -0
  275. package/src/maps/index.ts +316 -0
  276. package/src/maps/labels.ts +442 -0
  277. package/src/maps/mvt.ts +857 -0
  278. package/src/maps/node.ts +1819 -0
  279. package/src/maps/overlay.ts +639 -0
  280. package/src/maps/paint.ts +978 -0
  281. package/src/maps/proj.ts +641 -0
  282. package/src/maps/sources.ts +425 -0
  283. package/src/maps/style.ts +309 -0
  284. package/src/maps/styles.ts +1040 -0
  285. package/src/maps/tiles.ts +676 -0
  286. package/src/maps/types.ts +260 -0
  287. package/src/qml/containers.tsx +380 -0
  288. package/src/qml/controls.tsx +47 -0
  289. package/src/qml/globals.ts +33 -0
  290. package/src/qml/index.ts +67 -0
  291. package/src/qml/interaction.tsx +317 -0
  292. package/src/qml/ir.ts +80 -0
  293. package/src/qml/layouts.tsx +141 -0
  294. package/src/qml/models.ts +101 -0
  295. package/src/qml/objects.ts +1431 -0
  296. package/src/qml/parse.ts +624 -0
  297. package/src/qml/qtquick.tsx +413 -0
  298. package/src/qml/react.tsx +454 -0
  299. package/src/qml/resolver.ts +99 -0
  300. package/src/qml/slots.ts +249 -0
  301. package/src/qml/states.ts +318 -0
  302. package/src/qml/view-utils.ts +140 -0
  303. package/src/reorder/hx.ts +31 -0
  304. package/src/reorder/index.ts +2223 -0
  305. package/src/reorder/model.ts +232 -0
  306. package/src/richtext/node.ts +49 -14
  307. package/src/richtext/runs.ts +115 -30
  308. package/src/tabs/hx.ts +31 -0
  309. package/src/tabs/index.ts +1686 -0
  310. package/src/terminal/vt/fonts.ts +128 -36
  311. package/src/terminal/vt/index.ts +4 -2
  312. package/src/terminal/vt/node.ts +105 -12
  313. package/src/terminal/vt/pty.ts +243 -0
  314. package/src/terminal/vt/renderer.ts +13 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/maps/styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ import type { PreparedStyle } from './paint.js';
2
+ import type { VectorTile } from './mvt.js';
3
+ import type { TileId } from './proj.js';
4
+ import type { MapSource } from './sources.js';
5
+ /** The slice of `react-x11/ntk`'s `Surface` this uses. Structural because
6
+ * the same object is an X pixmap on one backend and a CoreGraphics bitmap
7
+ * on the other, and neither name appears here. */
8
+ export interface SurfaceLike {
9
+ readonly width: number;
10
+ readonly height: number;
11
+ getContext(name: '2d', ...args: unknown[]): unknown;
12
+ clear(): unknown;
13
+ destroy(): void;
14
+ }
15
+ /** How a surface is made — handed in rather than imported, so a test can
16
+ * run the whole cache with no display. */
17
+ export type SurfaceFactory = (size: number) => SurfaceLike | null;
18
+ /** Where a tile has got to. */
19
+ export type TileStatus =
20
+ /** Never asked for. */
21
+ 'idle'
22
+ /** The source was asked and has not answered. */
23
+ | 'loading'
24
+ /** Data is here. */
25
+ | 'ready'
26
+ /** The source said there is nothing here — an ordinary answer, not a
27
+ * failure, and the reason a map over an ocean is not full of errors. */
28
+ | 'empty'
29
+ /** The source threw. Retried on the next camera change that wants it. */
30
+ | 'error';
31
+ /**
32
+ * One rendering of a tile: a surface, the context that draws into it, and
33
+ * what it was drawn for.
34
+ *
35
+ * A tile has up to two — the one on screen and the one being drawn — which
36
+ * is what stops a re-rasterization blanking the map. See
37
+ * {@link CachedTile.shown}.
38
+ */
39
+ export interface TileRender {
40
+ surface: SurfaceLike;
41
+ /** Held for the life of the surface rather than made per frame: a context
42
+ * is a real resource on X11 (a GC, a Picture and a listener on the
43
+ * pixmap), and rasterization is resumable, so a tile that fills in over a
44
+ * dozen frames would otherwise make and destroy a dozen of them. */
45
+ context: unknown;
46
+ /** Edge length in device pixels. */
47
+ size: number;
48
+ /** The zoom its style was resolved at. */
49
+ zoom: number;
50
+ /** The cache generation it was drawn under. */
51
+ generation: number;
52
+ /** The next style run to draw, or `-1` when it is finished. */
53
+ progress: number;
54
+ /** …and how far into that run's active layers, because a run is not a
55
+ * small enough unit on its own: a road network is one run of fourteen
56
+ * layers and one of those layers alone measured 90 ms. */
57
+ progressLayer: number;
58
+ }
59
+ /**
60
+ * What a source answered for one tile, shared by every rendering of it.
61
+ *
62
+ * Separate from {@link CachedTile} because past a source's `maxZoom` the
63
+ * two are not the same tile: a zoom-20 rendering draws a zoom-14 tile's
64
+ * data, and its two hundred and fifty-five neighbours draw the same one.
65
+ */
66
+ export interface TileDataEntry {
67
+ readonly key: string;
68
+ readonly tile: TileId;
69
+ status: TileStatus;
70
+ error: unknown;
71
+ vector: VectorTile | null;
72
+ raster: {
73
+ width: number;
74
+ height: number;
75
+ data: Uint8Array;
76
+ } | null;
77
+ /** Cancels an in-flight load. */
78
+ abort: (() => void) | null;
79
+ /** How many times this tile's load has failed in a row. */
80
+ attempts: number;
81
+ /** `Date.now()` before which a failed tile is not asked for again. */
82
+ retryAt: number;
83
+ /** Frame counter of the last frame that wanted it. */
84
+ lastUsed: number;
85
+ }
86
+ /**
87
+ * One tile as the cover asked for it, and its renderings.
88
+ *
89
+ * The data behind it is `data`, which is this tile until the cover goes
90
+ * deeper than the source does. The status accessors read through, so
91
+ * everything that only wants "is there anything to draw" reads the same
92
+ * names it always did.
93
+ */
94
+ export declare class CachedTile {
95
+ readonly key: string;
96
+ readonly sourceId: string;
97
+ readonly tile: TileId;
98
+ /** The source tile whose bytes this draws. Itself, or an ancestor. */
99
+ readonly data: TileDataEntry;
100
+ /** Where this tile sits inside `data`: cell `(x, y)` of `span × span`. */
101
+ readonly sub: {
102
+ x: number;
103
+ y: number;
104
+ span: number;
105
+ };
106
+ /**
107
+ * The rendering that is on screen. **Always finished**, which is the
108
+ * whole point of the pair.
109
+ *
110
+ * A tile is re-rasterized whenever its size, its style zoom or the cache
111
+ * generation moves. Drawn in place, each of those clears the surface and
112
+ * leaves the tile blank for the six or so frames it takes to redraw: a
113
+ * visible flash, and many more of them on a backend that paints more
114
+ * frames. So the new rendering goes into {@link drawing} and this one
115
+ * keeps being composited until it is ready to be replaced.
116
+ */
117
+ shown: TileRender | null;
118
+ /** The rendering being drawn, or null when there is nothing to draw. */
119
+ drawing: TileRender | null;
120
+ /** Frame counter of the last frame that wanted it — what eviction sorts
121
+ * on. */
122
+ lastUsed: number;
123
+ constructor(key: string, sourceId: string, tile: TileId, data: TileDataEntry, sub: {
124
+ x: number;
125
+ y: number;
126
+ span: number;
127
+ });
128
+ get status(): TileStatus;
129
+ get error(): unknown;
130
+ get vector(): VectorTile | null;
131
+ get raster(): {
132
+ width: number;
133
+ height: number;
134
+ data: Uint8Array;
135
+ } | null;
136
+ }
137
+ export interface TileCacheOptions {
138
+ /**
139
+ * How many bytes of rendered surfaces to keep. An argb32 surface is
140
+ * `4 × size²`, so a 1024-pixel tile is 4 MB and a retina screenful is
141
+ * about ten of them; the default keeps roughly three screenfuls, which is
142
+ * what makes zooming out and back in free.
143
+ */
144
+ surfaceBudget?: number;
145
+ /** How many tiles' worth of parsed data to keep. Cheap next to the
146
+ * surfaces (a dense tile is a few hundred KB) and worth keeping longer,
147
+ * because re-parsing is 5-12 ms. */
148
+ dataBudget?: number;
149
+ /** Called when a load finishes, so the element can ask for a repaint. */
150
+ onChange?: (entry: TileDataEntry) => void;
151
+ /** Called once per failed load. A map whose tiles all fail looks exactly
152
+ * like a map that is still loading, so somebody has to be told. */
153
+ onError?: (entry: TileDataEntry) => void;
154
+ }
155
+ /**
156
+ * The cache.
157
+ *
158
+ * One per element. Nothing in it knows about the camera: it is asked for
159
+ * tiles by name, and told once a frame which ones are still wanted.
160
+ */
161
+ export declare class TileCache {
162
+ private readonly _entries;
163
+ /** The source's own tiles, shared by every rendering that draws one. */
164
+ private readonly _data;
165
+ private readonly _options;
166
+ private _frame;
167
+ private _surfaceBytes;
168
+ /** Bumped by a style change, which retires every surface without
169
+ * touching the data behind it. */
170
+ private _generation;
171
+ constructor(options?: TileCacheOptions);
172
+ /** Bumped once per paint; `lastUsed` is stamped from it. */
173
+ beginFrame(): number;
174
+ get generation(): number;
175
+ /** Every rendered surface is stale — a new style, a new display scale. */
176
+ invalidateStyle(): void;
177
+ /** How much the rendered surfaces are holding, in bytes. */
178
+ get surfaceBytes(): number;
179
+ get size(): number;
180
+ key(sourceId: string, tile: TileId): string;
181
+ peek(sourceId: string, tile: TileId): CachedTile | undefined;
182
+ /**
183
+ * The entry for a tile the cover asked for, and the data behind it,
184
+ * asking the source for that data if nothing has yet.
185
+ *
186
+ * `dataTile` is the tile whose bytes serve this one — itself, until the
187
+ * cover goes deeper than the source cuts. Marks both used by the current
188
+ * frame, which is what keeps them out of the next eviction.
189
+ */
190
+ want(source: MapSource, sourceId: string, tile: TileId, dataTile?: TileId, sub?: {
191
+ x: number;
192
+ y: number;
193
+ span: number;
194
+ }): CachedTile;
195
+ private _wantData;
196
+ private _load;
197
+ /**
198
+ * The nearest ancestor of `tile` that already has a drawn surface, or
199
+ * null.
200
+ *
201
+ * What covers a hole. A zoom in has the previous level's tiles in hand
202
+ * and the new level's on the way, so the coarse picture is scaled up
203
+ * under the fine one until it arrives — which is the difference between a
204
+ * map that fills in and a map that flashes empty. Bounded, because
205
+ * scaling one tile over sixteen screenfuls is worse than the hole.
206
+ */
207
+ ancestorWithSurface(sourceId: string, tile: TileId, levels?: number): CachedTile | null;
208
+ /**
209
+ * The finished **descendants** of a tile, and where each sits inside it.
210
+ *
211
+ * The mirror of {@link ancestorWithSurface}, and the half a map needs
212
+ * when it zooms *out*: the tiles already in hand are then the target's
213
+ * children, and walking up the pyramid finds nothing. Without this a
214
+ * zoom-out shows the background — with the labels and markers still drawn
215
+ * over it, which is exactly as odd as it sounds — until the coarser tile
216
+ * has been fetched, rasterized and composited.
217
+ *
218
+ * `depth` is how many levels down to look, and it is small on purpose: a
219
+ * level down is 4 tiles, two is 16, and beyond that the pieces are too
220
+ * small to be worth the composites.
221
+ */
222
+ descendantsWithSurface(sourceId: string, tile: TileId, depth?: number): {
223
+ entry: CachedTile;
224
+ x: number;
225
+ y: number;
226
+ span: number;
227
+ }[];
228
+ /**
229
+ * The rendering this tile should be drawn into, or null when what is on
230
+ * screen is already right.
231
+ *
232
+ * The size, the zoom and the cache generation are all part of what makes
233
+ * a rendering valid: one drawn at the wrong size composites blurry, and
234
+ * one drawn at another zoom carries the wrong road widths and the wrong
235
+ * layers.
236
+ *
237
+ * When something is already on screen and a *new* rendering is needed,
238
+ * this hands back a second surface and leaves the first one composited
239
+ * until {@link promote} swaps them. That is the whole of the
240
+ * double-buffering: without it a re-rasterization clears the surface and
241
+ * the tile is blank for the several frames it takes to redraw, which
242
+ * above a source's `maxZoom` happens at every integer zoom — the same
243
+ * z14 tile serves 15, 16, 17 and on.
244
+ */
245
+ beginRender(entry: CachedTile, size: number, zoom: number, make: SurfaceFactory): TileRender | null;
246
+ private _matches;
247
+ /** The finished draft becomes what is on screen, and the old one goes.
248
+ * True when that happened, which is the one moment a tile's pixels
249
+ * change and therefore the one moment worth claiming damage for. */
250
+ promote(entry: CachedTile): boolean;
251
+ /** Note where a tile's rasterization stopped: at run `run`, having
252
+ * finished `layer` of its active layers (`-1` for all of them). */
253
+ advance(render: TileRender, run: number, layer: number, style: PreparedStyle): void;
254
+ /**
255
+ * Drop what is no longer worth keeping.
256
+ *
257
+ * Surfaces go first and by least-recently-wanted, because they are two
258
+ * orders of magnitude larger than the data behind them and much cheaper
259
+ * to lose: a dropped surface is one re-rasterization, a dropped tile is a
260
+ * network request.
261
+ */
262
+ sweep(): void;
263
+ private _dropSurface;
264
+ private _release;
265
+ private _drop;
266
+ /** Drop a source tile's bytes, and abort a load still in flight for it.
267
+ * Only when no rendering still points at it. */
268
+ private _dropData;
269
+ /** Release everything. Called from the element's `destroySubtree`. */
270
+ destroy(): void;
271
+ /** Every entry — for a test, and for the `onTiles` diagnostic. */
272
+ entries(): IterableIterator<CachedTile>;
273
+ /** Every source tile whose bytes are held. What labels are collected
274
+ * from: a label belongs to the tile the data came from, and past a
275
+ * source's depth many renderings share one of those. */
276
+ dataEntries(): IterableIterator<TileDataEntry>;
277
+ }
278
+ export declare function pyramid(source: MapSource): {
279
+ minZoom: number;
280
+ maxZoom: number;
281
+ tileSize: number;
282
+ };
283
+ //# sourceMappingURL=tiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiles.d.ts","sourceRoot":"","sources":["../../src/maps/tiles.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,cAAc,CAAC;AAExD;;mDAEmD;AACnD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACpD,KAAK,IAAI,OAAO,CAAC;IACjB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;2CAC2C;AAC3C,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;AAElE,+BAA+B;AAC/B,MAAM,MAAM,UAAU;AACpB,uBAAuB;AACrB,MAAM;AACR,iDAAiD;GAC/C,SAAS;AACX,oBAAoB;GAClB,OAAO;AACT;yEACyE;GACvE,OAAO;AACT,yEAAyE;GACvE,OAAO,CAAC;AAEZ;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB;;;yEAGqE;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB;;+DAE2D;IAC3D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,iCAAiC;IACjC,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAErD;;;;;;;;;;OAUG;IACH,KAAK,EAAE,UAAU,GAAG,IAAI,CAAQ;IAChC,wEAAwE;IACxE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAQ;IAClC;cACU;IACV,QAAQ,SAAK;IAEb,YACE,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAO5C;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;IACD,IAAI,MAAM,IAAI,UAAU,GAAG,IAAI,CAE9B;IACD,IAAI,MAAM,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAEvE;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;yCAEqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C;wEACoE;IACpE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAKD;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,aAAa,CAAK;IAC1B;uCACmC;IACnC,OAAO,CAAC,WAAW,CAAK;IAExB,YAAY,OAAO,GAAE,gBAAqB,EAEzC;IAED,4DAA4D;IAC5D,UAAU,IAAI,MAAM,CAEnB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,0EAA0E;IAC1E,eAAe,IAAI,IAAI,CAEtB;IAED,4DAA4D;IAC5D,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;IAED,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE3D;IAED;;;;;;;OAOG;IACH,IAAI,CACF,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAa,EACvB,GAAG,GAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAA4B,GACpE,UAAU,CAUZ;IAED,OAAO,CAAC,SAAS;IAoCjB,OAAO,CAAC,KAAK;IAwFb;;;;;;;;;OASG;IACH,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,SAAI,GACT,UAAU,GAAG,IAAI,CAiBnB;IAED;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,SAAI,GACR;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAyB7D;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CACT,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,UAAU,GAAG,IAAI,CAoBnB;IAED,OAAO,CAAC,QAAQ;IAahB;;yEAEqE;IACrE,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAMlC;IAED;wEACoE;IACpE,OAAO,CACL,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,aAAa,GACnB,IAAI,CAGN;IAED;;;;;;;OAOG;IACH,KAAK,IAAI,IAAI,CAsCZ;IAED,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,KAAK;IAKb;qDACiD;IACjD,OAAO,CAAC,SAAS;IAQjB,sEAAsE;IACtE,OAAO,IAAI,IAAI,CAMd;IAED,kEAAkE;IAClE,OAAO,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAEtC;IAED;;6DAEyD;IACzD,WAAW,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAE7C;CACF;AASD,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAOA"}