@xviewer.js/debug 1.0.4-alpha.0 → 1.0.4-alpha.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xviewer.js/debug",
3
- "version": "1.0.4-alpha.0",
3
+ "version": "1.0.4-alpha.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/main.cjs",
@@ -12,7 +12,10 @@
12
12
  "types/**/*"
13
13
  ],
14
14
  "dependencies": {
15
- "@xviewer.js/core": "1.0.4-alpha.0"
15
+ "@xviewer.js/core": "1.0.4-alpha.2"
16
+ },
17
+ "peerDependencies": {
18
+ "three": ">= 0.179.0"
16
19
  },
17
20
  "scripts": {
18
21
  "b:types": "tsc"
@@ -1,17 +1,18 @@
1
- import { Mount } from "@xviewer.js/core";
2
- export declare class Inspector extends Mount {
3
- private _gui;
4
- private _scene;
1
+ import { Vector4 } from "three";
2
+ import { Component } from "@xviewer.js/core";
3
+ export declare class Inspector extends Component {
4
+ static viewport: Vector4;
5
5
  private _camera;
6
6
  private _sprite;
7
+ private _spriteUniforms;
8
+ private _gui;
9
+ private _tree;
7
10
  private _refCntMap;
8
11
  private _targetMap;
9
12
  onLoad(): void;
10
13
  onDestroy(): void;
11
14
  update(dt: number): void;
12
15
  resize(width: number, height: number): void;
13
- private _addSprite;
14
- private _renderScene;
15
16
  private _renderSprite;
16
17
  private _updateFolders;
17
18
  private _getPropertiesList;
package/types/Stats.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Mount } from "@xviewer.js/core";
2
- export declare class Stats extends Mount {
1
+ import { Component } from "@xviewer.js/core";
2
+ export declare class Stats extends Component {
3
3
  private _stats;
4
4
  private _dcPanel;
5
5
  private _triPanel;
@@ -1,4 +1,4 @@
1
- import "./css/index.scss";
1
+ import "./css/index.css";
2
2
  import { Controller } from "./controllers/Controller";
3
3
  import { OptionController } from "./controllers/OptionController";
4
4
  import { NumberController } from "./controllers/NumberController";
@@ -9,6 +9,7 @@ import { ColorController } from "./controllers/ColorController";
9
9
  import { VectorController } from "./controllers/VectorController";
10
10
  import { CurveController } from "./controllers/CurveController";
11
11
  import { TextureController } from "./controllers/TextureController";
12
+ import { SceneTreeController } from "./controllers/SceneTreeController";
12
13
  export declare class GUI {
13
14
  id: string;
14
15
  parent: GUI;
@@ -91,6 +92,12 @@ export declare class GUI {
91
92
  */
92
93
  addVector(object: Object, property: string, min?: number, max?: number, step?: number): VectorController;
93
94
  addCurve(object: Object, property: string): CurveController;
95
+ /**
96
+ * Adds a scene tree controller to display Three.js scene hierarchy.
97
+ * @param {Scene} scene The Three.js scene to display
98
+ * @returns {SceneTreeController}
99
+ */
100
+ addSceneTree(scene: any): SceneTreeController;
94
101
  /**
95
102
  * Adds a folder to the GUI, which is just another GUI. This method returns
96
103
  * the nested GUI so you can add controllers to it.
@@ -100,8 +107,6 @@ export declare class GUI {
100
107
  * folder.add( position, 'y' );
101
108
  * folder.add( position, 'z' );
102
109
  *
103
- * @param {string} title Name to display in the folder's title bar.
104
- * @param {string} id Id
105
110
  * @returns {GUI}
106
111
  */
107
112
  addFolder(title: string, id?: string): GUI;
@@ -246,4 +251,12 @@ export declare class GUI {
246
251
  */
247
252
  foldersRecursive(): GUI[];
248
253
  update(): void;
254
+ /**
255
+ * Sets this folder as active and deactivates all other folders
256
+ */
257
+ setActive(): void;
258
+ /**
259
+ * Gets the currently active folder
260
+ */
261
+ getActiveFolder(): GUI | null;
249
262
  }
@@ -0,0 +1,67 @@
1
+ import { GUI } from "../GUI";
2
+ import { Controller } from "./Controller";
3
+ import { Object3D, Scene } from "three";
4
+ export interface SceneTreeNode {
5
+ object: Object3D;
6
+ name: string;
7
+ type: string;
8
+ visible: boolean;
9
+ children: SceneTreeNode[];
10
+ expanded: boolean;
11
+ }
12
+ export declare class SceneTreeController extends Controller {
13
+ private $treeContainer;
14
+ private _scene;
15
+ private _rootNode;
16
+ private _selectedObject;
17
+ private _onObjectSelect;
18
+ private _autoUpdate;
19
+ private _cachedObjectCount;
20
+ private _lastUpdateTime;
21
+ private _updateInterval;
22
+ private _visibleNodeCount;
23
+ private _contextMenu;
24
+ private _contextMenuTarget;
25
+ private _clipboardData;
26
+ constructor(parent: GUI, scene: Scene);
27
+ private _setupDOM;
28
+ private _createContextMenu;
29
+ private _setupGlobalEventListeners;
30
+ private _showContextMenu;
31
+ private _updateContextMenuState;
32
+ private _hideContextMenu;
33
+ private _handleContextMenuAction;
34
+ private _exportObject;
35
+ private _copyObject;
36
+ private _pasteObject;
37
+ private _serializeObject;
38
+ private _deserializeObject;
39
+ private _findParentNode;
40
+ private _buildSceneTree;
41
+ private _renderTree;
42
+ private _renderNode;
43
+ private _selectObject;
44
+ onObjectSelect(callback: (object: Object3D) => void): this;
45
+ refresh(): void;
46
+ getSelectedObject(): Object3D | null;
47
+ expandAll(): void;
48
+ collapseAll(): void;
49
+ update(): void;
50
+ private _shouldCheckForChanges;
51
+ setAutoUpdate(enabled: boolean): void;
52
+ setUpdateInterval(intervalMs: number): void;
53
+ getUpdateInterval(): number;
54
+ getAutoUpdate(): boolean;
55
+ forceUpdate(): void;
56
+ private _checkForStructuralChanges;
57
+ private _hasSceneStructureChanged;
58
+ private _checkObjectCount;
59
+ private _checkObjectReferences;
60
+ private _hasChildrenChanged;
61
+ private _countObjects;
62
+ private _rebuildSceneTree;
63
+ private _hasStructureChanged;
64
+ private _preserveExpandedStates;
65
+ private _updateVisibilityStates;
66
+ destroy(): void;
67
+ }
@@ -0,0 +1,12 @@
1
+ import { GUI } from "../GUI";
2
+ import { SceneTreeController } from "./SceneTreeController";
3
+ import { Scene } from "three";
4
+ export declare function createSceneTreeExample(): {
5
+ gui: GUI;
6
+ scene: Scene;
7
+ sceneTree: SceneTreeController;
8
+ };
9
+ export declare function integrateWithViewer(viewer: any): {
10
+ gui: GUI;
11
+ sceneTree: SceneTreeController;
12
+ };
@@ -1,12 +1,12 @@
1
1
  import { normalizeColorString } from './normalizeColorString';
2
2
  export declare function getColorFormat(value: any): {
3
3
  isPrimitive: boolean;
4
- match: (v: any) => boolean;
4
+ match: (v: any) => v is string;
5
5
  fromHexString: typeof normalizeColorString;
6
6
  toHexString: typeof normalizeColorString;
7
7
  } | {
8
8
  isPrimitive: boolean;
9
- match: (v: any) => boolean;
9
+ match: (v: any) => v is any[];
10
10
  fromHexString(string: any, target: any, rgbScale?: number): void;
11
11
  toHexString([r, g, b]: [any, any, any], rgbScale?: number): string;
12
12
  } | {
@@ -0,0 +1,10 @@
1
+ import { Mount } from "@xviewer.js/core";
2
+ export declare class BoxProjectionHelper extends Mount {
3
+ private _box3;
4
+ private _helper;
5
+ private _target;
6
+ onLoad(): void;
7
+ onEnable(): void;
8
+ onDisable(): void;
9
+ update(dt: number): void;
10
+ }
@@ -0,0 +1,30 @@
1
+ import { ObjectInstance, Viewer } from "@xviewer.js/core";
2
+ import { Color, ColorSpace, CubeTexture, Euler, Texture, ToneMapping } from "three";
3
+ export declare class ViewerHelper extends ObjectInstance {
4
+ get outputColorSpace(): ColorSpace;
5
+ set outputColorSpace(v: ColorSpace);
6
+ get toneMapping(): ToneMapping;
7
+ set toneMapping(v: ToneMapping);
8
+ get toneMappingExposure(): number;
9
+ set toneMappingExposure(v: number);
10
+ get shadows(): boolean;
11
+ set shadows(v: boolean);
12
+ get backgroundBlurriness(): number;
13
+ set backgroundBlurriness(v: number);
14
+ get environment(): Texture;
15
+ set environment(v: Texture);
16
+ get environmentIntensity(): number;
17
+ set environmentIntensity(v: number);
18
+ get environmentRotation(): Euler;
19
+ set environmentRotation(v: Euler);
20
+ get background(): Texture | Color | CubeTexture;
21
+ set background(v: Texture | Color | CubeTexture);
22
+ get backgroundRotation(): Euler;
23
+ set backgroundRotation(v: Euler);
24
+ get targetFrameRate(): number;
25
+ set targetFrameRate(v: number);
26
+ private _scene;
27
+ private _renderer;
28
+ private _viewer;
29
+ constructor(viewer: Viewer);
30
+ }
package/types/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export { GUI } from "./gui/GUI";
2
2
  export { Inspector } from "./Inspector";
3
3
  export { Stats } from "./Stats";
4
- export { BoxProjectionHelper } from "./BoxProjectionHelper";