@operato/scene-visualizer 1.2.27 → 1.2.29

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.
@@ -1 +1 @@
1
- {"version":3,"file":"real-object-gltf.js","sourceRoot":"","sources":["../../src/threed/real-object-gltf.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport * as THREE from 'three'\nimport { error } from '@hatiolab/things-scene'\n\nimport { RealObject } from './real-object'\n\nimport { GLTF, GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'\nimport { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader'\nimport { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader'\n// @ts-ignore\nimport { MeshoptDecoder } from 'three/examples/jsm/libs/meshopt_decoder.module.js'\nimport { Properties } from '@hatiolab/things-scene'\n\nexport class RealObjectGLTF extends RealObject {\n private static _GLTFLoader = new GLTFLoader()\n\n private pivot?: THREE.Object3D\n private objectSize?: THREE.Vector3 = new THREE.Vector3()\n\n static get GLTFLoader() {\n return RealObjectGLTF._GLTFLoader\n }\n\n build() {\n super.build()\n\n var { src: source } = this.component.state\n\n if (!source) {\n this.clear()\n return\n }\n\n let gltfLoader = new GLTFLoader()\n\n // Optional: Provide a DRACOLoader instance to decode compressed mesh data\n const dracoLoader = new DRACOLoader()\n dracoLoader.setDecoderPath('/node_modules/three/examples/jsm/libs/draco/')\n gltfLoader.setDRACOLoader(dracoLoader)\n\n const ktx2Loader = new KTX2Loader()\n ktx2Loader.setTranscoderPath(`/node_modules/three/examples/jsm/libs/basis/`)\n ktx2Loader.detectSupport(this.threeContainer!.renderer3d!)\n gltfLoader.setKTX2Loader(ktx2Loader)\n\n gltfLoader.setMeshoptDecoder(MeshoptDecoder)\n\n var fullsource = this.component.app.url(source)\n gltfLoader.setCrossOrigin('use-credentials')\n\n gltfLoader.load(\n fullsource,\n gltf => {\n this.gltfLoaded(gltf)\n },\n xhr => {\n console.log(Math.round((xhr.loaded / xhr.total) * 100) + '% loaded')\n },\n err => {\n error('GLTFLoader.load', err)\n this.clear()\n }\n )\n }\n\n private gltfLoaded(gltf: GLTF) {\n let scene = gltf.scene\n\n var animations = gltf.animations\n var object = scene.clone()\n object.userData.context = this\n\n object.traverse((child: THREE.Object3D) => {\n if ((child as any).isMesh) {\n child.castShadow = true\n }\n })\n\n var boundingBox = new THREE.Box3().setFromObject(object)\n var center = boundingBox.getCenter(object.position)\n this.objectSize = boundingBox.getSize(this.objectSize!)\n\n center.multiplyScalar(-1)\n\n // 오브젝트 공백을 최소로 하기위해서 clear() 를 최대한 pending함.\n this.clear()\n\n this.pivot = new THREE.Object3D()\n this.object3d.add(this.pivot)\n this.pivot.add(object)\n\n this.updateDimension()\n\n if (animations && animations.length) {\n for (var i = 0; i < animations.length; i++) {\n var animation = animations[i]\n var action = this.threeContainer!.mixer!.clipAction(animation)\n action.play()\n }\n } else {\n console.log('no animations..')\n }\n }\n\n clear() {\n // TODO gltf object 리소스 해제가 필요하면, 여기에 추가.\n // 반복적으로 로딩하면 WebGL 리소스 부족으로 오류 발생.\n\n return super.clear()\n }\n\n updateDimension() {\n var { width = 1, height = 1, depth = 1 } = this.component.state\n\n var { x = 1, y = 1, z = 1 } = this.objectSize || {}\n\n this.pivot && this.pivot.scale.set(width / x, depth / y, height / z)\n\n this.component.invalidate()\n }\n\n updateSource() {\n this.build()\n }\n\n onchange(after: Properties, before: Properties) {\n super.onchange(after, before)\n\n if ('src' in after) {\n this.updateSource()\n }\n }\n}\n"]}
1
+ {"version":3,"file":"real-object-gltf.js","sourceRoot":"","sources":["../../src/threed/real-object-gltf.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAQ,UAAU,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AAClE,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAA;AAGlF,MAAa,cAAe,SAAQ,UAAU;IAA9C;;QAIU,eAAU,GAAmB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;IAmH1D,CAAC;IAjHC,MAAM,KAAK,UAAU;QACnB,OAAO,cAAc,CAAC,WAAW,CAAA;IACnC,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAA;QAEb,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;QAE1C,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,OAAM;SACP;QAED,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;QAEjC,0EAA0E;QAC1E,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;QACrC,WAAW,CAAC,cAAc,CAAC,8CAA8C,CAAC,CAAA;QAC1E,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAEtC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;QACnC,UAAU,CAAC,iBAAiB,CAAC,8CAA8C,CAAC,CAAA;QAC5E,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,cAAe,CAAC,UAAW,CAAC,CAAA;QAC1D,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAEpC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;QAE5C,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/C,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;QAE5C,UAAU,CAAC,IAAI,CACb,UAAU,EACV,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC,EACD,GAAG,CAAC,EAAE;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,CAAA;QACtE,CAAC,EACD,GAAG,CAAC,EAAE;YACJ,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;YAC7B,IAAI,CAAC,KAAK,EAAE,CAAA;QACd,CAAC,CACF,CAAA;IACH,CAAC;IAEO,UAAU,CAAC,IAAU;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAEtB,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAChC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QAE9B,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAqB,EAAE,EAAE;YACxC,IAAK,KAAa,CAAC,MAAM,EAAE;gBACzB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;aACxB;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,WAAW,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACxD,IAAI,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACnD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAW,CAAC,CAAA;QAEvD,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;QAEzB,6CAA6C;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAA;QAEZ,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEtB,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,IAAI,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;gBAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,cAAe,CAAC,KAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBAC9D,MAAM,CAAC,IAAI,EAAE,CAAA;aACd;SACF;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;SAC/B;IACH,CAAC;IAED,KAAK;QACH,yCAAyC;QACzC,mCAAmC;QAEnC,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAED,eAAe;QACb,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;QAE/D,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAA;QAEnD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;QAEpE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,QAAQ,CAAC,KAAiB,EAAE,MAAkB;QAC5C,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE7B,IAAI,KAAK,IAAI,KAAK,EAAE;YAClB,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;IACH,CAAC;;AArHc,0BAAW,GAAG,IAAI,UAAU,EAAE,AAAnB,CAAmB;SADlC,cAAc","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport * as THREE from 'three'\nimport { error } from '@hatiolab/things-scene'\n\nimport { RealObject } from './real-object'\n\nimport { GLTF, GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'\nimport { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader'\nimport { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader'\n// @ts-ignore\nimport { MeshoptDecoder } from 'three/examples/jsm/libs/meshopt_decoder.module.js'\nimport { Properties } from '@hatiolab/things-scene'\n\nexport class RealObjectGLTF extends RealObject {\n private static _GLTFLoader = new GLTFLoader()\n\n private pivot?: THREE.Object3D\n private objectSize?: THREE.Vector3 = new THREE.Vector3()\n\n static get GLTFLoader() {\n return RealObjectGLTF._GLTFLoader\n }\n\n build() {\n super.build()\n\n var { src: source } = this.component.state\n\n if (!source) {\n this.clear()\n return\n }\n\n let gltfLoader = new GLTFLoader()\n\n // Optional: Provide a DRACOLoader instance to decode compressed mesh data\n const dracoLoader = new DRACOLoader()\n dracoLoader.setDecoderPath('/node_modules/three/examples/jsm/libs/draco/')\n gltfLoader.setDRACOLoader(dracoLoader)\n\n const ktx2Loader = new KTX2Loader()\n ktx2Loader.setTranscoderPath(`/node_modules/three/examples/jsm/libs/basis/`)\n ktx2Loader.detectSupport(this.threeContainer!.renderer3d!)\n gltfLoader.setKTX2Loader(ktx2Loader)\n\n gltfLoader.setMeshoptDecoder(MeshoptDecoder)\n\n var fullsource = this.component.app.url(source)\n gltfLoader.setCrossOrigin('use-credentials')\n\n gltfLoader.load(\n fullsource,\n gltf => {\n this.gltfLoaded(gltf)\n },\n xhr => {\n console.log(Math.round((xhr.loaded / xhr.total) * 100) + '% loaded')\n },\n err => {\n error('GLTFLoader.load', err)\n this.clear()\n }\n )\n }\n\n private gltfLoaded(gltf: GLTF) {\n let scene = gltf.scene\n\n var animations = gltf.animations\n var object = scene.clone()\n object.userData.context = this\n\n object.traverse((child: THREE.Object3D) => {\n if ((child as any).isMesh) {\n child.castShadow = true\n }\n })\n\n var boundingBox = new THREE.Box3().setFromObject(object)\n var center = boundingBox.getCenter(object.position)\n this.objectSize = boundingBox.getSize(this.objectSize!)\n\n center.multiplyScalar(-1)\n\n // 오브젝트 공백을 최소로 하기위해서 clear() 를 최대한 pending함.\n this.clear()\n\n this.pivot = new THREE.Object3D()\n this.object3d.add(this.pivot)\n this.pivot.add(object)\n\n this.updateDimension()\n\n if (animations && animations.length) {\n for (var i = 0; i < animations.length; i++) {\n var animation = animations[i]\n var action = this.threeContainer!.mixer!.clipAction(animation)\n action.play()\n }\n } else {\n console.log('no animations..')\n }\n }\n\n clear() {\n // TODO gltf object 리소스 해제가 필요하면, 여기에 추가.\n // 반복적으로 로딩하면 WebGL 리소스 부족으로 오류 발생.\n\n return super.clear()\n }\n\n updateDimension() {\n var { width = 1, height = 1, depth = 1 } = this.component.state\n\n var { x = 1, y = 1, z = 1 } = this.objectSize || {}\n\n this.pivot && this.pivot.scale.set(width / x, depth / y, height / z)\n\n this.component.invalidate()\n }\n\n updateSource() {\n this.build()\n }\n\n onchange(after: Properties, before: Properties) {\n super.onchange(after, before)\n\n if ('src' in after) {\n this.updateSource()\n }\n }\n}\n"]}
@@ -6,14 +6,14 @@
6
6
  "auditLog": "logs/.08636eb59927f12972f6774f5947c8507b3564c2-audit.json",
7
7
  "files": [
8
8
  {
9
- "date": 1682127511828,
10
- "name": "logs/application-2023-04-22-10.log",
11
- "hash": "af79264097d1d5a2a8751968dc37e4b973b3da6c16428536abbef855e9a6197b"
9
+ "date": 1682311771683,
10
+ "name": "logs/application-2023-04-24-13.log",
11
+ "hash": "308d8bd89639190321ed5ec959e2a2e70f817beea06ab6e6bcce38e8434958f2"
12
12
  },
13
13
  {
14
- "date": 1682129145512,
15
- "name": "logs/application-2023-04-22-11.log",
16
- "hash": "afa950e9403c0ab6c9e8dd8c2b8927db030d1517762ffc6c08ecd36edbfd44b1"
14
+ "date": 1682312800924,
15
+ "name": "logs/application-2023-04-24-14.log",
16
+ "hash": "b0de333ddd3629539938a8c5f5b55697ec5582bec9296ec199065f260f1d3aaf"
17
17
  }
18
18
  ],
19
19
  "hashType": "sha256"
@@ -5,11 +5,6 @@
5
5
  },
6
6
  "auditLog": "logs/.5e5d741d8b7784a2fbad65eedc0fd46946aaf6f2-audit.json",
7
7
  "files": [
8
- {
9
- "date": 1680982525600,
10
- "name": "logs/connections-2023-04-09-04.log",
11
- "hash": "6fc12bd52555f69e005a0d0b45efe21694cfe24f9acd57eb3a4b156f0a3ed844"
12
- },
13
8
  {
14
9
  "date": 1682127513098,
15
10
  "name": "logs/connections-2023-04-22-10.log",
@@ -19,6 +14,16 @@
19
14
  "date": 1682129146590,
20
15
  "name": "logs/connections-2023-04-22-11.log",
21
16
  "hash": "fd01098e1b598d688d8d29ba58084707e2f622a8039b4ff658d11ee33bb9d519"
17
+ },
18
+ {
19
+ "date": 1682311773130,
20
+ "name": "logs/connections-2023-04-24-13.log",
21
+ "hash": "ae8f1370da7eb86d08afccf82959daaa55caafaf040e2085274f28f90753b5bc"
22
+ },
23
+ {
24
+ "date": 1682312801993,
25
+ "name": "logs/connections-2023-04-24-14.log",
26
+ "hash": "ee927e633d4502a0e55fa670e495a10639855b6f7b4621726e3825cb7abe1247"
22
27
  }
23
28
  ],
24
29
  "hashType": "sha256"
@@ -0,0 +1,15 @@
1
+ 2023-04-24T13:49:32+09:00 info: File Storage is Ready.
2
+ 2023-04-24T13:49:33+09:00 error: oracledb module loading failed
3
+ 2023-04-24T13:49:34+09:00 info: Default DataSource established
4
+ 2023-04-24T13:49:34+09:00 info: Transaction DataSource established
5
+ 2023-04-24T13:49:34+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
6
+ 2023-04-24T13:49:34+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
7
+ 2023-04-24T13:50:25+09:00 error: Unauthorized!
8
+ 2023-04-24T13:50:58+09:00 error: Unauthorized!
9
+ 2023-04-24T13:51:02+09:00 error: Unauthorized!
10
+ 2023-04-24T13:56:42+09:00 info: File Storage is Ready.
11
+ 2023-04-24T13:56:43+09:00 error: oracledb module loading failed
12
+ 2023-04-24T13:56:44+09:00 info: Default DataSource established
13
+ 2023-04-24T13:56:44+09:00 info: Transaction DataSource established
14
+ 2023-04-24T13:56:44+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
15
+ 2023-04-24T13:56:44+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -0,0 +1,12 @@
1
+ 2023-04-24T14:06:41+09:00 info: File Storage is Ready.
2
+ 2023-04-24T14:06:42+09:00 error: oracledb module loading failed
3
+ 2023-04-24T14:06:43+09:00 info: Default DataSource established
4
+ 2023-04-24T14:06:43+09:00 info: Transaction DataSource established
5
+ 2023-04-24T14:06:43+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
6
+ 2023-04-24T14:06:43+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
7
+ 2023-04-24T14:07:50+09:00 info: File Storage is Ready.
8
+ 2023-04-24T14:07:50+09:00 error: oracledb module loading failed
9
+ 2023-04-24T14:07:51+09:00 info: Default DataSource established
10
+ 2023-04-24T14:07:51+09:00 info: Transaction DataSource established
11
+ 2023-04-24T14:07:51+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
12
+ 2023-04-24T14:07:51+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -0,0 +1,82 @@
1
+ 2023-04-24T13:49:34+09:00 info: Initializing ConnectionManager...
2
+ 2023-04-24T13:49:34+09:00 info: Connector 'echo-back-server' started to ready
3
+ 2023-04-24T13:49:34+09:00 info: Connector 'echo-back' started to ready
4
+ 2023-04-24T13:49:34+09:00 info: Connector 'http-connector' started to ready
5
+ 2023-04-24T13:49:34+09:00 info: Connector 'graphql-connector' started to ready
6
+ 2023-04-24T13:49:34+09:00 info: Connector 'sqlite-connector' started to ready
7
+ 2023-04-24T13:49:34+09:00 info: Connector 'postgresql-connector' started to ready
8
+ 2023-04-24T13:49:34+09:00 info: Connector 'mqtt-connector' started to ready
9
+ 2023-04-24T13:49:34+09:00 info: Connector 'mssql-connector' started to ready
10
+ 2023-04-24T13:49:34+09:00 info: Connector 'oracle-connector' started to ready
11
+ 2023-04-24T13:49:34+09:00 info: Connector 'mysql-connector' started to ready
12
+ 2023-04-24T13:49:34+09:00 info: Connector 'socket-server' started to ready
13
+ 2023-04-24T13:49:34+09:00 info: Connector 'msgraph-connector' started to ready
14
+ 2023-04-24T13:49:34+09:00 info: Connector 'openai-connector' started to ready
15
+ 2023-04-24T13:49:34+09:00 info: echo-back-servers are ready
16
+ 2023-04-24T13:49:34+09:00 info: echo-back connections are ready
17
+ 2023-04-24T13:49:34+09:00 info: http-connector connections are ready
18
+ 2023-04-24T13:49:34+09:00 info: graphql-connector connections are ready
19
+ 2023-04-24T13:49:34+09:00 info: sqlite-connector connections are ready
20
+ 2023-04-24T13:49:34+09:00 info: postgresql-connector connections are ready
21
+ 2023-04-24T13:49:34+09:00 info: mqtt-connector connections are ready
22
+ 2023-04-24T13:49:34+09:00 info: mssql-connector connections are ready
23
+ 2023-04-24T13:49:34+09:00 info: oracle-connector connections are ready
24
+ 2023-04-24T13:49:34+09:00 info: mysql-connector connections are ready
25
+ 2023-04-24T13:49:34+09:00 info: socket servers are ready
26
+ 2023-04-24T13:49:34+09:00 info: msgraph-connector connections are ready
27
+ 2023-04-24T13:49:34+09:00 info: openai-connector connections are ready
28
+ 2023-04-24T13:49:34+09:00 info: All connector for 'echo-back-server' ready
29
+ 2023-04-24T13:49:34+09:00 info: All connector for 'echo-back' ready
30
+ 2023-04-24T13:49:34+09:00 info: All connector for 'http-connector' ready
31
+ 2023-04-24T13:49:34+09:00 info: All connector for 'graphql-connector' ready
32
+ 2023-04-24T13:49:34+09:00 info: All connector for 'sqlite-connector' ready
33
+ 2023-04-24T13:49:34+09:00 info: All connector for 'postgresql-connector' ready
34
+ 2023-04-24T13:49:34+09:00 info: All connector for 'mqtt-connector' ready
35
+ 2023-04-24T13:49:34+09:00 info: All connector for 'mssql-connector' ready
36
+ 2023-04-24T13:49:34+09:00 info: All connector for 'oracle-connector' ready
37
+ 2023-04-24T13:49:34+09:00 info: All connector for 'mysql-connector' ready
38
+ 2023-04-24T13:49:34+09:00 info: All connector for 'socket-server' ready
39
+ 2023-04-24T13:49:34+09:00 info: All connector for 'msgraph-connector' ready
40
+ 2023-04-24T13:49:34+09:00 info: All connector for 'openai-connector' ready
41
+ 2023-04-24T13:49:34+09:00 info: ConnectionManager initialization done:
42
+ 2023-04-24T13:56:45+09:00 info: Initializing ConnectionManager...
43
+ 2023-04-24T13:56:45+09:00 info: Connector 'echo-back-server' started to ready
44
+ 2023-04-24T13:56:45+09:00 info: Connector 'echo-back' started to ready
45
+ 2023-04-24T13:56:45+09:00 info: Connector 'http-connector' started to ready
46
+ 2023-04-24T13:56:45+09:00 info: Connector 'graphql-connector' started to ready
47
+ 2023-04-24T13:56:45+09:00 info: Connector 'sqlite-connector' started to ready
48
+ 2023-04-24T13:56:45+09:00 info: Connector 'postgresql-connector' started to ready
49
+ 2023-04-24T13:56:45+09:00 info: Connector 'mqtt-connector' started to ready
50
+ 2023-04-24T13:56:45+09:00 info: Connector 'mssql-connector' started to ready
51
+ 2023-04-24T13:56:45+09:00 info: Connector 'oracle-connector' started to ready
52
+ 2023-04-24T13:56:45+09:00 info: Connector 'mysql-connector' started to ready
53
+ 2023-04-24T13:56:45+09:00 info: Connector 'socket-server' started to ready
54
+ 2023-04-24T13:56:45+09:00 info: Connector 'msgraph-connector' started to ready
55
+ 2023-04-24T13:56:45+09:00 info: Connector 'openai-connector' started to ready
56
+ 2023-04-24T13:56:45+09:00 info: echo-back-servers are ready
57
+ 2023-04-24T13:56:45+09:00 info: echo-back connections are ready
58
+ 2023-04-24T13:56:45+09:00 info: http-connector connections are ready
59
+ 2023-04-24T13:56:45+09:00 info: graphql-connector connections are ready
60
+ 2023-04-24T13:56:45+09:00 info: sqlite-connector connections are ready
61
+ 2023-04-24T13:56:45+09:00 info: postgresql-connector connections are ready
62
+ 2023-04-24T13:56:45+09:00 info: mqtt-connector connections are ready
63
+ 2023-04-24T13:56:45+09:00 info: mssql-connector connections are ready
64
+ 2023-04-24T13:56:45+09:00 info: oracle-connector connections are ready
65
+ 2023-04-24T13:56:45+09:00 info: mysql-connector connections are ready
66
+ 2023-04-24T13:56:45+09:00 info: socket servers are ready
67
+ 2023-04-24T13:56:45+09:00 info: msgraph-connector connections are ready
68
+ 2023-04-24T13:56:45+09:00 info: openai-connector connections are ready
69
+ 2023-04-24T13:56:45+09:00 info: All connector for 'echo-back-server' ready
70
+ 2023-04-24T13:56:45+09:00 info: All connector for 'echo-back' ready
71
+ 2023-04-24T13:56:45+09:00 info: All connector for 'http-connector' ready
72
+ 2023-04-24T13:56:45+09:00 info: All connector for 'graphql-connector' ready
73
+ 2023-04-24T13:56:45+09:00 info: All connector for 'sqlite-connector' ready
74
+ 2023-04-24T13:56:45+09:00 info: All connector for 'postgresql-connector' ready
75
+ 2023-04-24T13:56:45+09:00 info: All connector for 'mqtt-connector' ready
76
+ 2023-04-24T13:56:45+09:00 info: All connector for 'mssql-connector' ready
77
+ 2023-04-24T13:56:45+09:00 info: All connector for 'oracle-connector' ready
78
+ 2023-04-24T13:56:45+09:00 info: All connector for 'mysql-connector' ready
79
+ 2023-04-24T13:56:45+09:00 info: All connector for 'socket-server' ready
80
+ 2023-04-24T13:56:45+09:00 info: All connector for 'msgraph-connector' ready
81
+ 2023-04-24T13:56:45+09:00 info: All connector for 'openai-connector' ready
82
+ 2023-04-24T13:56:45+09:00 info: ConnectionManager initialization done:
@@ -0,0 +1,82 @@
1
+ 2023-04-24T14:06:43+09:00 info: Initializing ConnectionManager...
2
+ 2023-04-24T14:06:43+09:00 info: Connector 'echo-back-server' started to ready
3
+ 2023-04-24T14:06:43+09:00 info: Connector 'echo-back' started to ready
4
+ 2023-04-24T14:06:43+09:00 info: Connector 'http-connector' started to ready
5
+ 2023-04-24T14:06:43+09:00 info: Connector 'graphql-connector' started to ready
6
+ 2023-04-24T14:06:43+09:00 info: Connector 'sqlite-connector' started to ready
7
+ 2023-04-24T14:06:43+09:00 info: Connector 'postgresql-connector' started to ready
8
+ 2023-04-24T14:06:43+09:00 info: Connector 'mqtt-connector' started to ready
9
+ 2023-04-24T14:06:43+09:00 info: Connector 'mssql-connector' started to ready
10
+ 2023-04-24T14:06:43+09:00 info: Connector 'oracle-connector' started to ready
11
+ 2023-04-24T14:06:43+09:00 info: Connector 'mysql-connector' started to ready
12
+ 2023-04-24T14:06:43+09:00 info: Connector 'socket-server' started to ready
13
+ 2023-04-24T14:06:43+09:00 info: Connector 'msgraph-connector' started to ready
14
+ 2023-04-24T14:06:43+09:00 info: Connector 'openai-connector' started to ready
15
+ 2023-04-24T14:06:43+09:00 info: echo-back-servers are ready
16
+ 2023-04-24T14:06:43+09:00 info: echo-back connections are ready
17
+ 2023-04-24T14:06:43+09:00 info: http-connector connections are ready
18
+ 2023-04-24T14:06:43+09:00 info: graphql-connector connections are ready
19
+ 2023-04-24T14:06:43+09:00 info: sqlite-connector connections are ready
20
+ 2023-04-24T14:06:43+09:00 info: postgresql-connector connections are ready
21
+ 2023-04-24T14:06:43+09:00 info: mqtt-connector connections are ready
22
+ 2023-04-24T14:06:43+09:00 info: mssql-connector connections are ready
23
+ 2023-04-24T14:06:43+09:00 info: oracle-connector connections are ready
24
+ 2023-04-24T14:06:43+09:00 info: mysql-connector connections are ready
25
+ 2023-04-24T14:06:43+09:00 info: socket servers are ready
26
+ 2023-04-24T14:06:43+09:00 info: msgraph-connector connections are ready
27
+ 2023-04-24T14:06:43+09:00 info: openai-connector connections are ready
28
+ 2023-04-24T14:06:43+09:00 info: All connector for 'echo-back-server' ready
29
+ 2023-04-24T14:06:43+09:00 info: All connector for 'echo-back' ready
30
+ 2023-04-24T14:06:43+09:00 info: All connector for 'http-connector' ready
31
+ 2023-04-24T14:06:43+09:00 info: All connector for 'graphql-connector' ready
32
+ 2023-04-24T14:06:43+09:00 info: All connector for 'sqlite-connector' ready
33
+ 2023-04-24T14:06:43+09:00 info: All connector for 'postgresql-connector' ready
34
+ 2023-04-24T14:06:43+09:00 info: All connector for 'mqtt-connector' ready
35
+ 2023-04-24T14:06:43+09:00 info: All connector for 'mssql-connector' ready
36
+ 2023-04-24T14:06:43+09:00 info: All connector for 'oracle-connector' ready
37
+ 2023-04-24T14:06:43+09:00 info: All connector for 'mysql-connector' ready
38
+ 2023-04-24T14:06:43+09:00 info: All connector for 'socket-server' ready
39
+ 2023-04-24T14:06:43+09:00 info: All connector for 'msgraph-connector' ready
40
+ 2023-04-24T14:06:43+09:00 info: All connector for 'openai-connector' ready
41
+ 2023-04-24T14:06:43+09:00 info: ConnectionManager initialization done:
42
+ 2023-04-24T14:07:51+09:00 info: Initializing ConnectionManager...
43
+ 2023-04-24T14:07:51+09:00 info: Connector 'echo-back-server' started to ready
44
+ 2023-04-24T14:07:51+09:00 info: Connector 'echo-back' started to ready
45
+ 2023-04-24T14:07:51+09:00 info: Connector 'http-connector' started to ready
46
+ 2023-04-24T14:07:51+09:00 info: Connector 'graphql-connector' started to ready
47
+ 2023-04-24T14:07:51+09:00 info: Connector 'sqlite-connector' started to ready
48
+ 2023-04-24T14:07:51+09:00 info: Connector 'postgresql-connector' started to ready
49
+ 2023-04-24T14:07:51+09:00 info: Connector 'mqtt-connector' started to ready
50
+ 2023-04-24T14:07:51+09:00 info: Connector 'mssql-connector' started to ready
51
+ 2023-04-24T14:07:51+09:00 info: Connector 'oracle-connector' started to ready
52
+ 2023-04-24T14:07:51+09:00 info: Connector 'mysql-connector' started to ready
53
+ 2023-04-24T14:07:51+09:00 info: Connector 'socket-server' started to ready
54
+ 2023-04-24T14:07:51+09:00 info: Connector 'msgraph-connector' started to ready
55
+ 2023-04-24T14:07:51+09:00 info: Connector 'openai-connector' started to ready
56
+ 2023-04-24T14:07:51+09:00 info: echo-back-servers are ready
57
+ 2023-04-24T14:07:51+09:00 info: echo-back connections are ready
58
+ 2023-04-24T14:07:51+09:00 info: http-connector connections are ready
59
+ 2023-04-24T14:07:51+09:00 info: graphql-connector connections are ready
60
+ 2023-04-24T14:07:51+09:00 info: sqlite-connector connections are ready
61
+ 2023-04-24T14:07:51+09:00 info: postgresql-connector connections are ready
62
+ 2023-04-24T14:07:51+09:00 info: mqtt-connector connections are ready
63
+ 2023-04-24T14:07:51+09:00 info: mssql-connector connections are ready
64
+ 2023-04-24T14:07:51+09:00 info: oracle-connector connections are ready
65
+ 2023-04-24T14:07:51+09:00 info: mysql-connector connections are ready
66
+ 2023-04-24T14:07:51+09:00 info: socket servers are ready
67
+ 2023-04-24T14:07:51+09:00 info: msgraph-connector connections are ready
68
+ 2023-04-24T14:07:51+09:00 info: openai-connector connections are ready
69
+ 2023-04-24T14:07:51+09:00 info: All connector for 'echo-back-server' ready
70
+ 2023-04-24T14:07:51+09:00 info: All connector for 'echo-back' ready
71
+ 2023-04-24T14:07:51+09:00 info: All connector for 'http-connector' ready
72
+ 2023-04-24T14:07:51+09:00 info: All connector for 'graphql-connector' ready
73
+ 2023-04-24T14:07:51+09:00 info: All connector for 'sqlite-connector' ready
74
+ 2023-04-24T14:07:51+09:00 info: All connector for 'postgresql-connector' ready
75
+ 2023-04-24T14:07:51+09:00 info: All connector for 'mqtt-connector' ready
76
+ 2023-04-24T14:07:51+09:00 info: All connector for 'mssql-connector' ready
77
+ 2023-04-24T14:07:51+09:00 info: All connector for 'oracle-connector' ready
78
+ 2023-04-24T14:07:51+09:00 info: All connector for 'mysql-connector' ready
79
+ 2023-04-24T14:07:51+09:00 info: All connector for 'socket-server' ready
80
+ 2023-04-24T14:07:51+09:00 info: All connector for 'msgraph-connector' ready
81
+ 2023-04-24T14:07:51+09:00 info: All connector for 'openai-connector' ready
82
+ 2023-04-24T14:07:51+09:00 info: ConnectionManager initialization done:
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@operato/scene-visualizer",
3
3
  "description": "visualizer component for operato-scene",
4
4
  "author": "heartyoh",
5
- "version": "1.2.27",
5
+ "version": "1.2.29",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
8
8
  "things-scene": true,
@@ -40,14 +40,14 @@
40
40
  "@typescript-eslint/eslint-plugin": "^4.33.0",
41
41
  "@typescript-eslint/parser": "^4.33.0",
42
42
  "@web/dev-server": "^0.1.28",
43
- "concurrently": "^5.3.0",
44
- "eslint": "^7.32.0",
43
+ "concurrently": "^8.0.1",
44
+ "eslint": "^8.39.0",
45
45
  "eslint-config-prettier": "^8.3.0",
46
- "husky": "^4.3.8",
47
- "lint-staged": "^10.5.4",
46
+ "husky": "^8.0.3",
47
+ "lint-staged": "^13.2.2",
48
48
  "prettier": "^2.4.1",
49
49
  "tslib": "^2.3.1",
50
- "typescript": "^4.9.4"
50
+ "typescript": "^5.0.4"
51
51
  },
52
52
  "prettier": "@hatiolab/prettier-config",
53
53
  "husky": {
@@ -61,5 +61,5 @@
61
61
  "prettier --write"
62
62
  ]
63
63
  },
64
- "gitHead": "720dd367fbe95818d0899776f452bd320d674217"
64
+ "gitHead": "1a1344e04e515d44955592f2b2a036050d132d4b"
65
65
  }
package/schema.gql CHANGED
@@ -1362,6 +1362,11 @@ type Mutation {
1362
1362
 
1363
1363
  """To start new scenario instance"""
1364
1364
  stopScenario(instanceName: String): ScenarioInstance
1365
+
1366
+ """
1367
+ To synchronize privilege master from graphql directives. Only superuser is permitted.
1368
+ """
1369
+ synchronizePrivilegeMaster(privilege: NewPrivilege!): Boolean!
1365
1370
  terminateContract(partnerName: String!): Boolean!
1366
1371
 
1367
1372
  """To transfer owner of domain"""
@@ -2196,6 +2201,9 @@ type Query {
2196
2201
 
2197
2202
  """To fetch multiple Groups"""
2198
2203
  groups(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): GroupList!
2204
+
2205
+ """To query whether I have the given permission"""
2206
+ hasPrivilege(category: String!, name: String!): Boolean!
2199
2207
  invitation(email: String!, reference: String!, type: String!): Invitation!
2200
2208
  invitations(reference: String!, type: String!): InvitationList!
2201
2209
 
@@ -67,7 +67,7 @@ var ThreeControls = function (this: any, object: THREE.Camera, component: Compon
67
67
 
68
68
  // Set to true to automatically rotate around the target
69
69
  // If auto-rotate is enabled, you must call controls.update() in your animation loop
70
- this.autoRotate = this.component.state.autoRotate || false
70
+ this.autoRotate = (this.component.app && !this.component.app.isEditMode && this.component.state.autoRotate) || false
71
71
  this.autoRotateSpeed = this.component.state.rotationSpeed || 2.0 // 30 seconds per round when fps is 60
72
72
 
73
73
  // Set to false to disable use of the keys