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.
- package/dist/css/pacem-dark-content.min.css +1 -1
- package/dist/css/pacem-dark-shell.min.css +1 -1
- package/dist/css/pacem-dark.min.css +1 -1
- package/dist/css/pacem-light-content.min.css +1 -1
- package/dist/css/pacem-light-shell.min.css +1 -1
- package/dist/css/pacem-light.min.css +1 -1
- package/dist/css/pacem-phousys-content.min.css +1 -1
- package/dist/css/pacem-phousys-shell.min.css +1 -1
- package/dist/css/pacem-phousys.min.css +1 -1
- package/dist/js/azure-maps.d.ts +1 -1
- package/dist/js/pacem-2d.d.ts +1 -1
- package/dist/js/pacem-2d.js +1 -1
- package/dist/js/pacem-2d.min.js +1 -1
- package/dist/js/pacem-3d.d.ts +3 -2
- package/dist/js/pacem-3d.js +61 -48
- package/dist/js/pacem-3d.min.js +2 -2
- package/dist/js/pacem-charts.d.ts +1 -1
- package/dist/js/pacem-charts.js +1 -1
- package/dist/js/pacem-charts.min.js +1 -1
- package/dist/js/pacem-cms.d.ts +1 -1
- package/dist/js/pacem-cms.js +1 -1
- package/dist/js/pacem-cms.min.js +1 -1
- package/dist/js/pacem-core.d.ts +1 -1
- package/dist/js/pacem-core.js +1 -1
- package/dist/js/pacem-core.min.js +1 -1
- package/dist/js/pacem-foundation.d.ts +1 -1
- package/dist/js/pacem-foundation.js +1 -1
- package/dist/js/pacem-foundation.min.js +1 -1
- package/dist/js/pacem-fx.d.ts +1 -1
- package/dist/js/pacem-fx.js +1 -1
- package/dist/js/pacem-fx.min.js +1 -1
- package/dist/js/pacem-logging.d.ts +1 -1
- package/dist/js/pacem-logging.js +1 -1
- package/dist/js/pacem-logging.min.js +1 -1
- package/dist/js/pacem-maps.d.ts +1 -1
- package/dist/js/pacem-maps.js +1 -1
- package/dist/js/pacem-maps.min.js +1 -1
- package/dist/js/pacem-media.d.ts +1 -1
- package/dist/js/pacem-media.js +1 -1
- package/dist/js/pacem-media.min.js +1 -1
- package/dist/js/pacem-networking.d.ts +1 -1
- package/dist/js/pacem-networking.js +1 -1
- package/dist/js/pacem-networking.min.js +1 -1
- package/dist/js/pacem-numerical.d.ts +1 -1
- package/dist/js/pacem-numerical.js +1 -1
- package/dist/js/pacem-numerical.min.js +1 -1
- package/dist/js/pacem-plus.d.ts +1 -1
- package/dist/js/pacem-plus.js +1 -1
- package/dist/js/pacem-plus.min.js +1 -1
- package/dist/js/pacem-scaffolding.d.ts +1 -1
- package/dist/js/pacem-scaffolding.js +1 -1
- package/dist/js/pacem-scaffolding.min.js +1 -1
- package/dist/js/pacem-ui.d.ts +1 -1
- package/dist/js/pacem-ui.js +1 -1
- package/dist/js/pacem-ui.min.js +1 -1
- package/dist/js/swagger-types.d.ts +1 -1
- package/package.json +1 -1
package/dist/js/azure-maps.d.ts
CHANGED
package/dist/js/pacem-2d.d.ts
CHANGED
package/dist/js/pacem-2d.js
CHANGED
package/dist/js/pacem-2d.min.js
CHANGED
package/dist/js/pacem-3d.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pacem v0.51.
|
|
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,
|
|
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;
|
package/dist/js/pacem-3d.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pacem v0.51.
|
|
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
|
|
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
|
-
|
|
2477
|
-
|
|
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,
|
|
2494
|
+
static create(ctx, [mesh, camera, ...lights], pipelineOptions) {
|
|
2492
2495
|
const memoizer = RenderPipeline._memoizer;
|
|
2493
|
-
|
|
2494
|
-
|
|
2496
|
+
let cache = memoizer.get(ctx);
|
|
2497
|
+
if (Pacem.Utils.isNull(cache)) {
|
|
2498
|
+
memoizer.set(ctx, cache = new Map());
|
|
2495
2499
|
}
|
|
2496
|
-
const
|
|
2497
|
-
const
|
|
2498
|
-
|
|
2499
|
-
// find
|
|
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, ...
|
|
2684
|
-
let meshBuffer, cameraBuffer, lightBuffers = [];
|
|
2685
|
-
for (let buffer of buffers) {
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
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]
|
|
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
|
-
|
|
4081
|
-
|
|
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
|
|
4087
|
+
return found;
|
|
4084
4088
|
}
|
|
4085
4089
|
_createOrYieldGeometry(item) {
|
|
4086
4090
|
const store = this.#geometries;
|
|
4087
|
-
|
|
4088
|
-
|
|
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
|
|
4095
|
+
return found;
|
|
4091
4096
|
}
|
|
4092
4097
|
_createOrYieldMaterial(item) {
|
|
4093
4098
|
const store = this.#materials;
|
|
4094
|
-
|
|
4095
|
-
|
|
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
|
|
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
|
-
|
|
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) {
|