@2112-lab/central-plant 0.1.4 → 0.1.6

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 (88) hide show
  1. package/dist/bundle/index.js +33146 -1
  2. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js +432 -1
  3. package/dist/cjs/node_modules/@2112-lab/pathfinder/dist/index.esm.js +1448 -1
  4. package/dist/cjs/node_modules/three/examples/jsm/controls/OrbitControls.js +1853 -1
  5. package/dist/cjs/node_modules/three/examples/jsm/exporters/GLTFExporter.js +3537 -1
  6. package/dist/cjs/node_modules/three/examples/jsm/exporters/OBJExporter.js +305 -1
  7. package/dist/cjs/node_modules/three/examples/jsm/exporters/PLYExporter.js +542 -1
  8. package/dist/cjs/node_modules/three/examples/jsm/exporters/STLExporter.js +218 -1
  9. package/dist/cjs/node_modules/three/examples/jsm/loaders/DRACOLoader.js +683 -1
  10. package/dist/cjs/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4811 -1
  11. package/dist/cjs/node_modules/three/examples/jsm/loaders/RGBELoader.js +480 -1
  12. package/dist/cjs/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +309 -1
  13. package/dist/cjs/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +120 -1
  14. package/dist/cjs/src/analysis/analysis.js +560 -1
  15. package/dist/cjs/src/analysis/testing.js +958 -1
  16. package/dist/cjs/src/core/centralPlant.js +1149 -1
  17. package/dist/cjs/src/core/debugLogger.js +175 -1
  18. package/dist/cjs/src/core/mathUtils.js +574 -1
  19. package/dist/cjs/src/core/nameUtils.js +93 -1
  20. package/dist/cjs/src/data/export.js +716 -1
  21. package/dist/cjs/src/data/import.js +380 -1
  22. package/dist/cjs/src/data/numerics.js +522 -1
  23. package/dist/cjs/src/helpers/sceneHelper.js +572 -1
  24. package/dist/cjs/src/index.js +69 -1
  25. package/dist/cjs/src/managers/components/animationManager.js +123 -1
  26. package/dist/cjs/src/managers/components/componentManager.js +332 -1
  27. package/dist/cjs/src/managers/components/pathfindingManager.js +1441 -1
  28. package/dist/cjs/src/managers/controls/TransformControls.js +1063 -1
  29. package/dist/cjs/src/managers/controls/cameraControlsManager.js +79 -1
  30. package/dist/cjs/src/managers/controls/dragDropManager.js +1026 -1
  31. package/dist/cjs/src/managers/controls/keyboardControlsManager.js +395 -1
  32. package/dist/cjs/src/managers/controls/transformControlsManager.js +1807 -1
  33. package/dist/cjs/src/managers/environment/environmentManager.js +714 -1
  34. package/dist/cjs/src/managers/environment/textureConfig.js +229 -1
  35. package/dist/cjs/src/managers/scene/sceneExportManager.js +264 -1
  36. package/dist/cjs/src/managers/scene/sceneInitializationManager.js +346 -1
  37. package/dist/cjs/src/managers/scene/sceneOperationsManager.js +1509 -1
  38. package/dist/cjs/src/managers/scene/sceneTooltipsManager.js +661 -1
  39. package/dist/cjs/src/managers/system/disposalManager.js +444 -1
  40. package/dist/cjs/src/managers/system/hotReloadManager.js +291 -1
  41. package/dist/cjs/src/managers/system/performanceMonitor.js +863 -1
  42. package/dist/cjs/src/rendering/modelPreloader.js +369 -1
  43. package/dist/cjs/src/rendering/rendering2D.js +631 -1
  44. package/dist/cjs/src/rendering/rendering3D.js +685 -1
  45. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +396 -1
  46. package/dist/esm/node_modules/@2112-lab/pathfinder/dist/index.esm.js +1444 -1
  47. package/dist/esm/node_modules/three/examples/jsm/controls/OrbitControls.js +1849 -1
  48. package/dist/esm/node_modules/three/examples/jsm/exporters/GLTFExporter.js +3533 -1
  49. package/dist/esm/node_modules/three/examples/jsm/exporters/OBJExporter.js +301 -1
  50. package/dist/esm/node_modules/three/examples/jsm/exporters/PLYExporter.js +538 -1
  51. package/dist/esm/node_modules/three/examples/jsm/exporters/STLExporter.js +214 -1
  52. package/dist/esm/node_modules/three/examples/jsm/loaders/DRACOLoader.js +679 -1
  53. package/dist/esm/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4807 -1
  54. package/dist/esm/node_modules/three/examples/jsm/loaders/RGBELoader.js +476 -1
  55. package/dist/esm/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +304 -1
  56. package/dist/esm/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +116 -1
  57. package/dist/esm/src/analysis/analysis.js +536 -1
  58. package/dist/esm/src/analysis/testing.js +954 -1
  59. package/dist/esm/src/core/centralPlant.js +1144 -1
  60. package/dist/esm/src/core/debugLogger.js +167 -1
  61. package/dist/esm/src/core/mathUtils.js +570 -1
  62. package/dist/esm/src/core/nameUtils.js +87 -1
  63. package/dist/esm/src/data/export.js +712 -1
  64. package/dist/esm/src/data/import.js +356 -1
  65. package/dist/esm/src/data/numerics.js +518 -1
  66. package/dist/esm/src/helpers/sceneHelper.js +547 -1
  67. package/dist/esm/src/index.js +35 -1
  68. package/dist/esm/src/managers/components/animationManager.js +119 -1
  69. package/dist/esm/src/managers/components/componentManager.js +328 -1
  70. package/dist/esm/src/managers/components/pathfindingManager.js +1417 -1
  71. package/dist/esm/src/managers/controls/TransformControls.js +1057 -1
  72. package/dist/esm/src/managers/controls/cameraControlsManager.js +75 -1
  73. package/dist/esm/src/managers/controls/dragDropManager.js +1002 -1
  74. package/dist/esm/src/managers/controls/keyboardControlsManager.js +371 -1
  75. package/dist/esm/src/managers/controls/transformControlsManager.js +1782 -1
  76. package/dist/esm/src/managers/environment/environmentManager.js +690 -1
  77. package/dist/esm/src/managers/environment/textureConfig.js +202 -1
  78. package/dist/esm/src/managers/scene/sceneExportManager.js +260 -1
  79. package/dist/esm/src/managers/scene/sceneInitializationManager.js +322 -1
  80. package/dist/esm/src/managers/scene/sceneOperationsManager.js +1485 -1
  81. package/dist/esm/src/managers/scene/sceneTooltipsManager.js +637 -1
  82. package/dist/esm/src/managers/system/disposalManager.js +440 -1
  83. package/dist/esm/src/managers/system/hotReloadManager.js +287 -1
  84. package/dist/esm/src/managers/system/performanceMonitor.js +858 -1
  85. package/dist/esm/src/rendering/modelPreloader.js +364 -1
  86. package/dist/esm/src/rendering/rendering2D.js +627 -1
  87. package/dist/esm/src/rendering/rendering3D.js +661 -1
  88. package/package.json +1 -1
@@ -1 +1,218 @@
1
- "use strict";Object.defineProperty(exports,"t",{value:!0});var e=require("three");exports.STLExporter=class{parse(t,n={}){const o=(n=Object.assign({binary:!1},n)).binary,r=[];let l,s=0;t.traverse(function(e){if(e.isMesh){const t=e.geometry,n=t.index,o=t.getAttribute("position");s+=null!==n?n.count/3:o.count/3,r.push({object3d:e,geometry:t})}});let i=80;if(!0===o){const e=new ArrayBuffer(2*s+3*s*4*4+80+4);l=new DataView(e),l.setUint32(i,s,!0),i+=4}else l="",l+="solid exported\n";const c=new e.Vector3,f=new e.Vector3,u=new e.Vector3,a=new e.Vector3,d=new e.Vector3,p=new e.Vector3;for(let e=0,t=r.length;e<t;e++){const t=r[e].object3d,n=r[e].geometry,o=n.index,l=n.getAttribute("position");if(null!==o)for(let e=0;e<o.count;e+=3){w(o.getX(e+0),o.getX(e+1),o.getX(e+2),l,t)}else for(let e=0;e<l.count;e+=3){w(e+0,e+1,e+2,l,t)}}return!1===o&&(l+="endsolid exported\n"),l;function w(e,t,n,r,s){c.fromBufferAttribute(r,e),f.fromBufferAttribute(r,t),u.fromBufferAttribute(r,n),!0===s.isSkinnedMesh&&(s.applyBoneTransform(e,c),s.applyBoneTransform(t,f),s.applyBoneTransform(n,u)),c.applyMatrix4(s.matrixWorld),f.applyMatrix4(s.matrixWorld),u.applyMatrix4(s.matrixWorld),function(e,t,n){a.subVectors(n,t),d.subVectors(e,t),a.cross(d).normalize(),p.copy(a).normalize(),!0===o?(l.setFloat32(i,p.x,!0),i+=4,l.setFloat32(i,p.y,!0),i+=4,l.setFloat32(i,p.z,!0),i+=4):(l+="\tfacet normal "+p.x+" "+p.y+" "+p.z+"\n",l+="\t\touter loop\n")}(c,f,u),x(c),x(f),x(u),!0===o?(l.setUint16(i,0,!0),i+=2):(l+="\t\tendloop\n",l+="\tendfacet\n")}function x(e){!0===o?(l.setFloat32(i,e.x,!0),i+=4,l.setFloat32(i,e.y,!0),i+=4,l.setFloat32(i,e.z,!0),i+=4):l+="\t\t\tvertex "+e.x+" "+e.y+" "+e.z+"\n"}}};
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var THREE = require('three');
6
+
7
+ /**
8
+ * An exporter for STL.
9
+ *
10
+ * STL files describe only the surface geometry of a three-dimensional object without
11
+ * any representation of color, texture or other common model attributes. The STL format
12
+ * specifies both ASCII and binary representations, with binary being more compact.
13
+ * STL files contain no scale information or indexes, and the units are arbitrary.
14
+ *
15
+ * ```js
16
+ * const exporter = new STLExporter();
17
+ * const data = exporter.parse( mesh, { binary: true } );
18
+ * ```
19
+ *
20
+ * @three_import import { STLExporter } from 'three/addons/exporters/STLExporter.js';
21
+ */
22
+ class STLExporter {
23
+
24
+ /**
25
+ * Parses the given 3D object and generates the STL output.
26
+ *
27
+ * If the 3D object is composed of multiple children and geometry, they are merged into a single mesh in the file.
28
+ *
29
+ * @param {Object3D} scene - A scene, mesh or any other 3D object containing meshes to encode.
30
+ * @param {STLExporter~Options} options - The export options.
31
+ * @return {string|ArrayBuffer} The exported STL.
32
+ */
33
+ parse( scene, options = {} ) {
34
+
35
+ options = Object.assign( {
36
+ binary: false
37
+ }, options );
38
+
39
+ const binary = options.binary;
40
+
41
+ //
42
+
43
+ const objects = [];
44
+ let triangles = 0;
45
+
46
+ scene.traverse( function ( object ) {
47
+
48
+ if ( object.isMesh ) {
49
+
50
+ const geometry = object.geometry;
51
+
52
+ const index = geometry.index;
53
+ const positionAttribute = geometry.getAttribute( 'position' );
54
+
55
+ triangles += ( index !== null ) ? ( index.count / 3 ) : ( positionAttribute.count / 3 );
56
+
57
+ objects.push( {
58
+ object3d: object,
59
+ geometry: geometry
60
+ } );
61
+
62
+ }
63
+
64
+ } );
65
+
66
+ let output;
67
+ let offset = 80; // skip header
68
+
69
+ if ( binary === true ) {
70
+
71
+ const bufferLength = triangles * 2 + triangles * 3 * 4 * 4 + 80 + 4;
72
+ const arrayBuffer = new ArrayBuffer( bufferLength );
73
+ output = new DataView( arrayBuffer );
74
+ output.setUint32( offset, triangles, true ); offset += 4;
75
+
76
+ } else {
77
+
78
+ output = '';
79
+ output += 'solid exported\n';
80
+
81
+ }
82
+
83
+ const vA = new THREE.Vector3();
84
+ const vB = new THREE.Vector3();
85
+ const vC = new THREE.Vector3();
86
+ const cb = new THREE.Vector3();
87
+ const ab = new THREE.Vector3();
88
+ const normal = new THREE.Vector3();
89
+
90
+ for ( let i = 0, il = objects.length; i < il; i ++ ) {
91
+
92
+ const object = objects[ i ].object3d;
93
+ const geometry = objects[ i ].geometry;
94
+
95
+ const index = geometry.index;
96
+ const positionAttribute = geometry.getAttribute( 'position' );
97
+
98
+ if ( index !== null ) {
99
+
100
+ // indexed geometry
101
+
102
+ for ( let j = 0; j < index.count; j += 3 ) {
103
+
104
+ const a = index.getX( j + 0 );
105
+ const b = index.getX( j + 1 );
106
+ const c = index.getX( j + 2 );
107
+
108
+ writeFace( a, b, c, positionAttribute, object );
109
+
110
+ }
111
+
112
+ } else {
113
+
114
+ // non-indexed geometry
115
+
116
+ for ( let j = 0; j < positionAttribute.count; j += 3 ) {
117
+
118
+ const a = j + 0;
119
+ const b = j + 1;
120
+ const c = j + 2;
121
+
122
+ writeFace( a, b, c, positionAttribute, object );
123
+
124
+ }
125
+
126
+ }
127
+
128
+ }
129
+
130
+ if ( binary === false ) {
131
+
132
+ output += 'endsolid exported\n';
133
+
134
+ }
135
+
136
+ return output;
137
+
138
+ function writeFace( a, b, c, positionAttribute, object ) {
139
+
140
+ vA.fromBufferAttribute( positionAttribute, a );
141
+ vB.fromBufferAttribute( positionAttribute, b );
142
+ vC.fromBufferAttribute( positionAttribute, c );
143
+
144
+ if ( object.isSkinnedMesh === true ) {
145
+
146
+ object.applyBoneTransform( a, vA );
147
+ object.applyBoneTransform( b, vB );
148
+ object.applyBoneTransform( c, vC );
149
+
150
+ }
151
+
152
+ vA.applyMatrix4( object.matrixWorld );
153
+ vB.applyMatrix4( object.matrixWorld );
154
+ vC.applyMatrix4( object.matrixWorld );
155
+
156
+ writeNormal( vA, vB, vC );
157
+
158
+ writeVertex( vA );
159
+ writeVertex( vB );
160
+ writeVertex( vC );
161
+
162
+ if ( binary === true ) {
163
+
164
+ output.setUint16( offset, 0, true ); offset += 2;
165
+
166
+ } else {
167
+
168
+ output += '\t\tendloop\n';
169
+ output += '\tendfacet\n';
170
+
171
+ }
172
+
173
+ }
174
+
175
+ function writeNormal( vA, vB, vC ) {
176
+
177
+ cb.subVectors( vC, vB );
178
+ ab.subVectors( vA, vB );
179
+ cb.cross( ab ).normalize();
180
+
181
+ normal.copy( cb ).normalize();
182
+
183
+ if ( binary === true ) {
184
+
185
+ output.setFloat32( offset, normal.x, true ); offset += 4;
186
+ output.setFloat32( offset, normal.y, true ); offset += 4;
187
+ output.setFloat32( offset, normal.z, true ); offset += 4;
188
+
189
+ } else {
190
+
191
+ output += '\tfacet normal ' + normal.x + ' ' + normal.y + ' ' + normal.z + '\n';
192
+ output += '\t\touter loop\n';
193
+
194
+ }
195
+
196
+ }
197
+
198
+ function writeVertex( vertex ) {
199
+
200
+ if ( binary === true ) {
201
+
202
+ output.setFloat32( offset, vertex.x, true ); offset += 4;
203
+ output.setFloat32( offset, vertex.y, true ); offset += 4;
204
+ output.setFloat32( offset, vertex.z, true ); offset += 4;
205
+
206
+ } else {
207
+
208
+ output += '\t\t\tvertex ' + vertex.x + ' ' + vertex.y + ' ' + vertex.z + '\n';
209
+
210
+ }
211
+
212
+ }
213
+
214
+ }
215
+
216
+ }
217
+
218
+ exports.STLExporter = STLExporter;