@synchronized-console/viewer 2.26.0-rev.1 → 2.31.14

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 (58) hide show
  1. package/dist/IViewer.d.ts +8 -2
  2. package/dist/index.d.ts +10 -6
  3. package/dist/index.js +4 -4
  4. package/dist/modules/EventEmitter.d.ts +5 -4
  5. package/dist/modules/LegacyViewer.d.ts +1 -1
  6. package/dist/modules/SynchronizedRenderer.d.ts +9 -1
  7. package/dist/modules/Viewer.d.ts +2 -1
  8. package/dist/modules/batching/Batch.d.ts +7 -0
  9. package/dist/modules/batching/BatchObject.d.ts +2 -1
  10. package/dist/modules/batching/Batcher.d.ts +3 -0
  11. package/dist/modules/batching/LineBatch.d.ts +7 -3
  12. package/dist/modules/batching/MeshBatch.d.ts +1 -1
  13. package/dist/modules/batching/PointBatch.d.ts +1 -1
  14. package/dist/modules/batching/TextBatch.d.ts +27 -8
  15. package/dist/modules/batching/TextBatchObject.d.ts +9 -0
  16. package/dist/modules/converter/Geometry.d.ts +18 -6
  17. package/dist/modules/converter/MeshTriangulationHelper.d.ts +2 -41
  18. package/dist/modules/converter/VirtualArray.d.ts +30 -0
  19. package/dist/modules/extensions/ExplodeExtension.d.ts +4 -0
  20. package/dist/modules/extensions/controls/FlyControls.d.ts +6 -3
  21. package/dist/modules/extensions/measurements/AreaMeasurement.d.ts +8 -2
  22. package/dist/modules/extensions/measurements/Measurement.d.ts +6 -0
  23. package/dist/modules/extensions/measurements/MeasurementPointGizmo.d.ts +8 -6
  24. package/dist/modules/extensions/measurements/MeasurementsExtension.d.ts +22 -16
  25. package/dist/modules/extensions/measurements/PerpendicularMeasurement.d.ts +4 -1
  26. package/dist/modules/extensions/measurements/PointMeasurement.d.ts +6 -4
  27. package/dist/modules/extensions/measurements/PointToPointMeasurement.d.ts +2 -0
  28. package/dist/modules/extensions/sections/SectionTool.d.ts +49 -2
  29. package/dist/modules/input/Input.d.ts +6 -2
  30. package/dist/modules/loaders/Synchronized/SynchronizedConverter.d.ts +7 -1
  31. package/dist/modules/loaders/Synchronized/SynchronizedGeometryConverter.d.ts +7 -3
  32. package/dist/modules/loaders/Synchronized/SynchronizedLoader.d.ts +5 -3
  33. package/dist/modules/materials/Materials.d.ts +1 -0
  34. package/dist/modules/materials/SynchronizedBasicMaterial.d.ts +8 -7
  35. package/dist/modules/materials/SynchronizedTextColoredMaterial.d.ts +8 -0
  36. package/dist/modules/materials/SynchronizedTextMaterial.d.ts +9 -17
  37. package/dist/modules/materials/shaders/synchronized-basic-vert.d.ts +1 -1
  38. package/dist/modules/materials/shaders/synchronized-depth-normal-id-vert.d.ts +1 -1
  39. package/dist/modules/materials/shaders/synchronized-depth-normal-vert.d.ts +1 -1
  40. package/dist/modules/materials/shaders/synchronized-displace.vert.d.ts +1 -1
  41. package/dist/modules/materials/shaders/synchronized-ghost-vert.d.ts +1 -1
  42. package/dist/modules/materials/shaders/synchronized-normal-vert.d.ts +1 -1
  43. package/dist/modules/materials/shaders/synchronized-standard-colored-vert.d.ts +1 -1
  44. package/dist/modules/materials/shaders/synchronized-standard-vert.d.ts +1 -1
  45. package/dist/modules/materials/shaders/synchronized-text-frag.d.ts +1 -1
  46. package/dist/modules/materials/shaders/synchronized-text-vert.d.ts +1 -1
  47. package/dist/modules/materials/shaders/synchronized-viewport-vert.d.ts +1 -1
  48. package/dist/modules/objects/AccelerationStructure.d.ts +1 -1
  49. package/dist/modules/objects/SynchronizedBatchedText.d.ts +59 -0
  50. package/dist/modules/objects/TextLabel.d.ts +51 -0
  51. package/dist/modules/pipeline/Passes/GPass.d.ts +9 -3
  52. package/dist/modules/pipeline/Pipelines/EdgesPipeline.d.ts +2 -0
  53. package/dist/modules/tree/NodeMap.d.ts +9 -0
  54. package/dist/modules/tree/NodeRenderView.d.ts +13 -5
  55. package/dist/modules/tree/RenderTree.d.ts +5 -1
  56. package/dist/modules/tree/WorldTree.d.ts +6 -0
  57. package/package.json +9 -7
  58. package/dist/modules/objects/SynchronizedText.d.ts +0 -39
@@ -1,8 +1,9 @@
1
- import { Box3 } from 'three';
1
+ import { Box3, Matrix4 } from 'three';
2
2
  import { GeometryType } from '../batching/Batch.js';
3
- import { GeometryAttributes, type GeometryData } from '../converter/Geometry.js';
3
+ import { type GeometryData } from '../converter/Geometry.js';
4
4
  import { MinimalMaterial, type DisplayStyle, type RenderMaterial } from '../materials/Materials.js';
5
5
  import { SynchronizedType } from '../loaders/GeometryConverter.js';
6
+ import { ChunkArray } from '../converter/VirtualArray.js';
6
7
  export interface NodeRenderData {
7
8
  id: string;
8
9
  subtreeId: number;
@@ -28,8 +29,14 @@ export declare class NodeRenderView {
28
29
  get renderData(): NodeRenderData;
29
30
  get renderMaterialHash(): number;
30
31
  get hasGeometry(): ({
31
- POSITION: number[];
32
- } & Partial<Record<GeometryAttributes.COLOR | GeometryAttributes.NORMAL | GeometryAttributes.UV | GeometryAttributes.TANGENT | GeometryAttributes.INDEX, number[]>>) | null;
32
+ POSITION: ChunkArray;
33
+ INDEX: ChunkArray;
34
+ } & {
35
+ COLOR?: ChunkArray | undefined;
36
+ NORMAL?: ChunkArray | undefined;
37
+ UV?: ChunkArray | undefined;
38
+ TANGENT?: ChunkArray | undefined;
39
+ }) | null;
33
40
  get hasMetadata(): import("../../IViewer.js").SynchronizedObject | undefined;
34
41
  get synchronizedType(): SynchronizedType;
35
42
  get geometryType(): GeometryType;
@@ -38,6 +45,7 @@ export declare class NodeRenderView {
38
45
  get batchCount(): number;
39
46
  get batchId(): string;
40
47
  get aabb(): Box3;
48
+ set aabb(value: Box3);
41
49
  get transparent(): boolean;
42
50
  get vertStart(): number;
43
51
  get vertEnd(): number;
@@ -45,7 +53,7 @@ export declare class NodeRenderView {
45
53
  get validGeometry(): boolean;
46
54
  constructor(data: NodeRenderData);
47
55
  setBatchData(id: string, start: number, count: number, vertStart?: number, vertEnd?: number): void;
48
- computeAABB(): void;
56
+ computeAABB(transform?: Matrix4): void;
49
57
  private getGeometryType;
50
58
  disposeGeometry(): void;
51
59
  }
@@ -11,10 +11,11 @@ export declare class RenderTree {
11
11
  convertTime: number;
12
12
  getNodeTime: number;
13
13
  otherTime: number;
14
+ private count;
14
15
  get id(): string;
15
16
  get subtreeId(): number;
16
17
  constructor(tree: WorldTree, subtreeRoot: TreeNode);
17
- buildRenderTree(geometryConverter: GeometryConverter, callback?: () => void): Promise<boolean>;
18
+ buildRenderTree(geometryConverter: GeometryConverter, countCallback?: (count: number) => void): Promise<boolean>;
18
19
  private applyTransforms;
19
20
  private buildRenderNode;
20
21
  private getRenderMaterialNode;
@@ -24,6 +25,9 @@ export declare class RenderTree {
24
25
  getInstances(): {
25
26
  [id: string]: Record<string, TreeNode>;
26
27
  };
28
+ getDuplicates(): {
29
+ [id: string]: Record<string, TreeNode>;
30
+ };
27
31
  getRenderableRenderViews(...types: SynchronizedType[]): NodeRenderView[];
28
32
  getRenderableNodes(...types: SynchronizedType[]): TreeNode[];
29
33
  getRenderViewsForNode(node: TreeNode): NodeRenderView[];
@@ -37,6 +37,9 @@ export declare class WorldTree {
37
37
  addSubtree(node: TreeNode): void;
38
38
  addNode(node: TreeNode, parent: TreeNode | null): void;
39
39
  removeNode(node: TreeNode, removeChildren: boolean): void;
40
+ hasNodeId(id: string, subtreeId?: number): boolean;
41
+ hasInstanceId(id: string, subtreeId?: number): boolean;
42
+ hasId(id: string, subtreeId?: number): boolean;
40
43
  findAll(predicate: SearchPredicate, node?: TreeNode): Array<TreeNode>;
41
44
  findId(id: string, subtreeId?: number): TreeNode[] | null;
42
45
  /** TODO: Would rather not have this */
@@ -45,6 +48,9 @@ export declare class WorldTree {
45
48
  getInstances(subtreeId: string): {
46
49
  [id: string]: Record<string, TreeNode>;
47
50
  };
51
+ getDuplicates(subtreeId: string): {
52
+ [id: string]: Record<string, TreeNode>;
53
+ };
48
54
  /** TO DO: We might want to add boolean as return type here too */
49
55
  walk(predicate: SearchPredicate, node?: TreeNode): void;
50
56
  walkAsync(predicate: SearchPredicate, node?: TreeNode): Promise<boolean>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synchronized-console/viewer",
3
- "version": "2.26.00-rev.1",
3
+ "version": "2.31.14",
4
4
  "description": "A 3d viewer for Synchronized, based on threejs.",
5
5
  "homepage": "https://bim2bi.ir",
6
6
  "repository": {
@@ -52,8 +52,8 @@
52
52
  "threejs"
53
53
  ],
54
54
  "dependencies": {
55
- "@synchronized-console/objectloader2": "^2.25.7",
56
- "@synchronized-console/shared": "^2.25.7",
55
+ "@synchronized-console/objectloader2": "^2.31.14",
56
+ "@synchronized-console/shared": "^2.31.14",
57
57
  "@types/flat": "^5.0.2",
58
58
  "earcut": "3.0.1",
59
59
  "flat": "^5.0.2",
@@ -64,7 +64,7 @@
64
64
  "three": "^0.140.0",
65
65
  "three-mesh-bvh": "0.5.17",
66
66
  "tree-model": "1.0.7",
67
- "troika-three-text": "0.47.2",
67
+ "troika-three-text": "0.52.4",
68
68
  "type-fest": "^4.15.0"
69
69
  },
70
70
  "devDependencies": {
@@ -88,7 +88,7 @@
88
88
  "jsdom": "^24.0.0",
89
89
  "prettier": "^2.5.1",
90
90
  "regenerator-runtime": "^0.13.7",
91
- "rollup": "^2.70.1",
91
+ "rollup": "^2.79.2",
92
92
  "rollup-plugin-delete": "^2.0.0",
93
93
  "rollup-plugin-terser": "^7.0.2",
94
94
  "rollup-plugin-typescript2": "^0.36.0",
@@ -96,5 +96,7 @@
96
96
  "vitest": "^1.4.0"
97
97
  },
98
98
  "gitHead": "5627e490f9a3ecadf19cc4686ad15f344d9ad2d3",
99
- "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
100
- }
99
+ "publishConfig": {
100
+ "registry": "https://registry.npmjs.org/"
101
+ }
102
+ }
@@ -1,39 +0,0 @@
1
- import { BufferGeometry, Color, Mesh, Quaternion, Raycaster, Vector3, type Intersection } from 'three';
2
- import { ObjectLayers, type SynchronizedObject } from '../../IViewer.js';
3
- export interface SynchronizedTextParams {
4
- textValue?: string;
5
- richTextValue?: string;
6
- height?: number;
7
- anchorX?: string;
8
- anchorY?: string;
9
- }
10
- export interface SynchronizedTextStyle {
11
- backgroundColor?: Color | null;
12
- backgroundCornerRadius?: number;
13
- backgroundPixelHeight?: number;
14
- textColor?: Color;
15
- billboard?: boolean;
16
- }
17
- export declare class SynchronizedText extends Mesh {
18
- private _layer;
19
- private _text;
20
- private _background;
21
- private _backgroundSize;
22
- private _style;
23
- private _resolution;
24
- private defaultMaterial;
25
- private getFlatRaycastMesh;
26
- private getCurvedRaycastMesh;
27
- static SynchronizedTextParamsFromMetadata(metadata: SynchronizedObject): SynchronizedTextParams;
28
- get textMesh(): Text;
29
- get backgroundMesh(): Mesh<BufferGeometry, import("three").Material | import("three").Material[]> | null;
30
- set style(value: SynchronizedTextStyle);
31
- constructor(uuid: string, layer: ObjectLayers);
32
- update(params: SynchronizedTextParams, updateFinished?: () => void): Promise<void>;
33
- setTransform(position?: Vector3, quaternion?: Quaternion, scale?: Vector3): void;
34
- raycast(raycaster: Raycaster, intersects: Array<Intersection>): void;
35
- private updateStyle;
36
- private updateBackground;
37
- /** From https://discourse.threejs.org/t/roundedrectangle-squircle/28645 */
38
- private RectangleRounded;
39
- }