@reearth/ezu 0.6.1 → 0.7.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.
package/README.md CHANGED
@@ -128,6 +128,11 @@ class Renderer {
128
128
  format?: "png" | "webp" | "rgba"; // default "png"
129
129
  tileSize?: number;
130
130
  pad?: number;
131
+ // Render-time overrides for the style's declared `params`, validated
132
+ // against the declarations (type, min/max) — an unknown name or an
133
+ // out-of-range value throws. Names left out keep their default. One
134
+ // built graph serves every combination.
135
+ params?: Record<string, number | boolean | string>;
131
136
  png?: { compression?: "fast" | "default" | "best" };
132
137
  }): Uint8Array;
133
138
 
package/bundler/ezu.d.ts CHANGED
@@ -200,6 +200,10 @@ export class Renderer {
200
200
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
201
201
  * - `tileSize`, `pad`: override the style's canvas size for this
202
202
  * call (hi-DPI / preview)
203
+ * - `params`: `{ name: number | boolean | string }` — render-time
204
+ * overrides for the style's declared `params`, validated the same
205
+ * way the CLI's `--param` is. Omitted names keep their declared
206
+ * default.
203
207
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
204
208
  */
205
209
  renderTile(z: number, x: number, y: number, opts?: object | null): Uint8Array;
@@ -255,6 +259,15 @@ export class Renderer {
255
259
  * metadata is the JS host's concern — merge it on that side.
256
260
  */
257
261
  readonly attribution: string | undefined;
262
+ /**
263
+ * JSON Schema for the current style's `params` — types, defaults,
264
+ * ranges, descriptions. The same document the CLI's tile server
265
+ * serves at `/style/params`. Generate sliders and colour pickers
266
+ * from this rather than parsing the style; it follows `setStyle`,
267
+ * so a params panel driven off it cannot drift from the graph
268
+ * being rendered.
269
+ */
270
+ readonly paramsSchema: any;
258
271
  /**
259
272
  * `tile-size` declared by the current style.
260
273
  */
package/bundler/ezu_bg.js CHANGED
@@ -311,6 +311,22 @@ export class Renderer {
311
311
  RendererFinalization.register(this, this.__wbg_ptr, this);
312
312
  return this;
313
313
  }
314
+ /**
315
+ * JSON Schema for the current style's `params` — types, defaults,
316
+ * ranges, descriptions. The same document the CLI's tile server
317
+ * serves at `/style/params`. Generate sliders and colour pickers
318
+ * from this rather than parsing the style; it follows `setStyle`,
319
+ * so a params panel driven off it cannot drift from the graph
320
+ * being rendered.
321
+ * @returns {any}
322
+ */
323
+ get paramsSchema() {
324
+ const ret = wasm.renderer_paramsSchema(this.__wbg_ptr);
325
+ if (ret[2]) {
326
+ throw takeFromExternrefTable0(ret[1]);
327
+ }
328
+ return takeFromExternrefTable0(ret[0]);
329
+ }
314
330
  /**
315
331
  * Render a single tile using whatever sources are currently bound.
316
332
  *
@@ -318,6 +334,10 @@ export class Renderer {
318
334
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
319
335
  * - `tileSize`, `pad`: override the style's canvas size for this
320
336
  * call (hi-DPI / preview)
337
+ * - `params`: `{ name: number | boolean | string }` — render-time
338
+ * overrides for the style's declared `params`, validated the same
339
+ * way the CLI's `--param` is. Omitted names keep their declared
340
+ * default.
321
341
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
322
342
  * @param {number} z
323
343
  * @param {number} x
@@ -511,6 +531,10 @@ export function __wbg_get_78f252d074a84d0b() { return handleError(function (arg0
511
531
  const ret = Reflect.get(arg0, arg1);
512
532
  return ret;
513
533
  }, arguments); }
534
+ export function __wbg_get_unchecked_6e0ad6d2a41b06f6(arg0, arg1) {
535
+ const ret = arg0[arg1 >>> 0];
536
+ return ret;
537
+ }
514
538
  export function __wbg_instanceof_Object_33f20e6f12439f3e(arg0) {
515
539
  let result;
516
540
  try {
@@ -525,6 +549,10 @@ export function __wbg_isArray_0677c962b281d01a(arg0) {
525
549
  const ret = Array.isArray(arg0);
526
550
  return ret;
527
551
  }
552
+ export function __wbg_keys_58421f8f96795607(arg0) {
553
+ const ret = Object.keys(arg0);
554
+ return ret;
555
+ }
528
556
  export function __wbg_length_370319915dc99107(arg0) {
529
557
  const ret = arg0.length;
530
558
  return ret;
@@ -549,6 +577,10 @@ export function __wbg_now_86c0d4ba3fa605b8() {
549
577
  const ret = Date.now();
550
578
  return ret;
551
579
  }
580
+ export function __wbg_parse_1c0d8a8656d7e016() { return handleError(function (arg0, arg1) {
581
+ const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
582
+ return ret;
583
+ }, arguments); }
552
584
  export function __wbg_push_d2ae3af0c1217ae6(arg0, arg1) {
553
585
  const ret = arg0.push(arg1);
554
586
  return ret;
Binary file
@@ -20,6 +20,7 @@ export const renderer_memoryUsage: (a: number) => [number, number, number];
20
20
  export const renderer_neededCodepoints: (a: number) => [number, number, number];
21
21
  export const renderer_neededGlyphRanges: (a: number) => [number, number, number];
22
22
  export const renderer_new: (a: number, b: number) => [number, number, number];
23
+ export const renderer_paramsSchema: (a: number) => [number, number, number];
23
24
  export const renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
24
25
  export const renderer_requestedNeighborOffsets: (a: number, b: number, c: number) => [number, number, number];
25
26
  export const renderer_setGlyphBudget: (a: number, b: number) => void;
package/nodejs/ezu.d.ts CHANGED
@@ -200,6 +200,10 @@ export class Renderer {
200
200
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
201
201
  * - `tileSize`, `pad`: override the style's canvas size for this
202
202
  * call (hi-DPI / preview)
203
+ * - `params`: `{ name: number | boolean | string }` — render-time
204
+ * overrides for the style's declared `params`, validated the same
205
+ * way the CLI's `--param` is. Omitted names keep their declared
206
+ * default.
203
207
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
204
208
  */
205
209
  renderTile(z: number, x: number, y: number, opts?: object | null): Uint8Array;
@@ -255,6 +259,15 @@ export class Renderer {
255
259
  * metadata is the JS host's concern — merge it on that side.
256
260
  */
257
261
  readonly attribution: string | undefined;
262
+ /**
263
+ * JSON Schema for the current style's `params` — types, defaults,
264
+ * ranges, descriptions. The same document the CLI's tile server
265
+ * serves at `/style/params`. Generate sliders and colour pickers
266
+ * from this rather than parsing the style; it follows `setStyle`,
267
+ * so a params panel driven off it cannot drift from the graph
268
+ * being rendered.
269
+ */
270
+ readonly paramsSchema: any;
258
271
  /**
259
272
  * `tile-size` declared by the current style.
260
273
  */
package/nodejs/ezu.js CHANGED
@@ -314,6 +314,22 @@ class Renderer {
314
314
  RendererFinalization.register(this, this.__wbg_ptr, this);
315
315
  return this;
316
316
  }
317
+ /**
318
+ * JSON Schema for the current style's `params` — types, defaults,
319
+ * ranges, descriptions. The same document the CLI's tile server
320
+ * serves at `/style/params`. Generate sliders and colour pickers
321
+ * from this rather than parsing the style; it follows `setStyle`,
322
+ * so a params panel driven off it cannot drift from the graph
323
+ * being rendered.
324
+ * @returns {any}
325
+ */
326
+ get paramsSchema() {
327
+ const ret = wasm.renderer_paramsSchema(this.__wbg_ptr);
328
+ if (ret[2]) {
329
+ throw takeFromExternrefTable0(ret[1]);
330
+ }
331
+ return takeFromExternrefTable0(ret[0]);
332
+ }
317
333
  /**
318
334
  * Render a single tile using whatever sources are currently bound.
319
335
  *
@@ -321,6 +337,10 @@ class Renderer {
321
337
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
322
338
  * - `tileSize`, `pad`: override the style's canvas size for this
323
339
  * call (hi-DPI / preview)
340
+ * - `params`: `{ name: number | boolean | string }` — render-time
341
+ * overrides for the style's declared `params`, validated the same
342
+ * way the CLI's `--param` is. Omitted names keep their declared
343
+ * default.
324
344
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
325
345
  * @param {number} z
326
346
  * @param {number} x
@@ -521,6 +541,10 @@ function __wbg_get_imports() {
521
541
  const ret = Reflect.get(arg0, arg1);
522
542
  return ret;
523
543
  }, arguments); },
544
+ __wbg_get_unchecked_6e0ad6d2a41b06f6: function(arg0, arg1) {
545
+ const ret = arg0[arg1 >>> 0];
546
+ return ret;
547
+ },
524
548
  __wbg_instanceof_Object_33f20e6f12439f3e: function(arg0) {
525
549
  let result;
526
550
  try {
@@ -535,6 +559,10 @@ function __wbg_get_imports() {
535
559
  const ret = Array.isArray(arg0);
536
560
  return ret;
537
561
  },
562
+ __wbg_keys_58421f8f96795607: function(arg0) {
563
+ const ret = Object.keys(arg0);
564
+ return ret;
565
+ },
538
566
  __wbg_length_370319915dc99107: function(arg0) {
539
567
  const ret = arg0.length;
540
568
  return ret;
@@ -559,6 +587,10 @@ function __wbg_get_imports() {
559
587
  const ret = Date.now();
560
588
  return ret;
561
589
  },
590
+ __wbg_parse_1c0d8a8656d7e016: function() { return handleError(function (arg0, arg1) {
591
+ const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
592
+ return ret;
593
+ }, arguments); },
562
594
  __wbg_push_d2ae3af0c1217ae6: function(arg0, arg1) {
563
595
  const ret = arg0.push(arg1);
564
596
  return ret;
Binary file
@@ -20,6 +20,7 @@ export const renderer_memoryUsage: (a: number) => [number, number, number];
20
20
  export const renderer_neededCodepoints: (a: number) => [number, number, number];
21
21
  export const renderer_neededGlyphRanges: (a: number) => [number, number, number];
22
22
  export const renderer_new: (a: number, b: number) => [number, number, number];
23
+ export const renderer_paramsSchema: (a: number) => [number, number, number];
23
24
  export const renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
24
25
  export const renderer_requestedNeighborOffsets: (a: number, b: number, c: number) => [number, number, number];
25
26
  export const renderer_setGlyphBudget: (a: number, b: number) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reearth/ezu",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "description": "Painterly map renderer — WebAssembly bindings",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "repository": {
@@ -200,6 +200,10 @@ export class Renderer {
200
200
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
201
201
  * - `tileSize`, `pad`: override the style's canvas size for this
202
202
  * call (hi-DPI / preview)
203
+ * - `params`: `{ name: number | boolean | string }` — render-time
204
+ * overrides for the style's declared `params`, validated the same
205
+ * way the CLI's `--param` is. Omitted names keep their declared
206
+ * default.
203
207
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
204
208
  */
205
209
  renderTile(z: number, x: number, y: number, opts?: object | null): Uint8Array;
@@ -255,6 +259,15 @@ export class Renderer {
255
259
  * metadata is the JS host's concern — merge it on that side.
256
260
  */
257
261
  readonly attribution: string | undefined;
262
+ /**
263
+ * JSON Schema for the current style's `params` — types, defaults,
264
+ * ranges, descriptions. The same document the CLI's tile server
265
+ * serves at `/style/params`. Generate sliders and colour pickers
266
+ * from this rather than parsing the style; it follows `setStyle`,
267
+ * so a params panel driven off it cannot drift from the graph
268
+ * being rendered.
269
+ */
270
+ readonly paramsSchema: any;
258
271
  /**
259
272
  * `tile-size` declared by the current style.
260
273
  */
@@ -311,6 +311,22 @@ export class Renderer {
311
311
  RendererFinalization.register(this, this.__wbg_ptr, this);
312
312
  return this;
313
313
  }
314
+ /**
315
+ * JSON Schema for the current style's `params` — types, defaults,
316
+ * ranges, descriptions. The same document the CLI's tile server
317
+ * serves at `/style/params`. Generate sliders and colour pickers
318
+ * from this rather than parsing the style; it follows `setStyle`,
319
+ * so a params panel driven off it cannot drift from the graph
320
+ * being rendered.
321
+ * @returns {any}
322
+ */
323
+ get paramsSchema() {
324
+ const ret = wasm.renderer_paramsSchema(this.__wbg_ptr);
325
+ if (ret[2]) {
326
+ throw takeFromExternrefTable0(ret[1]);
327
+ }
328
+ return takeFromExternrefTable0(ret[0]);
329
+ }
314
330
  /**
315
331
  * Render a single tile using whatever sources are currently bound.
316
332
  *
@@ -318,6 +334,10 @@ export class Renderer {
318
334
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
319
335
  * - `tileSize`, `pad`: override the style's canvas size for this
320
336
  * call (hi-DPI / preview)
337
+ * - `params`: `{ name: number | boolean | string }` — render-time
338
+ * overrides for the style's declared `params`, validated the same
339
+ * way the CLI's `--param` is. Omitted names keep their declared
340
+ * default.
321
341
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
322
342
  * @param {number} z
323
343
  * @param {number} x
@@ -511,6 +531,10 @@ export function __wbg_get_78f252d074a84d0b() { return handleError(function (arg0
511
531
  const ret = Reflect.get(arg0, arg1);
512
532
  return ret;
513
533
  }, arguments); }
534
+ export function __wbg_get_unchecked_6e0ad6d2a41b06f6(arg0, arg1) {
535
+ const ret = arg0[arg1 >>> 0];
536
+ return ret;
537
+ }
514
538
  export function __wbg_instanceof_Object_33f20e6f12439f3e(arg0) {
515
539
  let result;
516
540
  try {
@@ -525,6 +549,10 @@ export function __wbg_isArray_0677c962b281d01a(arg0) {
525
549
  const ret = Array.isArray(arg0);
526
550
  return ret;
527
551
  }
552
+ export function __wbg_keys_58421f8f96795607(arg0) {
553
+ const ret = Object.keys(arg0);
554
+ return ret;
555
+ }
528
556
  export function __wbg_length_370319915dc99107(arg0) {
529
557
  const ret = arg0.length;
530
558
  return ret;
@@ -549,6 +577,10 @@ export function __wbg_now_86c0d4ba3fa605b8() {
549
577
  const ret = Date.now();
550
578
  return ret;
551
579
  }
580
+ export function __wbg_parse_1c0d8a8656d7e016() { return handleError(function (arg0, arg1) {
581
+ const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
582
+ return ret;
583
+ }, arguments); }
552
584
  export function __wbg_push_d2ae3af0c1217ae6(arg0, arg1) {
553
585
  const ret = arg0.push(arg1);
554
586
  return ret;
Binary file
@@ -20,6 +20,7 @@ export const renderer_memoryUsage: (a: number) => [number, number, number];
20
20
  export const renderer_neededCodepoints: (a: number) => [number, number, number];
21
21
  export const renderer_neededGlyphRanges: (a: number) => [number, number, number];
22
22
  export const renderer_new: (a: number, b: number) => [number, number, number];
23
+ export const renderer_paramsSchema: (a: number) => [number, number, number];
23
24
  export const renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
24
25
  export const renderer_requestedNeighborOffsets: (a: number, b: number, c: number) => [number, number, number];
25
26
  export const renderer_setGlyphBudget: (a: number, b: number) => void;
@@ -200,6 +200,10 @@ export class Renderer {
200
200
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
201
201
  * - `tileSize`, `pad`: override the style's canvas size for this
202
202
  * call (hi-DPI / preview)
203
+ * - `params`: `{ name: number | boolean | string }` — render-time
204
+ * overrides for the style's declared `params`, validated the same
205
+ * way the CLI's `--param` is. Omitted names keep their declared
206
+ * default.
203
207
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
204
208
  */
205
209
  renderTile(z: number, x: number, y: number, opts?: object | null): Uint8Array;
@@ -255,6 +259,15 @@ export class Renderer {
255
259
  * metadata is the JS host's concern — merge it on that side.
256
260
  */
257
261
  readonly attribution: string | undefined;
262
+ /**
263
+ * JSON Schema for the current style's `params` — types, defaults,
264
+ * ranges, descriptions. The same document the CLI's tile server
265
+ * serves at `/style/params`. Generate sliders and colour pickers
266
+ * from this rather than parsing the style; it follows `setStyle`,
267
+ * so a params panel driven off it cannot drift from the graph
268
+ * being rendered.
269
+ */
270
+ readonly paramsSchema: any;
258
271
  /**
259
272
  * `tile-size` declared by the current style.
260
273
  */
@@ -314,6 +314,22 @@ class Renderer {
314
314
  RendererFinalization.register(this, this.__wbg_ptr, this);
315
315
  return this;
316
316
  }
317
+ /**
318
+ * JSON Schema for the current style's `params` — types, defaults,
319
+ * ranges, descriptions. The same document the CLI's tile server
320
+ * serves at `/style/params`. Generate sliders and colour pickers
321
+ * from this rather than parsing the style; it follows `setStyle`,
322
+ * so a params panel driven off it cannot drift from the graph
323
+ * being rendered.
324
+ * @returns {any}
325
+ */
326
+ get paramsSchema() {
327
+ const ret = wasm.renderer_paramsSchema(this.__wbg_ptr);
328
+ if (ret[2]) {
329
+ throw takeFromExternrefTable0(ret[1]);
330
+ }
331
+ return takeFromExternrefTable0(ret[0]);
332
+ }
317
333
  /**
318
334
  * Render a single tile using whatever sources are currently bound.
319
335
  *
@@ -321,6 +337,10 @@ class Renderer {
321
337
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
322
338
  * - `tileSize`, `pad`: override the style's canvas size for this
323
339
  * call (hi-DPI / preview)
340
+ * - `params`: `{ name: number | boolean | string }` — render-time
341
+ * overrides for the style's declared `params`, validated the same
342
+ * way the CLI's `--param` is. Omitted names keep their declared
343
+ * default.
324
344
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
325
345
  * @param {number} z
326
346
  * @param {number} x
@@ -521,6 +541,10 @@ function __wbg_get_imports() {
521
541
  const ret = Reflect.get(arg0, arg1);
522
542
  return ret;
523
543
  }, arguments); },
544
+ __wbg_get_unchecked_6e0ad6d2a41b06f6: function(arg0, arg1) {
545
+ const ret = arg0[arg1 >>> 0];
546
+ return ret;
547
+ },
524
548
  __wbg_instanceof_Object_33f20e6f12439f3e: function(arg0) {
525
549
  let result;
526
550
  try {
@@ -535,6 +559,10 @@ function __wbg_get_imports() {
535
559
  const ret = Array.isArray(arg0);
536
560
  return ret;
537
561
  },
562
+ __wbg_keys_58421f8f96795607: function(arg0) {
563
+ const ret = Object.keys(arg0);
564
+ return ret;
565
+ },
538
566
  __wbg_length_370319915dc99107: function(arg0) {
539
567
  const ret = arg0.length;
540
568
  return ret;
@@ -559,6 +587,10 @@ function __wbg_get_imports() {
559
587
  const ret = Date.now();
560
588
  return ret;
561
589
  },
590
+ __wbg_parse_1c0d8a8656d7e016: function() { return handleError(function (arg0, arg1) {
591
+ const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
592
+ return ret;
593
+ }, arguments); },
562
594
  __wbg_push_d2ae3af0c1217ae6: function(arg0, arg1) {
563
595
  const ret = arg0.push(arg1);
564
596
  return ret;
Binary file
@@ -20,6 +20,7 @@ export const renderer_memoryUsage: (a: number) => [number, number, number];
20
20
  export const renderer_neededCodepoints: (a: number) => [number, number, number];
21
21
  export const renderer_neededGlyphRanges: (a: number) => [number, number, number];
22
22
  export const renderer_new: (a: number, b: number) => [number, number, number];
23
+ export const renderer_paramsSchema: (a: number) => [number, number, number];
23
24
  export const renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
24
25
  export const renderer_requestedNeighborOffsets: (a: number, b: number, c: number) => [number, number, number];
25
26
  export const renderer_setGlyphBudget: (a: number, b: number) => void;
package/simd/web/ezu.d.ts CHANGED
@@ -200,6 +200,10 @@ export class Renderer {
200
200
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
201
201
  * - `tileSize`, `pad`: override the style's canvas size for this
202
202
  * call (hi-DPI / preview)
203
+ * - `params`: `{ name: number | boolean | string }` — render-time
204
+ * overrides for the style's declared `params`, validated the same
205
+ * way the CLI's `--param` is. Omitted names keep their declared
206
+ * default.
203
207
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
204
208
  */
205
209
  renderTile(z: number, x: number, y: number, opts?: object | null): Uint8Array;
@@ -255,6 +259,15 @@ export class Renderer {
255
259
  * metadata is the JS host's concern — merge it on that side.
256
260
  */
257
261
  readonly attribution: string | undefined;
262
+ /**
263
+ * JSON Schema for the current style's `params` — types, defaults,
264
+ * ranges, descriptions. The same document the CLI's tile server
265
+ * serves at `/style/params`. Generate sliders and colour pickers
266
+ * from this rather than parsing the style; it follows `setStyle`,
267
+ * so a params panel driven off it cannot drift from the graph
268
+ * being rendered.
269
+ */
270
+ readonly paramsSchema: any;
258
271
  /**
259
272
  * `tile-size` declared by the current style.
260
273
  */
@@ -314,6 +327,7 @@ export interface InitOutput {
314
327
  readonly renderer_neededCodepoints: (a: number) => [number, number, number];
315
328
  readonly renderer_neededGlyphRanges: (a: number) => [number, number, number];
316
329
  readonly renderer_new: (a: number, b: number) => [number, number, number];
330
+ readonly renderer_paramsSchema: (a: number) => [number, number, number];
317
331
  readonly renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
318
332
  readonly renderer_requestedNeighborOffsets: (a: number, b: number, c: number) => [number, number, number];
319
333
  readonly renderer_setGlyphBudget: (a: number, b: number) => void;
package/simd/web/ezu.js CHANGED
@@ -313,6 +313,22 @@ export class Renderer {
313
313
  RendererFinalization.register(this, this.__wbg_ptr, this);
314
314
  return this;
315
315
  }
316
+ /**
317
+ * JSON Schema for the current style's `params` — types, defaults,
318
+ * ranges, descriptions. The same document the CLI's tile server
319
+ * serves at `/style/params`. Generate sliders and colour pickers
320
+ * from this rather than parsing the style; it follows `setStyle`,
321
+ * so a params panel driven off it cannot drift from the graph
322
+ * being rendered.
323
+ * @returns {any}
324
+ */
325
+ get paramsSchema() {
326
+ const ret = wasm.renderer_paramsSchema(this.__wbg_ptr);
327
+ if (ret[2]) {
328
+ throw takeFromExternrefTable0(ret[1]);
329
+ }
330
+ return takeFromExternrefTable0(ret[0]);
331
+ }
316
332
  /**
317
333
  * Render a single tile using whatever sources are currently bound.
318
334
  *
@@ -320,6 +336,10 @@ export class Renderer {
320
336
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
321
337
  * - `tileSize`, `pad`: override the style's canvas size for this
322
338
  * call (hi-DPI / preview)
339
+ * - `params`: `{ name: number | boolean | string }` — render-time
340
+ * overrides for the style's declared `params`, validated the same
341
+ * way the CLI's `--param` is. Omitted names keep their declared
342
+ * default.
323
343
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
324
344
  * @param {number} z
325
345
  * @param {number} x
@@ -516,6 +536,10 @@ function __wbg_get_imports() {
516
536
  const ret = Reflect.get(arg0, arg1);
517
537
  return ret;
518
538
  }, arguments); },
539
+ __wbg_get_unchecked_6e0ad6d2a41b06f6: function(arg0, arg1) {
540
+ const ret = arg0[arg1 >>> 0];
541
+ return ret;
542
+ },
519
543
  __wbg_instanceof_Object_33f20e6f12439f3e: function(arg0) {
520
544
  let result;
521
545
  try {
@@ -530,6 +554,10 @@ function __wbg_get_imports() {
530
554
  const ret = Array.isArray(arg0);
531
555
  return ret;
532
556
  },
557
+ __wbg_keys_58421f8f96795607: function(arg0) {
558
+ const ret = Object.keys(arg0);
559
+ return ret;
560
+ },
533
561
  __wbg_length_370319915dc99107: function(arg0) {
534
562
  const ret = arg0.length;
535
563
  return ret;
@@ -554,6 +582,10 @@ function __wbg_get_imports() {
554
582
  const ret = Date.now();
555
583
  return ret;
556
584
  },
585
+ __wbg_parse_1c0d8a8656d7e016: function() { return handleError(function (arg0, arg1) {
586
+ const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
587
+ return ret;
588
+ }, arguments); },
557
589
  __wbg_push_d2ae3af0c1217ae6: function(arg0, arg1) {
558
590
  const ret = arg0.push(arg1);
559
591
  return ret;
Binary file
@@ -20,6 +20,7 @@ export const renderer_memoryUsage: (a: number) => [number, number, number];
20
20
  export const renderer_neededCodepoints: (a: number) => [number, number, number];
21
21
  export const renderer_neededGlyphRanges: (a: number) => [number, number, number];
22
22
  export const renderer_new: (a: number, b: number) => [number, number, number];
23
+ export const renderer_paramsSchema: (a: number) => [number, number, number];
23
24
  export const renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
24
25
  export const renderer_requestedNeighborOffsets: (a: number, b: number, c: number) => [number, number, number];
25
26
  export const renderer_setGlyphBudget: (a: number, b: number) => void;
package/web/ezu.d.ts CHANGED
@@ -200,6 +200,10 @@ export class Renderer {
200
200
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
201
201
  * - `tileSize`, `pad`: override the style's canvas size for this
202
202
  * call (hi-DPI / preview)
203
+ * - `params`: `{ name: number | boolean | string }` — render-time
204
+ * overrides for the style's declared `params`, validated the same
205
+ * way the CLI's `--param` is. Omitted names keep their declared
206
+ * default.
203
207
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
204
208
  */
205
209
  renderTile(z: number, x: number, y: number, opts?: object | null): Uint8Array;
@@ -255,6 +259,15 @@ export class Renderer {
255
259
  * metadata is the JS host's concern — merge it on that side.
256
260
  */
257
261
  readonly attribution: string | undefined;
262
+ /**
263
+ * JSON Schema for the current style's `params` — types, defaults,
264
+ * ranges, descriptions. The same document the CLI's tile server
265
+ * serves at `/style/params`. Generate sliders and colour pickers
266
+ * from this rather than parsing the style; it follows `setStyle`,
267
+ * so a params panel driven off it cannot drift from the graph
268
+ * being rendered.
269
+ */
270
+ readonly paramsSchema: any;
258
271
  /**
259
272
  * `tile-size` declared by the current style.
260
273
  */
@@ -314,6 +327,7 @@ export interface InitOutput {
314
327
  readonly renderer_neededCodepoints: (a: number) => [number, number, number];
315
328
  readonly renderer_neededGlyphRanges: (a: number) => [number, number, number];
316
329
  readonly renderer_new: (a: number, b: number) => [number, number, number];
330
+ readonly renderer_paramsSchema: (a: number) => [number, number, number];
317
331
  readonly renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
318
332
  readonly renderer_requestedNeighborOffsets: (a: number, b: number, c: number) => [number, number, number];
319
333
  readonly renderer_setGlyphBudget: (a: number, b: number) => void;
package/web/ezu.js CHANGED
@@ -313,6 +313,22 @@ export class Renderer {
313
313
  RendererFinalization.register(this, this.__wbg_ptr, this);
314
314
  return this;
315
315
  }
316
+ /**
317
+ * JSON Schema for the current style's `params` — types, defaults,
318
+ * ranges, descriptions. The same document the CLI's tile server
319
+ * serves at `/style/params`. Generate sliders and colour pickers
320
+ * from this rather than parsing the style; it follows `setStyle`,
321
+ * so a params panel driven off it cannot drift from the graph
322
+ * being rendered.
323
+ * @returns {any}
324
+ */
325
+ get paramsSchema() {
326
+ const ret = wasm.renderer_paramsSchema(this.__wbg_ptr);
327
+ if (ret[2]) {
328
+ throw takeFromExternrefTable0(ret[1]);
329
+ }
330
+ return takeFromExternrefTable0(ret[0]);
331
+ }
316
332
  /**
317
333
  * Render a single tile using whatever sources are currently bound.
318
334
  *
@@ -320,6 +336,10 @@ export class Renderer {
320
336
  * - `format`: `"png"` (default) / `"webp"` / `"rgba"`
321
337
  * - `tileSize`, `pad`: override the style's canvas size for this
322
338
  * call (hi-DPI / preview)
339
+ * - `params`: `{ name: number | boolean | string }` — render-time
340
+ * overrides for the style's declared `params`, validated the same
341
+ * way the CLI's `--param` is. Omitted names keep their declared
342
+ * default.
323
343
  * - `png`: `{ compression?: "fast" | "default" | "best" }`
324
344
  * @param {number} z
325
345
  * @param {number} x
@@ -516,6 +536,10 @@ function __wbg_get_imports() {
516
536
  const ret = Reflect.get(arg0, arg1);
517
537
  return ret;
518
538
  }, arguments); },
539
+ __wbg_get_unchecked_6e0ad6d2a41b06f6: function(arg0, arg1) {
540
+ const ret = arg0[arg1 >>> 0];
541
+ return ret;
542
+ },
519
543
  __wbg_instanceof_Object_33f20e6f12439f3e: function(arg0) {
520
544
  let result;
521
545
  try {
@@ -530,6 +554,10 @@ function __wbg_get_imports() {
530
554
  const ret = Array.isArray(arg0);
531
555
  return ret;
532
556
  },
557
+ __wbg_keys_58421f8f96795607: function(arg0) {
558
+ const ret = Object.keys(arg0);
559
+ return ret;
560
+ },
533
561
  __wbg_length_370319915dc99107: function(arg0) {
534
562
  const ret = arg0.length;
535
563
  return ret;
@@ -554,6 +582,10 @@ function __wbg_get_imports() {
554
582
  const ret = Date.now();
555
583
  return ret;
556
584
  },
585
+ __wbg_parse_1c0d8a8656d7e016: function() { return handleError(function (arg0, arg1) {
586
+ const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
587
+ return ret;
588
+ }, arguments); },
557
589
  __wbg_push_d2ae3af0c1217ae6: function(arg0, arg1) {
558
590
  const ret = arg0.push(arg1);
559
591
  return ret;
package/web/ezu_bg.wasm CHANGED
Binary file
@@ -20,6 +20,7 @@ export const renderer_memoryUsage: (a: number) => [number, number, number];
20
20
  export const renderer_neededCodepoints: (a: number) => [number, number, number];
21
21
  export const renderer_neededGlyphRanges: (a: number) => [number, number, number];
22
22
  export const renderer_new: (a: number, b: number) => [number, number, number];
23
+ export const renderer_paramsSchema: (a: number) => [number, number, number];
23
24
  export const renderer_renderTile: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
24
25
  export const renderer_requestedNeighborOffsets: (a: number, b: number, c: number) => [number, number, number];
25
26
  export const renderer_setGlyphBudget: (a: number, b: number) => void;