Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mrdoob/three.js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0ee09c94b04b5551d53d82461bbaec31c3b63fb7
Choose a base ref
...
head repository: mrdoob/three.js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3b7fd5487c47977f576679c04b0a559a8607e92d
Choose a head ref
  • 4 commits
  • 23 files changed
  • 2 contributors

Commits on May 30, 2019

  1. Copy the full SHA
    b8a14f7 View commit details
  2. Merge pull request #16614 from Mugen87/dev32

    JSM: Added module and TS files for fat lines.
    Mugen87 authored May 30, 2019
    Copy the full SHA
    394a496 View commit details
  3. Triangle: fix import d.ts

    sciecode committed May 30, 2019
    Copy the full SHA
    2ba4234 View commit details
  4. Merge pull request #16616 from sciecode/dev2

    Triangle: fix import d.ts
    Mugen87 authored May 30, 2019
    Copy the full SHA
    3b7fd54 View commit details
11 changes: 11 additions & 0 deletions docs/manual/en/introduction/Import-via-modules.html
Original file line number Diff line number Diff line change
@@ -133,6 +133,17 @@ <h2>Importable Examples</h2>
<li>TeapotBufferGeometry</li>
</ul>
</li>
<li>lines
<ul>
<li>Line2</li>
<li>LineGeometry</li>
<li>LineMaterial</li>
<li>LineSegments2</li>
<li>LineSegmentsGeometry</li>
<li>Wireframe</li>
<li>WireframeGeometry2</li>
</ul>
</li>
<li>loaders
<ul>
<li>3MFLoader</li>
2 changes: 1 addition & 1 deletion examples/js/lines/Line2.js
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ THREE.Line2.prototype = Object.assign( Object.create( THREE.LineSegments2.protot

isLine2: true,

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

2 changes: 1 addition & 1 deletion examples/js/lines/LineGeometry.js
Original file line number Diff line number Diff line change
@@ -87,7 +87,7 @@ THREE.LineGeometry.prototype = Object.assign( Object.create( THREE.LineSegmentsG

},

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

2 changes: 1 addition & 1 deletion examples/js/lines/LineSegments2.js
Original file line number Diff line number Diff line change
@@ -54,7 +54,7 @@ THREE.LineSegments2.prototype = Object.assign( Object.create( THREE.Mesh.prototy

}() ),

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

4 changes: 1 addition & 3 deletions examples/js/lines/LineSegmentsGeometry.js
Original file line number Diff line number Diff line change
@@ -9,8 +9,6 @@ THREE.LineSegmentsGeometry = function () {

this.type = 'LineSegmentsGeometry';

var plane = new THREE.BufferGeometry();

var positions = [ - 1, 2, 0, 1, 2, 0, - 1, 1, 0, 1, 1, 0, - 1, 0, 0, 1, 0, 0, - 1, - 1, 0, 1, - 1, 0 ];
var uvs = [ - 1, 2, 1, 2, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 2, 1, - 2 ];
var index = [ 0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5 ];
@@ -249,7 +247,7 @@ THREE.LineSegmentsGeometry.prototype = Object.assign( Object.create( THREE.Insta

},

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

2 changes: 1 addition & 1 deletion examples/js/lines/Wireframe.js
Original file line number Diff line number Diff line change
@@ -54,7 +54,7 @@ THREE.Wireframe.prototype = Object.assign( Object.create( THREE.Mesh.prototype )

}() ),

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

2 changes: 1 addition & 1 deletion examples/js/lines/WireframeGeometry2.js
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ THREE.WireframeGeometry2.prototype = Object.assign( Object.create( THREE.LineSeg

isWireframeGeometry2: true,

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

8 changes: 8 additions & 0 deletions examples/jsm/lines/Line2.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { LineGeometry } from './LineGeometry';
import { LineSegments2 } from './LineSegments2';
import { LineMaterial } from './LineMaterial';

export class Line2 extends LineSegments2 {
constructor(geometry?: LineGeometry, material?: LineMaterial);
isLine2: boolean;
}
38 changes: 38 additions & 0 deletions examples/jsm/lines/Line2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/


import { LineSegments2 } from "../lines/LineSegments2.js";
import { LineGeometry } from "../lines/LineGeometry.js";
import { LineMaterial } from "../lines/LineMaterial.js";

var Line2 = function ( geometry, material ) {

LineSegments2.call( this );

this.type = 'Line2';

this.geometry = geometry !== undefined ? geometry : new LineGeometry();
this.material = material !== undefined ? material : new LineMaterial( { color: Math.random() * 0xffffff } );

};

Line2.prototype = Object.assign( Object.create( LineSegments2.prototype ), {

constructor: Line2,

isLine2: true,

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { Line2 };
12 changes: 12 additions & 0 deletions examples/jsm/lines/LineGeometry.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
Line
} from '../../../src/Three';

import { LineSegmentsGeometry } from './LineSegmentsGeometry';

export class LineGeometry extends LineSegmentsGeometry {
constructor();
isLineGeometry: boolean;

fromLine(line: Line): this;
}
103 changes: 103 additions & 0 deletions examples/jsm/lines/LineGeometry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/


import { LineSegmentsGeometry } from "../lines/LineSegmentsGeometry.js";

var LineGeometry = function () {

LineSegmentsGeometry.call( this );

this.type = 'LineGeometry';

};

LineGeometry.prototype = Object.assign( Object.create( LineSegmentsGeometry.prototype ), {

constructor: LineGeometry,

isLineGeometry: true,

setPositions: function ( array ) {

// converts [ x1, y1, z1, x2, y2, z2, ... ] to pairs format

var length = array.length - 3;
var points = new Float32Array( 2 * length );

for ( var i = 0; i < length; i += 3 ) {

points[ 2 * i ] = array[ i ];
points[ 2 * i + 1 ] = array[ i + 1 ];
points[ 2 * i + 2 ] = array[ i + 2 ];

points[ 2 * i + 3 ] = array[ i + 3 ];
points[ 2 * i + 4 ] = array[ i + 4 ];
points[ 2 * i + 5 ] = array[ i + 5 ];

}

LineSegmentsGeometry.prototype.setPositions.call( this, points );

return this;

},

setColors: function ( array ) {

// converts [ r1, g1, b1, r2, g2, b2, ... ] to pairs format

var length = array.length - 3;
var colors = new Float32Array( 2 * length );

for ( var i = 0; i < length; i += 3 ) {

colors[ 2 * i ] = array[ i ];
colors[ 2 * i + 1 ] = array[ i + 1 ];
colors[ 2 * i + 2 ] = array[ i + 2 ];

colors[ 2 * i + 3 ] = array[ i + 3 ];
colors[ 2 * i + 4 ] = array[ i + 4 ];
colors[ 2 * i + 5 ] = array[ i + 5 ];

}

LineSegmentsGeometry.prototype.setColors.call( this, colors );

return this;

},

fromLine: function ( line ) {

var geometry = line.geometry;

if ( geometry.isGeometry ) {

this.setPositions( geometry.vertices );

} else if ( geometry.isBufferGeometry ) {

this.setPositions( geometry.position.array ); // assumes non-indexed

}

// set colors, maybe

return this;

},

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { LineGeometry };
28 changes: 28 additions & 0 deletions examples/jsm/lines/LineMaterial.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import {
Color,
MaterialParameters,
ShaderMaterial,
Vector2
} from '../../../src/Three';

export interface LineMaterialParameters extends MaterialParameters {
color?: number;
dashed?: boolean;
dashScale?: number;
dashSize?: number;
gapSize?: number;
linewidth?: number;
resolution?: Vector2;
}

export class LineMaterial extends ShaderMaterial {
constructor(parameters?: LineMaterialParameters);
color: Color;
dashed: boolean;
dashScale: number;
dashSize: number;
gapSize: number;
isLineMaterial: boolean;
linewidth: number;
resolution: Vector2;
}
401 changes: 401 additions & 0 deletions examples/jsm/lines/LineMaterial.js

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions examples/jsm/lines/LineSegments2.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import {
Mesh,
} from '../../../src/Three';

import { LineMaterial } from './LineMaterial';
import { LineSegmentsGeometry } from './LineSegmentsGeometry';

export class LineSegments2 extends Mesh {
constructor(geometry?: LineSegmentsGeometry, material?: LineMaterial);
isLineSegments2: boolean;

computeLineDistances(): this;
}
76 changes: 76 additions & 0 deletions examples/jsm/lines/LineSegments2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/

import {
InstancedInterleavedBuffer,
InterleavedBufferAttribute,
Mesh,
Vector3
} from "../../../build/three.module.js";
import { LineSegmentsGeometry } from "../lines/LineSegmentsGeometry.js";
import { LineMaterial } from "../lines/LineMaterial.js";

var LineSegments2 = function ( geometry, material ) {

Mesh.call( this );

this.type = 'LineSegments2';

this.geometry = geometry !== undefined ? geometry : new LineSegmentsGeometry();
this.material = material !== undefined ? material : new LineMaterial( { color: Math.random() * 0xffffff } );

};

LineSegments2.prototype = Object.assign( Object.create( Mesh.prototype ), {

constructor: LineSegments2,

isLineSegments2: true,

computeLineDistances: ( function () { // for backwards-compatability, but could be a method of LineSegmentsGeometry...

var start = new Vector3();
var end = new Vector3();

return function computeLineDistances() {

var geometry = this.geometry;

var instanceStart = geometry.attributes.instanceStart;
var instanceEnd = geometry.attributes.instanceEnd;
var lineDistances = new Float32Array( 2 * instanceStart.data.count );

for ( var i = 0, j = 0, l = instanceStart.data.count; i < l; i ++, j += 2 ) {

start.fromBufferAttribute( instanceStart, i );
end.fromBufferAttribute( instanceEnd, i );

lineDistances[ j ] = ( j === 0 ) ? 0 : lineDistances[ j - 1 ];
lineDistances[ j + 1 ] = lineDistances[ j ] + start.distanceTo( end );

}

var instanceDistanceBuffer = new InstancedInterleavedBuffer( lineDistances, 2, 1 ); // d0, d1

geometry.addAttribute( 'instanceDistanceStart', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 0 ) ); // d0
geometry.addAttribute( 'instanceDistanceEnd', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 1 ) ); // d1

return this;

};

}() ),

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { LineSegments2 };
23 changes: 23 additions & 0 deletions examples/jsm/lines/LineSegmentsGeometry.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import {
EdgesGeometry,
InstancedBufferGeometry,
LineSegments,
Matrix4,
Mesh,
WireframeGeometry
} from '../../../src/Three';

export class LineSegmentsGeometry extends InstancedBufferGeometry {
constructor();
isLineSegmentsGeometry: boolean;

applyMatrix(matrix: Matrix4): this;
computeBoundingBox(): void;
computeBoundingSphere(): void;
fromEdgesGeometry(geometry: WireframeGeometry): this;
fromLineSegements(lineSegments: LineSegments): this;
fromMesh(mesh: Mesh): this;
fromWireframeGeometry(geometry: EdgesGeometry): this;
setColors(array: number[] | Float32Array): this;
setPositions(array: number[] | Float32Array): this;
}
271 changes: 271 additions & 0 deletions examples/jsm/lines/LineSegmentsGeometry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,271 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/

import {
Box3,
Float32BufferAttribute,
InstancedBufferGeometry,
InstancedInterleavedBuffer,
InterleavedBufferAttribute,
Sphere,
Vector3,
WireframeGeometry
} from "../../../build/three.module.js";

var LineSegmentsGeometry = function () {

InstancedBufferGeometry.call( this );

this.type = 'LineSegmentsGeometry';

var positions = [ - 1, 2, 0, 1, 2, 0, - 1, 1, 0, 1, 1, 0, - 1, 0, 0, 1, 0, 0, - 1, - 1, 0, 1, - 1, 0 ];
var uvs = [ - 1, 2, 1, 2, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 2, 1, - 2 ];
var index = [ 0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5 ];

this.setIndex( index );
this.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );
this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );

};

LineSegmentsGeometry.prototype = Object.assign( Object.create( InstancedBufferGeometry.prototype ), {

constructor: LineSegmentsGeometry,

isLineSegmentsGeometry: true,

applyMatrix: function ( matrix ) {

var start = this.attributes.instanceStart;
var end = this.attributes.instanceEnd;

if ( start !== undefined ) {

matrix.applyToBufferAttribute( start );

matrix.applyToBufferAttribute( end );

start.data.needsUpdate = true;

}

if ( this.boundingBox !== null ) {

this.computeBoundingBox();

}

if ( this.boundingSphere !== null ) {

this.computeBoundingSphere();

}

return this;

},

setPositions: function ( array ) {

var lineSegments;

if ( array instanceof Float32Array ) {

lineSegments = array;

} else if ( Array.isArray( array ) ) {

lineSegments = new Float32Array( array );

}

var instanceBuffer = new InstancedInterleavedBuffer( lineSegments, 6, 1 ); // xyz, xyz

this.addAttribute( 'instanceStart', new InterleavedBufferAttribute( instanceBuffer, 3, 0 ) ); // xyz
this.addAttribute( 'instanceEnd', new InterleavedBufferAttribute( instanceBuffer, 3, 3 ) ); // xyz

//

this.computeBoundingBox();
this.computeBoundingSphere();

return this;

},

setColors: function ( array ) {

var colors;

if ( array instanceof Float32Array ) {

colors = array;

} else if ( Array.isArray( array ) ) {

colors = new Float32Array( array );

}

var instanceColorBuffer = new InstancedInterleavedBuffer( colors, 6, 1 ); // rgb, rgb

this.addAttribute( 'instanceColorStart', new InterleavedBufferAttribute( instanceColorBuffer, 3, 0 ) ); // rgb
this.addAttribute( 'instanceColorEnd', new InterleavedBufferAttribute( instanceColorBuffer, 3, 3 ) ); // rgb

return this;

},

fromWireframeGeometry: function ( geometry ) {

this.setPositions( geometry.attributes.position.array );

return this;

},

fromEdgesGeometry: function ( geometry ) {

this.setPositions( geometry.attributes.position.array );

return this;

},

fromMesh: function ( mesh ) {

this.fromWireframeGeometry( new WireframeGeometry( mesh.geometry ) );

// set colors, maybe

return this;

},

fromLineSegements: function ( lineSegments ) {

var geometry = lineSegments.geometry;

if ( geometry.isGeometry ) {

this.setPositions( geometry.vertices );

} else if ( geometry.isBufferGeometry ) {

this.setPositions( geometry.position.array ); // assumes non-indexed

}

// set colors, maybe

return this;

},

computeBoundingBox: function () {

var box = new Box3();

return function computeBoundingBox() {

if ( this.boundingBox === null ) {

this.boundingBox = new Box3();

}

var start = this.attributes.instanceStart;
var end = this.attributes.instanceEnd;

if ( start !== undefined && end !== undefined ) {

this.boundingBox.setFromBufferAttribute( start );

box.setFromBufferAttribute( end );

this.boundingBox.union( box );

}

};

}(),

computeBoundingSphere: function () {

var vector = new Vector3();

return function computeBoundingSphere() {

if ( this.boundingSphere === null ) {

this.boundingSphere = new Sphere();

}

if ( this.boundingBox === null ) {

this.computeBoundingBox();

}

var start = this.attributes.instanceStart;
var end = this.attributes.instanceEnd;

if ( start !== undefined && end !== undefined ) {

var center = this.boundingSphere.center;

this.boundingBox.getCenter( center );

var maxRadiusSq = 0;

for ( var i = 0, il = start.count; i < il; i ++ ) {

vector.fromBufferAttribute( start, i );
maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) );

vector.fromBufferAttribute( end, i );
maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) );

}

this.boundingSphere.radius = Math.sqrt( maxRadiusSq );

if ( isNaN( this.boundingSphere.radius ) ) {

console.error( 'THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.', this );

}

}

};

}(),

toJSON: function () {

// todo

},

clone: function () {

// todo

},

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { LineSegmentsGeometry };
13 changes: 13 additions & 0 deletions examples/jsm/lines/Wireframe.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import {
Mesh,
} from '../../../src/Three';

import { LineMaterial } from './LineMaterial';
import { LineSegmentsGeometry } from './LineSegmentsGeometry';

export class Wireframe extends Mesh {
constructor(geometry?: LineSegmentsGeometry, material?: LineMaterial);
isWireframe: boolean;

computeLineDistances(): this;
}
76 changes: 76 additions & 0 deletions examples/jsm/lines/Wireframe.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/

import {
InstancedInterleavedBuffer,
InterleavedBufferAttribute,
Mesh,
Vector3
} from "../../../build/three.module.js";
import { LineSegmentsGeometry } from "../lines/LineSegmentsGeometry.js";
import { LineMaterial } from "../lines/LineMaterial.js";

var Wireframe = function ( geometry, material ) {

Mesh.call( this );

this.type = 'Wireframe';

this.geometry = geometry !== undefined ? geometry : new LineSegmentsGeometry();
this.material = material !== undefined ? material : new LineMaterial( { color: Math.random() * 0xffffff } );

};

Wireframe.prototype = Object.assign( Object.create( Mesh.prototype ), {

constructor: Wireframe,

isWireframe: true,

computeLineDistances: ( function () { // for backwards-compatability, but could be a method of LineSegmentsGeometry...

var start = new Vector3();
var end = new Vector3();

return function computeLineDistances() {

var geometry = this.geometry;

var instanceStart = geometry.attributes.instanceStart;
var instanceEnd = geometry.attributes.instanceEnd;
var lineDistances = new Float32Array( 2 * instanceStart.data.count );

for ( var i = 0, j = 0, l = instanceStart.data.count; i < l; i ++, j += 2 ) {

start.fromBufferAttribute( instanceStart, i );
end.fromBufferAttribute( instanceEnd, i );

lineDistances[ j ] = ( j === 0 ) ? 0 : lineDistances[ j - 1 ];
lineDistances[ j + 1 ] = lineDistances[ j ] + start.distanceTo( end );

}

var instanceDistanceBuffer = new InstancedInterleavedBuffer( lineDistances, 2, 1 ); // d0, d1

geometry.addAttribute( 'instanceDistanceStart', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 0 ) ); // d0
geometry.addAttribute( 'instanceDistanceEnd', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 1 ) ); // d1

return this;

};

}() ),

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { Wireframe };
11 changes: 11 additions & 0 deletions examples/jsm/lines/WireframeGeometry2.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import {
BufferGeometry,
Geometry
} from '../../../src/Three';

import { LineSegmentsGeometry } from './LineSegmentsGeometry';

export class WireframeGeometry2 extends LineSegmentsGeometry {
constructor(geometry: Geometry | BufferGeometry);
isWireframeGeometry2: boolean;
}
39 changes: 39 additions & 0 deletions examples/jsm/lines/WireframeGeometry2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/

import {
WireframeGeometry
} from "../../../build/three.module.js";
import { LineSegmentsGeometry } from "../lines/LineSegmentsGeometry.js";

var WireframeGeometry2 = function ( geometry ) {

LineSegmentsGeometry.call( this );

this.type = 'WireframeGeometry2';

this.fromWireframeGeometry( new WireframeGeometry( geometry ) );

// set colors, maybe

};

WireframeGeometry2.prototype = Object.assign( Object.create( LineSegmentsGeometry.prototype ), {

constructor: WireframeGeometry2,

isWireframeGeometry2: true,

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { WireframeGeometry2 };
1 change: 1 addition & 0 deletions src/math/Triangle.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { Vector2 } from './Vector2';
import { Vector3 } from './Vector3';
import { Plane } from './Plane';
import { Box3 } from './Box3';
8 changes: 8 additions & 0 deletions utils/modularize.js
Original file line number Diff line number Diff line change
@@ -48,6 +48,14 @@ var files = [
{ path: 'geometries/ParametricGeometries.js', dependencies: [], ignoreList: [] },
{ path: 'geometries/TeapotBufferGeometry.js', dependencies: [], ignoreList: [] },

{ path: 'lines/Line2.js', dependencies: [ { name: 'LineSegments2', path: 'lines/LineSegments2.js' }, { name: 'LineGeometry', path: 'lines/LineGeometry.js' }, { name: 'LineMaterial', path: 'lines/LineMaterial.js' } ], ignoreList: [] },
{ path: 'lines/LineGeometry.js', dependencies: [ { name: 'LineSegmentsGeometry', path: 'lines/LineSegmentsGeometry.js' } ], ignoreList: [] },
{ path: 'lines/LineMaterial.js', dependencies: [], ignoreList: [] },
{ path: 'lines/LineSegments2.js', dependencies: [ { name: 'LineSegmentsGeometry', path: 'lines/LineSegmentsGeometry.js' }, { name: 'LineMaterial', path: 'lines/LineMaterial.js' } ], ignoreList: [] },
{ path: 'lines/LineSegmentsGeometry.js', dependencies: [], ignoreList: [] },
{ path: 'lines/Wireframe.js', dependencies: [ { name: 'LineSegmentsGeometry', path: 'lines/LineSegmentsGeometry.js' }, { name: 'LineMaterial', path: 'lines/LineMaterial.js' } ], ignoreList: [] },
{ path: 'lines/WireframeGeometry2.js', dependencies: [ { name: 'LineSegmentsGeometry', path: 'lines/LineSegmentsGeometry.js' } ], ignoreList: [] },

{ path: 'loaders/3MFLoader.js', dependencies: [], ignoreList: [] },
{ path: 'loaders/AMFLoader.js', dependencies: [], ignoreList: [] },
{ path: 'loaders/AssimpJSONLoader.js', dependencies: [], ignoreList: [] },