@cognite/reveal 4.7.1 → 4.9.0

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 (26) hide show
  1. package/dist/api-entry-points/core.d.ts +1 -1
  2. package/dist/index.js +195 -171
  3. package/dist/index.js.map +1 -1
  4. package/dist/packages/api/src/api-helpers/Image360ApiHelper.d.ts +2 -2
  5. package/dist/packages/api/src/public/migration/Cognite3DViewer.d.ts +7 -0
  6. package/dist/packages/cad-model/src/wrappers/CogniteCadModel.d.ts +3 -2
  7. package/dist/packages/cad-styling/src/NodeAppearanceProvider.d.ts +2 -2
  8. package/dist/packages/camera-manager/index.d.ts +2 -1
  9. package/dist/packages/camera-manager/src/ComboControls.d.ts +45 -115
  10. package/dist/packages/camera-manager/src/ComboControlsOptions.d.ts +64 -0
  11. package/dist/packages/camera-manager/src/DefaultCameraManager.d.ts +6 -9
  12. package/dist/packages/camera-manager/src/types.d.ts +12 -0
  13. package/dist/packages/data-providers/index.d.ts +4 -1
  14. package/dist/packages/data-providers/src/DataModelsSdk.d.ts +11 -0
  15. package/dist/packages/data-providers/src/image-360-data-providers/{Cdf360ImageEventProvider.d.ts → Cdf360ImageProvider.d.ts} +6 -10
  16. package/dist/packages/data-providers/src/image-360-data-providers/descriptor-providers/Cdf360CombinedDescriptorProvider.d.ts +14 -0
  17. package/dist/packages/data-providers/src/image-360-data-providers/descriptor-providers/datamodels/Cdf360DataModelsDescriptorProvider.d.ts +23 -0
  18. package/dist/packages/data-providers/src/image-360-data-providers/descriptor-providers/datamodels/get360CollectionQuery.d.ts +103 -0
  19. package/dist/packages/data-providers/src/image-360-data-providers/descriptor-providers/events/Cdf360EventDescriptorProvider.d.ts +15 -0
  20. package/dist/packages/data-providers/src/types.d.ts +87 -1
  21. package/dist/packages/metrics/src/Fingerprint.d.ts +8 -0
  22. package/dist/packages/metrics/src/MetricsLogger.d.ts +2 -1
  23. package/dist/packages/pointclouds/src/potree-three-loader/tree/PointAttributes.d.ts +5 -5
  24. package/dist/packages/utilities/index.d.ts +1 -1
  25. package/dist/packages/utilities/src/worldToViewport.d.ts +2 -1
  26. package/package.json +22 -21
@@ -37,7 +37,7 @@ export type Historical360ImageSet = Image360EventDescriptor & {
37
37
  imageRevisions: Image360Descriptor[];
38
38
  };
39
39
  export type Image360Descriptor = {
40
- timestamp?: number;
40
+ timestamp?: number | string;
41
41
  faceDescriptors: Image360FileDescriptor[];
42
42
  };
43
43
  export type Image360EventDescriptor = {
@@ -74,3 +74,89 @@ export interface BlobOutputMetadata {
74
74
  format: File3dFormat | string;
75
75
  version: number;
76
76
  }
77
+ type InstanceType = 'node' | 'edge';
78
+ export type Item = {
79
+ instanceType: InstanceType;
80
+ } & InstanceIdentifier;
81
+ export type Source = {
82
+ type: 'view';
83
+ version: string;
84
+ } & InstanceIdentifier;
85
+ export type InstanceIdentifier = {
86
+ space: string;
87
+ externalId: string;
88
+ };
89
+ export type EdgeItem = {
90
+ startNode: InstanceIdentifier;
91
+ endNode: InstanceIdentifier;
92
+ };
93
+ export type Query = {
94
+ with: Record<string, ResultSetExpression>;
95
+ select: Record<string, QuerySelect>;
96
+ parameters?: Record<string, string | number>;
97
+ cursors?: Record<string, string>;
98
+ };
99
+ type QuerySelect = {
100
+ sources: readonly SourceProperties[];
101
+ };
102
+ type SourceProperties = {
103
+ source: TestSource;
104
+ properties: readonly string[];
105
+ };
106
+ type TestSource = {
107
+ type: 'view';
108
+ space: string;
109
+ externalId: string;
110
+ version: string;
111
+ };
112
+ export type ResultSetExpression = (NodeResultSetExpression | EdgeResultSetExpression) & {
113
+ limit?: number;
114
+ sort?: any[];
115
+ };
116
+ export type NodeResultSetExpression = {
117
+ nodes: {
118
+ filter?: any;
119
+ from?: any;
120
+ through?: any;
121
+ chainTo?: any;
122
+ };
123
+ };
124
+ export type EdgeResultSetExpression = {
125
+ edges: {
126
+ filter?: any;
127
+ from?: any;
128
+ nodeFilter?: any;
129
+ maxDistance?: number;
130
+ direction?: 'outwards' | 'inwards';
131
+ limitEach?: number;
132
+ };
133
+ };
134
+ type SelectKey<T extends Query> = keyof T['select'];
135
+ type Sources<T extends Query, K extends SelectKey<T>> = T['select'][K]['sources'][0];
136
+ type MainSource<T extends Query, K extends SelectKey<T>> = Sources<T, K>['source'];
137
+ type MainSourceProperties<T extends Query, K extends SelectKey<T>> = Sources<T, K>['properties'];
138
+ type ResultExpressionProperties<T extends Query, K extends SelectKey<T>> = {
139
+ [V in MainSource<T, K>['space']]: {
140
+ [Q in `${MainSource<T, K>['externalId']}/${MainSource<T, K>['version']}`]: {
141
+ [B in MainSourceProperties<T, K>[number]]: string | number | InstanceIdentifier;
142
+ };
143
+ };
144
+ };
145
+ type ResultExpression<T extends Query, K extends SelectKey<T>> = {
146
+ instanceType: 'node';
147
+ version: number;
148
+ space: string;
149
+ externalId: string;
150
+ createdTime: number;
151
+ lastUpdatedTime: number;
152
+ properties: ResultExpressionProperties<T, K>;
153
+ };
154
+ export type QueryNextCursors<T extends Query> = {
155
+ [K in SelectKey<T>]?: string | undefined;
156
+ };
157
+ export type QueryResult<T extends Query> = {
158
+ [K in SelectKey<T>]: ResultExpression<T, K>[];
159
+ } & {
160
+ nextCursor?: QueryNextCursors<T>;
161
+ };
162
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns a fingerprint based on the current browser. This is can be used to
3
+ * distinguish between different users. However, it is not 100% reliable,
4
+ * and can produce duplicates for distinct users.
5
+ *
6
+ * See https://broprintjs.netlify.app/
7
+ */
8
+ export declare function getUserFingerprint(): Promise<string>;
@@ -6,13 +6,14 @@ import * as THREE from 'three';
6
6
  import { TrackedEvents, EventProps } from './types';
7
7
  export declare class MetricsLogger {
8
8
  private readonly _sessionProps;
9
+ private readonly _initPromise;
9
10
  private static readonly TrackCameraNavigationThrottleDelay;
10
11
  private static readonly TrackCadNodeTransformOverriddenThrottleDelay;
11
12
  static globalMetricsLogger: MetricsLogger;
12
13
  private constructor();
13
14
  static init(logMetrics: boolean, project: string, applicationId: string, eventProps: EventProps): void;
14
15
  private innerTrackEvent;
15
- static trackEvent(eventName: TrackedEvents, eventProps: EventProps): void;
16
+ static trackEvent(eventName: TrackedEvents, eventProps: EventProps): Promise<void>;
16
17
  static trackCreateTool(toolName: string): void;
17
18
  static trackLoadModel(eventProps: EventProps, modelIdentifier: any, modelVersion: number): void;
18
19
  static trackCadModelStyled(nodeCollectionClassToken: string, appearance: any): void;
@@ -1,9 +1,9 @@
1
1
  export declare enum PointAttributeName {
2
- POSITION_CARTESIAN = 0,
3
- COLOR_PACKED = 1,
4
- COLOR_FLOATS_1 = 2,
5
- COLOR_FLOATS_255 = 3,
6
- NORMAL_FLOATS = 4,
2
+ POSITION_CARTESIAN = 0,// float x, y, z;
3
+ COLOR_PACKED = 1,// byte r, g, b, a; I = [0,1]
4
+ COLOR_FLOATS_1 = 2,// float r, g, b; I = [0,1]
5
+ COLOR_FLOATS_255 = 3,// float r, g, b; I = [0,255]
6
+ NORMAL_FLOATS = 4,// float x, y, z;
7
7
  FILLER = 5,
8
8
  INTENSITY = 6,
9
9
  CLASSIFICATION = 7,
@@ -33,7 +33,7 @@ export { disposeAttributeArrayOnUpload } from './src/disposeAttributeArrayOnUplo
33
33
  export { incrementOrInsertIndex, decrementOrDeleteIndex } from './src/counterMap';
34
34
  export { calculateVolumeOfMesh } from './src/calculateVolumeOfMesh';
35
35
  export { getApproximateProjectedBounds, getScreenArea } from './src/projectedBounds';
36
- export { worldToNormalizedViewportCoordinates, worldToViewportCoordinates, pixelToNormalizedDeviceCoordinates } from './src/worldToViewport';
36
+ export { worldToNormalizedViewportCoordinates, worldToViewportCoordinates, getNormalizedPixelCoordinatesBySize, getNormalizedPixelCoordinates } from './src/worldToViewport';
37
37
  export { Line2 } from './src/three/lines/Line2';
38
38
  export { LineGeometry } from './src/three/lines/LineGeometry';
39
39
  export { LineMaterial } from './src/three/lines/LineMaterial';
@@ -31,4 +31,5 @@ export declare function worldToViewportCoordinates(canvas: HTMLCanvasElement, ca
31
31
  /**
32
32
  * Converts a pixel coordinate to normalized device coordinate (in range [-1, 1])
33
33
  */
34
- export declare function pixelToNormalizedDeviceCoordinates(x: number, y: number, width: number, height: number): THREE.Vector2;
34
+ export declare function getNormalizedPixelCoordinatesBySize(pixelX: number, pixelY: number, width: number, height: number): THREE.Vector2;
35
+ export declare function getNormalizedPixelCoordinates(domElement: HTMLElement, pixelX: number, pixelY: number): THREE.Vector2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cognite/reveal",
3
- "version": "4.7.1",
3
+ "version": "4.9.0",
4
4
  "description": "WebGL based 3D viewer for CAD and point clouds processed in Cognite Data Fusion.",
5
5
  "homepage": "https://github.com/cognitedata/reveal/tree/master/viewer",
6
6
  "repository": {
@@ -62,6 +62,7 @@
62
62
  "ws:lint": "cd $INIT_CWD && eslint . --ext .ts,.js --max-warnings 0 --cache"
63
63
  },
64
64
  "dependencies": {
65
+ "@rajesh896/broprint.js": "^2.1.1",
65
66
  "@tweenjs/tween.js": "19.0.0",
66
67
  "assert": "2.1.0",
67
68
  "async-mutex": "0.4.0",
@@ -80,51 +81,51 @@
80
81
  "devDependencies": {
81
82
  "@azure/msal-browser": "2.38.3",
82
83
  "@cognite/sdk": "8.3.0",
83
- "@microsoft/api-extractor": "7.38.3",
84
+ "@microsoft/api-extractor": "7.39.1",
84
85
  "@types/dat.gui": "0.7.12",
85
86
  "@types/gl": "^6.0.2",
86
87
  "@types/glob": "8.1.0",
87
- "@types/jest": "29.5.10",
88
+ "@types/jest": "29.5.11",
88
89
  "@types/jest-environment-puppeteer": "5.0.6",
89
- "@types/jest-image-snapshot": "6.2.3",
90
+ "@types/jest-image-snapshot": "6.4.0",
90
91
  "@types/jsdom": "21.1.6",
91
92
  "@types/lodash": "4.14.202",
92
- "@types/mixpanel-browser": "2.47.5",
93
- "@types/node": "18.18.13",
93
+ "@types/mixpanel-browser": "2.48.1",
94
+ "@types/node": "18.19.4",
94
95
  "@types/random-seed": "0.3.5",
95
96
  "@types/skmeans": "0.11.7",
96
97
  "@types/stats": "0.16.30",
97
98
  "@types/three": "0.158.2",
98
99
  "@types/tween.js": "18.5.1",
99
- "@typescript-eslint/eslint-plugin": "6.11.0",
100
- "@typescript-eslint/parser": "6.11.0",
100
+ "@typescript-eslint/eslint-plugin": "6.14.0",
101
+ "@typescript-eslint/parser": "6.14.0",
101
102
  "concurrently": "8.2.2",
102
103
  "cross-env": "7.0.3",
103
104
  "dat.gui": "0.7.9",
104
- "eslint": "8.54.0",
105
- "eslint-config-prettier": "9.0.0",
105
+ "eslint": "8.56.0",
106
+ "eslint-config-prettier": "9.1.0",
106
107
  "eslint-plugin-header": "3.1.1",
107
- "eslint-plugin-jsdoc": "46.9.0",
108
+ "eslint-plugin-jsdoc": "46.10.1",
108
109
  "eslint-plugin-lodash": "7.4.0",
109
- "eslint-plugin-prettier": "5.0.1",
110
+ "eslint-plugin-prettier": "5.1.2",
110
111
  "eslint-plugin-unused-imports": "3.0.0",
111
112
  "file-loader": "6.2.0",
112
113
  "gl": "6.0.2",
113
114
  "glob": "10.3.10",
114
115
  "glslify-loader": "2.0.0",
115
- "html-webpack-plugin": "5.5.3",
116
+ "html-webpack-plugin": "5.6.0",
116
117
  "jest": "29.7.0",
117
118
  "jest-canvas-mock": "2.5.2",
118
119
  "jest-environment-jsdom": "29.7.0",
119
120
  "jest-extended": "4.0.2",
120
- "jest-image-snapshot": "6.2.0",
121
- "jest-puppeteer": "9.0.1",
122
- "jsdom": "22.1.0",
121
+ "jest-image-snapshot": "6.4.0",
122
+ "jest-puppeteer": "9.0.2",
123
+ "jsdom": "23.1.0",
123
124
  "moq.ts": "10.0.8",
124
- "nock": "13.3.8",
125
- "prettier": "3.1.0",
125
+ "nock": "13.4.0",
126
+ "prettier": "3.1.1",
126
127
  "process": "0.11.10",
127
- "puppeteer": "21.5.2",
128
+ "puppeteer": "21.6.1",
128
129
  "random-seed": "0.3.0",
129
130
  "raw-loader": "4.0.2",
130
131
  "remove-files-webpack-plugin": "1.5.0",
@@ -135,13 +136,13 @@
135
136
  "ts-jest": "29.1.1",
136
137
  "ts-loader": "9.5.1",
137
138
  "tsc-alias": "1.8.8",
138
- "typescript": "5.2.2",
139
+ "typescript": "5.3.3",
139
140
  "wasm-pack": "0.12.1",
140
141
  "webpack": "5.89.0",
141
142
  "webpack-cli": "5.1.4",
142
143
  "webpack-dev-server": "4.15.1",
143
144
  "webpack-node-externals": "3.0.0",
144
- "whatwg-fetch": "3.6.19",
145
+ "whatwg-fetch": "3.6.20",
145
146
  "workerize-loader": "2.0.2"
146
147
  },
147
148
  "peerDependencies": {