@maptiler/sdk 3.10.2 → 3.11.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +233 -66
  2. package/dist/eslint.mjs +8 -0
  3. package/dist/maptiler-sdk.mjs +3512 -2464
  4. package/dist/maptiler-sdk.mjs.map +1 -1
  5. package/dist/src/ImageViewer/ImageViewer.d.ts +2 -2
  6. package/dist/src/Map.d.ts +42 -2
  7. package/dist/src/MaptilerAnimation/AnimationManager.d.ts +41 -0
  8. package/dist/src/MaptilerAnimation/MaptilerAnimation.d.ts +238 -0
  9. package/dist/src/MaptilerAnimation/animation-helpers.d.ts +183 -0
  10. package/dist/src/MaptilerAnimation/easing.d.ts +3 -0
  11. package/dist/src/MaptilerAnimation/index.d.ts +7 -0
  12. package/dist/src/MaptilerAnimation/types.d.ts +26 -0
  13. package/dist/src/custom-layers/AnimatedRouteLayer/AnimatedRouteLayer.d.ts +293 -0
  14. package/dist/src/custom-layers/AnimatedRouteLayer/index.d.ts +1 -0
  15. package/dist/src/custom-layers/CubemapLayer/CubemapLayer.d.ts +1 -1
  16. package/dist/src/index.d.ts +2 -0
  17. package/dist/src/utils/array.d.ts +1 -0
  18. package/dist/src/utils/json.d.ts +1 -0
  19. package/dist/src/utils/string.d.ts +1 -0
  20. package/e2e/global.d.ts +14 -1
  21. package/e2e/public/animated-route.geojson +82 -0
  22. package/e2e/public/animatedRouteLayer.html +24 -0
  23. package/e2e/public/haloSpace.html +25 -0
  24. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-0-chromium-linux.png +0 -0
  25. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-1-chromium-linux.png +0 -0
  26. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-10-chromium-linux.png +0 -0
  27. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-11-chromium-linux.png +0 -0
  28. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-12-chromium-linux.png +0 -0
  29. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-13-chromium-linux.png +0 -0
  30. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-14-chromium-linux.png +0 -0
  31. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-15-chromium-linux.png +0 -0
  32. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-16-chromium-linux.png +0 -0
  33. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-17-chromium-linux.png +0 -0
  34. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-18-chromium-linux.png +0 -0
  35. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-19-chromium-linux.png +0 -0
  36. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-2-chromium-linux.png +0 -0
  37. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-3-chromium-linux.png +0 -0
  38. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-4-chromium-linux.png +0 -0
  39. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-5-chromium-linux.png +0 -0
  40. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-6-chromium-linux.png +0 -0
  41. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-7-chromium-linux.png +0 -0
  42. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-8-chromium-linux.png +0 -0
  43. package/e2e/snapshots/tests/AnimatedRouteLayer.test.ts-snapshots/animated-route-9-chromium-linux.png +0 -0
  44. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-catalogue-style-halo-constructor-override-chromium-linux.png +0 -0
  45. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-json-style-config-halo-constructor-override-chromium-linux.png +0 -0
  46. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-json-style-config-halo-rendered-chromium-linux.png +0 -0
  47. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-json-style-config-halo-rendered-chromium.png +0 -0
  48. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-json-style-config-halo-true-chromium-linux.png +0 -0
  49. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-no-style-config-halo-true-chromium-linux.png +0 -0
  50. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-remote-style-config-halo-constructor-override-chromium-linux.png +0 -0
  51. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-remote-style-config-halo-false-chromium-linux.png +0 -0
  52. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-remote-style-config-halo-true-chromium-linux.png +0 -0
  53. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-style-config-halo-json-default-chromium-linux.png +0 -0
  54. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-style-config-halo-json-default-chromium.png +0 -0
  55. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-style-config-halo-json-false-chromium-linux.png +0 -0
  56. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-style-config-halo-json-false-chromium.png +0 -0
  57. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-style-config-halo-json-valid-chromium-linux.png +0 -0
  58. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-style-config-halo-json-valid-chromium.png +0 -0
  59. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/halo-halo-style-config-halo-remote-valid-chromium-linux.png +0 -0
  60. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-catalogue-style-config-space-true-chromium-linux.png +0 -0
  61. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-catalogue-style-config-space-undefined-chromium-linux.png +0 -0
  62. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-json-style-config-space-true-chromium-linux.png +0 -0
  63. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-json-style-config-space-true-chromium.png +0 -0
  64. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-json-style-config-space-true-default-chromium-linux.png +0 -0
  65. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-json-style-config-space-true-default-chromium.png +0 -0
  66. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-style-config-constructor-undefined-with-json-style-config-chromium-linux.png +0 -0
  67. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-style-config-space-constructor-with-catalogue-style-config-chromium-linux.png +0 -0
  68. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-style-config-space-constructor-with-json-space-config-chromium-linux.png +0 -0
  69. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-style-config-space-constructor-with-json-space-config-chromium.png +0 -0
  70. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-style-config-space-false-with-json-style-config-chromium-linux.png +0 -0
  71. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-style-config-space-false-with-json-style-config-chromium.png +0 -0
  72. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-style-config-space-false-with-style-config-chromium-linux.png +0 -0
  73. package/e2e/snapshots/tests/haloSpace.test.ts-snapshots/space-space-style-config-space-true-no-style-config-chromium-linux.png +0 -0
  74. package/e2e/snapshots/tests/map-load.test.ts-snapshots/halo-halo-json-style-config-halo-rendered-chromium-linux.png +0 -0
  75. package/e2e/snapshots/tests/map-load.test.ts-snapshots/halo-halo-json-style-config-halo-true-chromium-linux.png +0 -0
  76. package/e2e/snapshots/tests/map-load.test.ts-snapshots/halo-halo-style-config-halo-json-default-chromium-linux.png +0 -0
  77. package/e2e/snapshots/tests/map-load.test.ts-snapshots/halo-halo-style-config-halo-json-false-chromium-linux.png +0 -0
  78. package/e2e/snapshots/tests/map-load.test.ts-snapshots/halo-halo-style-config-halo-json-valid-chromium-linux.png +0 -0
  79. package/e2e/snapshots/tests/map-load.test.ts-snapshots/space-space-json-style-config-space-true-chromium-linux.png +0 -0
  80. package/e2e/snapshots/tests/map-load.test.ts-snapshots/space-space-json-style-config-space-true-chromium.png +0 -0
  81. package/e2e/snapshots/tests/map-load.test.ts-snapshots/space-space-json-style-config-space-true-default-chromium-linux.png +0 -0
  82. package/e2e/snapshots/tests/map-load.test.ts-snapshots/space-space-style-config-space-constructor-with-json-space-config-chromium-linux.png +0 -0
  83. package/e2e/snapshots/tests/map-load.test.ts-snapshots/space-space-style-config-space-false-with-json-style-config-chromium-linux.png +0 -0
  84. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/halo-halo-json-style-config-halo-rendered-chromium-linux.png +0 -0
  85. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/halo-halo-json-style-config-halo-true-chromium-linux.png +0 -0
  86. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/halo-halo-style-config-halo-json-default-chromium-linux.png +0 -0
  87. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/halo-halo-style-config-halo-json-false-chromium-linux.png +0 -0
  88. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/halo-halo-style-config-halo-json-valid-chromium-linux.png +0 -0
  89. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/space-space-json-style-config-space-true-chromium-linux.png +0 -0
  90. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/space-space-json-style-config-space-true-default-chromium-linux.png +0 -0
  91. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/space-space-style-config-space-constructor-with-json-space-config-chromium-linux.png +0 -0
  92. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/space-space-style-config-space-false-with-json-style-config-chromium-linux.png +0 -0
  93. package/e2e/tests/AnimatedRouteLayer.test.ts +45 -0
  94. package/e2e/tests/consts.ts +0 -0
  95. package/e2e/tests/expected-results/animatedRouteLayer-1.json +202 -0
  96. package/e2e/tests/haloSpace.test.ts +809 -0
  97. package/e2e/tests/helpers/fetchGeojson.ts +21 -0
  98. package/e2e/tests/helpers/getMapInstanceForFixture.ts +87 -0
  99. package/e2e/tests/helpers/injectGlobalVariables.ts +13 -0
  100. package/e2e/tests/helpers/loadFixtureAndGetMapHandle.ts +46 -36
  101. package/e2e/tests/mocks/maptiler-style-space-halo-invalid.json +38 -0
  102. package/e2e/tests/mocks/maptiler-style-space-halo.json +41 -0
  103. package/e2e/tests/mocks/maptiler-style.json +1 -0
  104. package/e2e/tests/rtlTextPlugin.test.ts +3 -12
  105. package/e2e/tsconfig.json +1 -1
  106. package/eslint.config.mjs +8 -0
  107. package/package.json +11 -4
  108. package/playwright.config.ts +7 -2
  109. package/tsconfig.json +1 -1
  110. package/vitest-setup-tests.ts +16 -0
  111. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/rtlTextPlugin-active-chromium-linux.png +0 -0
  112. package/e2e/snapshots/tests/rtlTextPlugin.test.ts-snapshots/rtlTextPlugin-disabled-chromium-linux.png +0 -0
@@ -0,0 +1,45 @@
1
+ import { expect, test } from "@playwright/test";
2
+ import getMapInstanceForFixture from "./helpers/getMapInstanceForFixture";
3
+ import { AnimatedRouteLayer } from "index";
4
+ import { Map as SDKMap } from "../../src";
5
+ import expected from "./expected-results/animatedRouteLayer-1.json" assert { type: "json" };
6
+
7
+ test.setTimeout(60000);
8
+
9
+ test("Follows the correct path taking screenshots at each interval", async ({ page }) => {
10
+ await getMapInstanceForFixture({
11
+ fixture: "animatedRouteLayer",
12
+ page,
13
+ timeout: 20000,
14
+ });
15
+
16
+ expect(await page.title()).toBe("MapTiler E2E Animated Route Layer");
17
+
18
+ await page.exposeFunction("notifyScreenshotStateReady", async (data: Record<string, TTestTransferData>) => {
19
+ await expect(page).toHaveScreenshot(`animated-route-${data.frame}.png`, { timeout: 10000 });
20
+ expect(data).toEqual(expected[data.frame as number]);
21
+ });
22
+
23
+ await page.evaluate(async () => {
24
+ const NUM_SCREENSHOTS = 20;
25
+ const NUM_FRAMES_BETWEEN_SCREENSHOTS = 20;
26
+
27
+ const { animatedRouteLayer } = window.__pageObjects as { animatedRouteLayer: AnimatedRouteLayer };
28
+ const map = window.__map as SDKMap;
29
+
30
+ for (let i = 0; i < NUM_SCREENSHOTS; i++) {
31
+ for (let j = 0; j < NUM_FRAMES_BETWEEN_SCREENSHOTS; j++) {
32
+ animatedRouteLayer.updateManual();
33
+ }
34
+ await window.notifyScreenshotStateReady({
35
+ frame: i,
36
+ center: map.getCenter().toArray(),
37
+ zoom: map.getZoom(),
38
+ pitch: map.getPitch(),
39
+ bearing: map.getBearing(),
40
+ });
41
+ }
42
+ });
43
+
44
+ await page.clock.runFor(10000);
45
+ });
File without changes
@@ -0,0 +1,202 @@
1
+ [
2
+ {
3
+ "frame": 0,
4
+ "center": [
5
+ -5.503929002848309,
6
+ 55.4483007795622
7
+ ],
8
+ "zoom": 13.597391304347825,
9
+ "pitch": 31.947826086956518,
10
+ "bearing": 11.519999999999984
11
+ },
12
+ {
13
+ "frame": 1,
14
+ "center": [
15
+ -5.494306507214272,
16
+ 55.45260568705471
17
+ ],
18
+ "zoom": 13.694782608695652,
19
+ "pitch": 33.89565217391305,
20
+ "bearing": 23.039999999999967
21
+ },
22
+ {
23
+ "frame": 2,
24
+ "center": [
25
+ -5.4847766939001055,
26
+ 55.456341598415534
27
+ ],
28
+ "zoom": 13.792173913043479,
29
+ "pitch": 35.84347826086956,
30
+ "bearing": 34.55999999999994
31
+ },
32
+ {
33
+ "frame": 3,
34
+ "center": [
35
+ -5.47551525819489,
36
+ 55.458429883545875
37
+ ],
38
+ "zoom": 13.889565217391306,
39
+ "pitch": 37.7913043478261,
40
+ "bearing": 46.08000000000004
41
+ },
42
+ {
43
+ "frame": 4,
44
+ "center": [
45
+ -5.466386579957341,
46
+ 55.45786010242567
47
+ ],
48
+ "zoom": 13.98695652173913,
49
+ "pitch": 39.739130434782595,
50
+ "bearing": 57.5999999999999
51
+ },
52
+ {
53
+ "frame": 5,
54
+ "center": [
55
+ -5.456458559208864,
56
+ 55.45492011392358
57
+ ],
58
+ "zoom": 14.080833333333333,
59
+ "pitch": 41.616666666666646,
60
+ "bearing": 69.11999999999988
61
+ },
62
+ {
63
+ "frame": 6,
64
+ "center": [
65
+ -5.446867581532185,
66
+ 55.450369942302345
67
+ ],
68
+ "zoom": 14.174166666666665,
69
+ "pitch": 43.483333333333306,
70
+ "bearing": 80.63999999999987
71
+ },
72
+ {
73
+ "frame": 7,
74
+ "center": [
75
+ -5.439028090093324,
76
+ 55.44499120300809
77
+ ],
78
+ "zoom": 14.267499999999998,
79
+ "pitch": 45.34999999999995,
80
+ "bearing": 92.15999999999974
81
+ },
82
+ {
83
+ "frame": 8,
84
+ "center": [
85
+ -5.434377841151178,
86
+ 55.43952366752272
87
+ ],
88
+ "zoom": 14.36083333333333,
89
+ "pitch": 47.21666666666662,
90
+ "bearing": 103.67999999999971
91
+ },
92
+ {
93
+ "frame": 9,
94
+ "center": [
95
+ -5.43311389465943,
96
+ 55.43324650239726
97
+ ],
98
+ "zoom": 14.454166666666664,
99
+ "pitch": 49.08333333333328,
100
+ "bearing": 115.19999999999958
101
+ },
102
+ {
103
+ "frame": 10,
104
+ "center": [
105
+ -5.434429903751231,
106
+ 55.42600313911657
107
+ ],
108
+ "zoom": 14.5495652173913,
109
+ "pitch": 50.99130434782601,
110
+ "bearing": 126.71999999999957
111
+ },
112
+ {
113
+ "frame": 11,
114
+ "center": [
115
+ -5.437873760108215,
116
+ 55.41891989490018
117
+ ],
118
+ "zoom": 14.646956521739126,
119
+ "pitch": 52.93913043478252,
120
+ "bearing": 138.23999999999944
121
+ },
122
+ {
123
+ "frame": 12,
124
+ "center": [
125
+ -5.443006655985472,
126
+ 55.41312262574964
127
+ ],
128
+ "zoom": 14.744347826086951,
129
+ "pitch": 54.88695652173903,
130
+ "bearing": 149.75999999999942
131
+ },
132
+ {
133
+ "frame": 13,
134
+ "center": [
135
+ -5.4499391085932265,
136
+ 55.409337644340205
137
+ ],
138
+ "zoom": 14.841739130434776,
139
+ "pitch": 56.83478260869554,
140
+ "bearing": 161.2799999999993
141
+ },
142
+ {
143
+ "frame": 14,
144
+ "center": [
145
+ -5.459819490789649,
146
+ 55.4067402980882
147
+ ],
148
+ "zoom": 14.939130434782603,
149
+ "pitch": 58.78260869565205,
150
+ "bearing": 172.79999999999927
151
+ },
152
+ {
153
+ "frame": 15,
154
+ "center": [
155
+ -5.47123217877749,
156
+ 55.40534177652458
157
+ ],
158
+ "zoom": 14.963478260869572,
159
+ "pitch": 59.2695652173914,
160
+ "bearing": -175.6800000000006
161
+ },
162
+ {
163
+ "frame": 16,
164
+ "center": [
165
+ -5.482473284326108,
166
+ 55.40528476529595
167
+ ],
168
+ "zoom": 14.866086956521741,
169
+ "pitch": 57.321739130434835,
170
+ "bearing": -164.16000000000034
171
+ },
172
+ {
173
+ "frame": 17,
174
+ "center": [
175
+ -5.491891314343822,
176
+ 55.406754767241175
177
+ ],
178
+ "zoom": 14.768695652173912,
179
+ "pitch": 55.37391304347826,
180
+ "bearing": -152.64
181
+ },
182
+ {
183
+ "frame": 18,
184
+ "center": [
185
+ -5.500207589677342,
186
+ 55.41051551816846
187
+ ],
188
+ "zoom": 14.671304347826085,
189
+ "pitch": 53.42608695652168,
190
+ "bearing": -141.11999999999966
191
+ },
192
+ {
193
+ "frame": 19,
194
+ "center": [
195
+ -5.507948762779925,
196
+ 55.41611228060025
197
+ ],
198
+ "zoom": 14.573913043478255,
199
+ "pitch": 51.478260869565105,
200
+ "bearing": -129.59999999999934
201
+ }
202
+ ]