pacem 0.51.2 → 0.51.3-akkad

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 (57) hide show
  1. package/dist/css/pacem-dark-content.min.css +1 -1
  2. package/dist/css/pacem-dark-shell.min.css +1 -1
  3. package/dist/css/pacem-dark.min.css +1 -1
  4. package/dist/css/pacem-light-content.min.css +1 -1
  5. package/dist/css/pacem-light-shell.min.css +1 -1
  6. package/dist/css/pacem-light.min.css +1 -1
  7. package/dist/css/pacem-phousys-content.min.css +1 -1
  8. package/dist/css/pacem-phousys-shell.min.css +1 -1
  9. package/dist/css/pacem-phousys.min.css +1 -1
  10. package/dist/js/azure-maps.d.ts +1 -1
  11. package/dist/js/pacem-2d.d.ts +1 -1
  12. package/dist/js/pacem-2d.js +1 -1
  13. package/dist/js/pacem-2d.min.js +1 -1
  14. package/dist/js/pacem-3d.d.ts +3 -2
  15. package/dist/js/pacem-3d.js +61 -48
  16. package/dist/js/pacem-3d.min.js +2 -2
  17. package/dist/js/pacem-charts.d.ts +1 -1
  18. package/dist/js/pacem-charts.js +1 -1
  19. package/dist/js/pacem-charts.min.js +1 -1
  20. package/dist/js/pacem-cms.d.ts +1 -1
  21. package/dist/js/pacem-cms.js +1 -1
  22. package/dist/js/pacem-cms.min.js +1 -1
  23. package/dist/js/pacem-core.d.ts +1 -1
  24. package/dist/js/pacem-core.js +1 -1
  25. package/dist/js/pacem-core.min.js +1 -1
  26. package/dist/js/pacem-foundation.d.ts +1 -1
  27. package/dist/js/pacem-foundation.js +1 -1
  28. package/dist/js/pacem-foundation.min.js +1 -1
  29. package/dist/js/pacem-fx.d.ts +1 -1
  30. package/dist/js/pacem-fx.js +1 -1
  31. package/dist/js/pacem-fx.min.js +1 -1
  32. package/dist/js/pacem-logging.d.ts +1 -1
  33. package/dist/js/pacem-logging.js +1 -1
  34. package/dist/js/pacem-logging.min.js +1 -1
  35. package/dist/js/pacem-maps.d.ts +1 -1
  36. package/dist/js/pacem-maps.js +1 -1
  37. package/dist/js/pacem-maps.min.js +1 -1
  38. package/dist/js/pacem-media.d.ts +1 -1
  39. package/dist/js/pacem-media.js +1 -1
  40. package/dist/js/pacem-media.min.js +1 -1
  41. package/dist/js/pacem-networking.d.ts +1 -1
  42. package/dist/js/pacem-networking.js +1 -1
  43. package/dist/js/pacem-networking.min.js +1 -1
  44. package/dist/js/pacem-numerical.d.ts +1 -1
  45. package/dist/js/pacem-numerical.js +1 -1
  46. package/dist/js/pacem-numerical.min.js +1 -1
  47. package/dist/js/pacem-plus.d.ts +1 -1
  48. package/dist/js/pacem-plus.js +1 -1
  49. package/dist/js/pacem-plus.min.js +1 -1
  50. package/dist/js/pacem-scaffolding.d.ts +1 -1
  51. package/dist/js/pacem-scaffolding.js +1 -1
  52. package/dist/js/pacem-scaffolding.min.js +1 -1
  53. package/dist/js/pacem-ui.d.ts +1 -1
  54. package/dist/js/pacem-ui.js +1 -1
  55. package/dist/js/pacem-ui.min.js +1 -1
  56. package/dist/js/swagger-types.d.ts +1 -1
  57. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -768,7 +768,7 @@ declare namespace Pacem.Drawing3D.WebGPU {
768
768
  private static _memoizer;
769
769
  static dispose(ctx: Context): void;
770
770
  static createColorPicking(ctx: Context, items: RenderableBuffer[]): RenderPipeline | null;
771
- static create(ctx: Context, items: RenderableBuffer[], pipelineOptions?: Partial<PipelineOptions>): RenderPipeline;
771
+ static create(ctx: Context, [mesh, camera, ...lights]: RenderableBuffer[], pipelineOptions?: Partial<PipelineOptions>): RenderPipeline;
772
772
  }
773
773
  }
774
774
  declare namespace Pacem.Drawing3D.WebGPU {
@@ -820,6 +820,7 @@ declare namespace Pacem.Components.Drawing3D {
820
820
  private _webGPUNotSupported;
821
821
  initialize(scene: Pacem3DElement): Promise<HTMLCanvasElement | null>;
822
822
  propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
823
+ disconnectedCallback(): void;
823
824
  dispose(scene: Pacem3DElement): void;
824
825
  enableValidation: boolean;
825
826
  private _ensureRenderer;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.51.2 (https://js.pacem.it)
2
+ * pacem v0.51.3-akkad (https://js.pacem.it)
3
3
  * Copyright 2025 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -825,7 +825,12 @@ var Pacem;
825
825
  me.adapter.raycast(this, pixel, rect, callback);
826
826
  };
827
827
  this._resizeHandler = (evt) => {
828
- const size = this.#size = evt.detail; // { width: evt.detail.width, height: evt.detail.height };
828
+ const oldSize = this.#size;
829
+ const size = evt.detail;
830
+ if (!Pacem.Utils.isNull(oldSize) && oldSize.height === size.height && oldSize.width === size.width) {
831
+ return;
832
+ }
833
+ this.#size = size;
829
834
  const adapter = this.adapter;
830
835
  if (!Pacem.Utils.isNull(adapter)) {
831
836
  this.adapter.invalidateSize(this, size);
@@ -975,10 +980,10 @@ var Pacem;
975
980
  }
976
981
  super.disconnectedCallback();
977
982
  }
983
+ #size;
978
984
  get size() {
979
985
  return this.#size;
980
986
  }
981
- #size;
982
987
  #handle;
983
988
  render(item, deepUpdate) {
984
989
  if (!Pacem.Utils.isNull(item)) {
@@ -2368,13 +2373,11 @@ var Pacem;
2368
2373
  const lights = this.#lights;
2369
2374
  const { hasTexture, shader } = data;
2370
2375
  // TODO: consider backMap
2371
- return `mesh-${shader}-${lights.map(l => l.type).join('-')}${(hasTexture ? '-map' : '-nomap')}`;
2376
+ //return `mesh-${shader}-${lights.map(l => l.type).join('-')}${(hasTexture ? '-map' : '-nomap')}`;
2377
+ return `mesh-${shader}${(hasTexture ? '-map' : '-nomap')}`;
2372
2378
  }
2373
2379
  bindgroup(type, key, index) {
2374
2380
  const set = this.#bindgroups;
2375
- if (!set.has(type)) {
2376
- return null;
2377
- }
2378
2381
  const arr = set.get(type);
2379
2382
  if (Pacem.Utils.isNull(arr)) {
2380
2383
  return null;
@@ -2473,8 +2476,8 @@ var Pacem;
2473
2476
  static { this._memoizer = new WeakMap(); }
2474
2477
  static dispose(ctx) {
2475
2478
  const memoizer = this._memoizer;
2476
- if (memoizer.has(ctx)) {
2477
- const cache = memoizer.get(ctx);
2479
+ const cache = memoizer.get(ctx);
2480
+ if (!Pacem.Utils.isNull(cache)) {
2478
2481
  cache.clear();
2479
2482
  memoizer.delete(ctx);
2480
2483
  }
@@ -2488,16 +2491,16 @@ var Pacem;
2488
2491
  }
2489
2492
  return null;
2490
2493
  }
2491
- static create(ctx, items, pipelineOptions) {
2494
+ static create(ctx, [mesh, camera, ...lights], pipelineOptions) {
2492
2495
  const memoizer = RenderPipeline._memoizer;
2493
- if (!memoizer.has(ctx)) {
2494
- memoizer.set(ctx, new Map());
2496
+ let cache = memoizer.get(ctx);
2497
+ if (Pacem.Utils.isNull(cache)) {
2498
+ memoizer.set(ctx, cache = new Map());
2495
2499
  }
2496
- const cache = memoizer.get(ctx);
2497
- const camera = items.find(i => Drawing3D.isCamera(i.item));
2498
- const lights = items.filter(i => Drawing3D.isLight(i.item));
2499
- // find main object
2500
- const mesh = items.find(i => Drawing3D.isMesh(i.item));
2500
+ //const camera = items.find(i => isCamera(i.item));
2501
+ //const lights = items.filter(i => isLight(i.item));
2502
+ //// find main object
2503
+ //const mesh = items.find(i => isMesh(i.item));
2501
2504
  if (!Pacem.Utils.isNull(mesh)) {
2502
2505
  const meshPipeline = new MeshRenderPipelineClass(ctx, mesh, camera, ...lights);
2503
2506
  // cache peek for sudden return
@@ -2680,21 +2683,21 @@ var Pacem;
2680
2683
  this.draw = (pass, ...buffers) => {
2681
2684
  throw new Error('Deprecated.');
2682
2685
  };
2683
- this.frame = (pass, ...buffers) => {
2684
- let meshBuffer, cameraBuffer, lightBuffers = [];
2685
- for (let buffer of buffers) {
2686
- if (Pacem.Utils.isNull(meshBuffer) && Drawing3D.isMesh(buffer.item)) {
2687
- meshBuffer = buffer;
2688
- continue;
2689
- }
2690
- if (Pacem.Utils.isNull(cameraBuffer) && Drawing3D.isCamera(buffer.item)) {
2691
- cameraBuffer = buffer;
2692
- continue;
2693
- }
2694
- if (Drawing3D.isLight(buffer.item)) {
2695
- lightBuffers.push(buffer);
2696
- }
2697
- }
2686
+ this.frame = (pass, meshBuffer, cameraBuffer, ...lightBuffers) => {
2687
+ //let meshBuffer: RenderableBuffer, cameraBuffer: RenderableBuffer, lightBuffers: RenderableBuffer[] = [];
2688
+ //for (let buffer of buffers) {
2689
+ // if (Utils.isNull(meshBuffer) && isMesh(buffer.item)) {
2690
+ // meshBuffer = buffer;
2691
+ // continue;
2692
+ // }
2693
+ // if (Utils.isNull(cameraBuffer) && isCamera(buffer.item)) {
2694
+ // cameraBuffer = buffer;
2695
+ // continue;
2696
+ // }
2697
+ // if (isLight(buffer.item)) {
2698
+ // lightBuffers.push(buffer);
2699
+ // }
2700
+ //}
2698
2701
  // same pass
2699
2702
  const samePass = pass === this.#previousPass;
2700
2703
  if (!samePass) {
@@ -4020,7 +4023,7 @@ var Pacem;
4020
4023
  if (validationScope) {
4021
4024
  device.pushErrorScope('validation');
4022
4025
  }
4023
- const renderables = [mesh, camera].concat(lights);
4026
+ const renderables = [mesh, camera, ...lights];
4024
4027
  const pipeline = WebGPU.RenderPipeline.create(context, renderables, { multisample: true });
4025
4028
  // render
4026
4029
  pipeline.frame(pass, ...renderables);
@@ -4077,24 +4080,27 @@ var Pacem;
4077
4080
  _createOrYieldRenderable(item, geometries = this.#geometries, materials = this.#materials) {
4078
4081
  item.stage ??= this.#stage;
4079
4082
  const store = this.#renderables;
4080
- if (!store.has(item)) {
4081
- store.set(item, WebGPU.RenderableBuffer.create(item, geometries));
4083
+ let found = store.get(item);
4084
+ if (Pacem.Utils.isNull(found)) {
4085
+ store.set(item, found = WebGPU.RenderableBuffer.create(item, geometries));
4082
4086
  }
4083
- return store.get(item);
4087
+ return found;
4084
4088
  }
4085
4089
  _createOrYieldGeometry(item) {
4086
4090
  const store = this.#geometries;
4087
- if (!store.has(item)) {
4088
- store.set(item, WebGPU.ManagedBuffer.create(item));
4091
+ let found = store.get(item);
4092
+ if (Pacem.Utils.isNull(found)) {
4093
+ store.set(item, found = WebGPU.ManagedBuffer.create(item));
4089
4094
  }
4090
- return store.get(item);
4095
+ return found;
4091
4096
  }
4092
4097
  _createOrYieldMaterial(item) {
4093
4098
  const store = this.#materials;
4094
- if (!store.has(item)) {
4095
- store.set(item, WebGPU.ManagedBuffer.create(item));
4099
+ let found = store.get(item);
4100
+ if (Pacem.Utils.isNull(found)) {
4101
+ store.set(item, found = WebGPU.ManagedBuffer.create(item));
4096
4102
  }
4097
- return store.get(item);
4103
+ return found;
4098
4104
  }
4099
4105
  _unwrapBuffers(grp, accumulator) {
4100
4106
  accumulator ??= { meshes: [], lights: [], cameras: [], groups: [] };
@@ -4117,8 +4123,7 @@ var Pacem;
4117
4123
  return accumulator;
4118
4124
  }
4119
4125
  ;
4120
- update(...items) {
4121
- const array = Array.from(items);
4126
+ _update(array) {
4122
4127
  const groupBuffers = [];
4123
4128
  const meshBuffers = [];
4124
4129
  const lightBuffers = [];
@@ -4164,6 +4169,10 @@ var Pacem;
4164
4169
  }
4165
4170
  this.#looper = new WebGPU.RenderLooper(accumulator);
4166
4171
  }
4172
+ update(...items) {
4173
+ const array = Array.from(items);
4174
+ this._update(array);
4175
+ }
4167
4176
  dispose() {
4168
4177
  if (this._disposeContext()) {
4169
4178
  const { device } = this.#context;
@@ -4269,6 +4278,14 @@ var Pacem;
4269
4278
  }
4270
4279
  }
4271
4280
  }
4281
+ disconnectedCallback() {
4282
+ const set = this.#renderers;
4283
+ for (let [_, renderer] of set) {
4284
+ renderer.dispose();
4285
+ }
4286
+ set.clear();
4287
+ super.disconnectedCallback();
4288
+ }
4272
4289
  dispose(scene) {
4273
4290
  const renderers = this.#renderers;
4274
4291
  if (renderers.has(scene)) {
@@ -4278,10 +4295,6 @@ var Pacem;
4278
4295
  }
4279
4296
  _ensureRenderer(scene) {
4280
4297
  const set = this.#renderers;
4281
- if (!set.has(scene)) {
4282
- return null;
4283
- }
4284
- // renderer
4285
4298
  return set.get(scene);
4286
4299
  }
4287
4300
  _updatePipeline(scene) {