@xviewer.js/debug 1.0.0-alpha.4 → 1.0.0-alpha.40
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/main.js +58 -77
- package/dist/main.js.map +1 -1
- package/dist/module.js +59 -78
- package/dist/module.js.map +1 -1
- package/package.json +18 -21
- package/types/gui/controllers/NumberController.d.ts +1 -1
package/dist/module.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MeshBasicMaterial, MeshStandardMaterial, ShaderMaterial
|
|
1
|
+
import { Material, MeshBasicMaterial, MeshStandardMaterial, ShaderMaterial } from 'three';
|
|
2
2
|
import { property, Plugin, PropertyManager, Component, ObjectInstance } from '@xviewer.js/core';
|
|
3
3
|
|
|
4
4
|
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
@@ -449,14 +449,14 @@ class NumberController extends Controller {
|
|
|
449
449
|
return false;
|
|
450
450
|
}
|
|
451
451
|
updateDisplay() {
|
|
452
|
-
const value = this.getValue();
|
|
452
|
+
const value = this._snap(this.getValue());
|
|
453
453
|
if (this._hasSlider) {
|
|
454
454
|
let percent = (value - this._min) / (this._max - this._min);
|
|
455
455
|
percent = Math.max(0, Math.min(percent, 1));
|
|
456
456
|
this.$fill.style.width = percent * 100 + '%';
|
|
457
457
|
}
|
|
458
458
|
if (!this._inputFocused) {
|
|
459
|
-
this.$input.value = value;
|
|
459
|
+
this.$input.value = "" + value;
|
|
460
460
|
}
|
|
461
461
|
return this;
|
|
462
462
|
}
|
|
@@ -929,67 +929,34 @@ class ColorController extends Controller {
|
|
|
929
929
|
}
|
|
930
930
|
}
|
|
931
931
|
|
|
932
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
933
|
-
try {
|
|
934
|
-
var info = gen[key](arg);
|
|
935
|
-
var value = info.value;
|
|
936
|
-
} catch (error) {
|
|
937
|
-
reject(error);
|
|
938
|
-
return;
|
|
939
|
-
}
|
|
940
|
-
if (info.done) resolve(value);
|
|
941
|
-
else Promise.resolve(value).then(_next, _throw);
|
|
942
|
-
}
|
|
943
|
-
function _async_to_generator(fn) {
|
|
944
|
-
return function() {
|
|
945
|
-
var self = this, args = arguments;
|
|
946
|
-
|
|
947
|
-
return new Promise(function(resolve, reject) {
|
|
948
|
-
var gen = fn.apply(self, args);
|
|
949
|
-
|
|
950
|
-
function _next(value) {
|
|
951
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
952
|
-
}
|
|
953
|
-
|
|
954
|
-
function _throw(err) {
|
|
955
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
956
|
-
}
|
|
957
|
-
|
|
958
|
-
_next(undefined);
|
|
959
|
-
});
|
|
960
|
-
};
|
|
961
|
-
}
|
|
962
|
-
|
|
963
932
|
class ImageController extends Controller {
|
|
964
|
-
static toDataURL(img) {
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
return url;
|
|
988
|
-
}
|
|
933
|
+
static async toDataURL(img) {
|
|
934
|
+
if (img instanceof HTMLImageElement) {
|
|
935
|
+
return img.src;
|
|
936
|
+
} else {
|
|
937
|
+
if (img) {
|
|
938
|
+
let url = ImageController._imageMap.get(img);
|
|
939
|
+
if (url) return url;
|
|
940
|
+
const w = Math.min(img.width, 256);
|
|
941
|
+
const h = Math.min(img.height, 256);
|
|
942
|
+
if (ImageController._context == null) {
|
|
943
|
+
ImageController._context = document.createElement('canvas').getContext("2d");
|
|
944
|
+
}
|
|
945
|
+
ImageController._context.canvas.width = w;
|
|
946
|
+
ImageController._context.canvas.height = h;
|
|
947
|
+
if (img.data) {
|
|
948
|
+
let imageData = ImageController._context.createImageData(img.width, img.height);
|
|
949
|
+
imageData.data.set(img.data);
|
|
950
|
+
img = await createImageBitmap(imageData);
|
|
951
|
+
}
|
|
952
|
+
if (img instanceof ImageBitmap) {
|
|
953
|
+
ImageController._context.drawImage(img, 0, 0, img.width, img.height, 0, 0, w, h);
|
|
954
|
+
ImageController._imageMap.set(img, url = ImageController._context.canvas.toDataURL());
|
|
955
|
+
return url;
|
|
989
956
|
}
|
|
990
|
-
return "";
|
|
991
957
|
}
|
|
992
|
-
|
|
958
|
+
return "";
|
|
959
|
+
}
|
|
993
960
|
}
|
|
994
961
|
updateDisplay() {
|
|
995
962
|
ImageController.toDataURL(this.getValue()).then((url)=>this.$img.src = url);
|
|
@@ -1092,8 +1059,8 @@ class UINumber extends UIElement {
|
|
|
1092
1059
|
return this;
|
|
1093
1060
|
}
|
|
1094
1061
|
updateDisplay() {
|
|
1095
|
-
let value = this.getValue();
|
|
1096
|
-
this.dom.value = "" +
|
|
1062
|
+
let value = this._snap(this.getValue());
|
|
1063
|
+
this.dom.value = "" + value;
|
|
1097
1064
|
if (this.unit !== '') this.dom.value += ' ' + this.unit;
|
|
1098
1065
|
}
|
|
1099
1066
|
_getImplicitStep(value) {
|
|
@@ -2322,7 +2289,10 @@ class InspectorPlugin extends Plugin {
|
|
|
2322
2289
|
}
|
|
2323
2290
|
_updateFolders() {
|
|
2324
2291
|
const statesMap = this._statesMap;
|
|
2325
|
-
const setState = (v)=>
|
|
2292
|
+
const setState = (v)=>{
|
|
2293
|
+
if (statesMap.get(v) === -1) statesMap.set(v, 0);
|
|
2294
|
+
if (statesMap.get(v) === undefined) statesMap.set(v, 1);
|
|
2295
|
+
};
|
|
2326
2296
|
statesMap.forEach((_, k, map)=>map.set(k, -1));
|
|
2327
2297
|
this.viewer.traversePlugins(setState);
|
|
2328
2298
|
this.viewer.traverseComponents(setState);
|
|
@@ -2339,7 +2309,7 @@ class InspectorPlugin extends Plugin {
|
|
|
2339
2309
|
}
|
|
2340
2310
|
_getPropertiesList(target) {
|
|
2341
2311
|
const list = [];
|
|
2342
|
-
let props = PropertyManager._getMergedProperties(target);
|
|
2312
|
+
let props = PropertyManager._getMergedProperties(target.constructor);
|
|
2343
2313
|
if (props) {
|
|
2344
2314
|
list.push(props);
|
|
2345
2315
|
this._targetMap.set(props, target);
|
|
@@ -2398,7 +2368,7 @@ class InspectorPlugin extends Plugin {
|
|
|
2398
2368
|
if (prop.dir) {
|
|
2399
2369
|
folder = folder.getFolder(prop.dir) || folder.addFolder(prop.dir).close();
|
|
2400
2370
|
}
|
|
2401
|
-
if (PropertyManager._hasProperties(value)) {
|
|
2371
|
+
if (PropertyManager._hasProperties(value.constructor)) {
|
|
2402
2372
|
this._addPropsListGUI(folder, this._getPropertiesList(value), target, k);
|
|
2403
2373
|
}
|
|
2404
2374
|
const type = typeof value;
|
|
@@ -2528,6 +2498,29 @@ __decorate([
|
|
|
2528
2498
|
step: 0.01
|
|
2529
2499
|
})
|
|
2530
2500
|
], ViewerExtension.prototype, "backgroundBlurriness", null);
|
|
2501
|
+
const materialProperties = {
|
|
2502
|
+
visible: {},
|
|
2503
|
+
transparent: {},
|
|
2504
|
+
side: {
|
|
2505
|
+
value: {
|
|
2506
|
+
FrontSide: 0,
|
|
2507
|
+
BackSide: 1,
|
|
2508
|
+
DoubleSide: 2
|
|
2509
|
+
}
|
|
2510
|
+
},
|
|
2511
|
+
color: {
|
|
2512
|
+
dir: "diffuse"
|
|
2513
|
+
},
|
|
2514
|
+
opacity: {
|
|
2515
|
+
dir: "diffuse",
|
|
2516
|
+
min: 0,
|
|
2517
|
+
max: 1,
|
|
2518
|
+
step: 0.01
|
|
2519
|
+
}
|
|
2520
|
+
};
|
|
2521
|
+
for(let k in materialProperties){
|
|
2522
|
+
property(materialProperties[k])(Material.prototype, k);
|
|
2523
|
+
}
|
|
2531
2524
|
const meshBasicMaterislProperties = {
|
|
2532
2525
|
map: {
|
|
2533
2526
|
dir: "diffuse"
|
|
@@ -2560,18 +2553,6 @@ for(let k in meshBasicMaterislProperties){
|
|
|
2560
2553
|
property(meshBasicMaterislProperties[k])(MeshBasicMaterial.prototype, k);
|
|
2561
2554
|
}
|
|
2562
2555
|
const meshStandardMaterialProperties = {
|
|
2563
|
-
visible: {},
|
|
2564
|
-
transparent: {},
|
|
2565
|
-
side: {
|
|
2566
|
-
value: {
|
|
2567
|
-
FrontSide: 0,
|
|
2568
|
-
BackSide: 1,
|
|
2569
|
-
DoubleSide: 2
|
|
2570
|
-
}
|
|
2571
|
-
},
|
|
2572
|
-
color: {
|
|
2573
|
-
dir: "diffuse"
|
|
2574
|
-
},
|
|
2575
2556
|
opacity: {
|
|
2576
2557
|
dir: "diffuse",
|
|
2577
2558
|
min: 0,
|