three-stdlib 2.14.0 → 2.14.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=s(e);class n extends t.Loader{constructor(e){super(e),r.default(this,"options",{lineHeight:1,letterSpacing:0})}load(e,s,r,n){const o=new t.FileLoader(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,(e=>{if("string"!=typeof e)throw new Error("unsupported data type");const t=JSON.parse(e),r=this.parse(t);s&&s(r)}),r,n)}parse(e){return new o(e,this.options)}setOptions(e){Object.assign(this.options,e)}}class o{constructor(e,t){r.default(this,"data",void 0),r.default(this,"options",void 0),this.data=e,this.options=t}generateShapes(e,t=100){const s=[],r=function(e,t,s,r){const n=Array.from(e),o=t/s.resolution,i=(s.boundingBox.yMax-s.boundingBox.yMin+s.underlineThickness)*o,p=[];let l=0,h=0;for(let e=0;e<n.length;e++){const t=n[e];if("\n"===t)l=0,h-=i*r.lineHeight;else{const e=a(t,o,l,h,s);e&&(l+=e.offsetX+r.letterSpacing,p.push(e.path))}}return p}(e,t,this.data,this.options);for(let e=0,t=r.length;e<t;e++)Array.prototype.push.apply(s,r[e].toShapes(!1));return s}}function a(e,s,r,n,o){const a=o.glyphs[e]||o.glyphs["?"];if(!a)return void console.error('THREE.Font: character "'+e+'" does not exists in font family '+o.familyName+".");const i=new t.ShapePath;let p,l,h,u,c,d,f,y;if(a.o){const e=a._cachedOutline||(a._cachedOutline=a.o.split(" "));for(let t=0,o=e.length;t<o;){switch(e[t++]){case"m":p=parseInt(e[t++])*s+r,l=parseInt(e[t++])*s+n,i.moveTo(p,l);break;case"l":p=parseInt(e[t++])*s+r,l=parseInt(e[t++])*s+n,i.lineTo(p,l);break;case"q":h=parseInt(e[t++])*s+r,u=parseInt(e[t++])*s+n,c=parseInt(e[t++])*s+r,d=parseInt(e[t++])*s+n,i.quadraticCurveTo(c,d,h,u);break;case"b":h=parseInt(e[t++])*s+r,u=parseInt(e[t++])*s+n,c=parseInt(e[t++])*s+r,d=parseInt(e[t++])*s+n,f=parseInt(e[t++])*s+r,y=parseInt(e[t++])*s+n,i.bezierCurveTo(c,d,f,y,h,u)}}}return{offsetX:a.ha*s,path:i}}r.default(o,"isFont",void 0),r.default(o,"type",void 0),exports.Font=o,exports.FontLoader=n;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=r(e);class n extends t.Loader{constructor(e){super(e)}load(e,r,s,n){const a=new t.FileLoader(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,(e=>{if("string"!=typeof e)throw new Error("unsupported data type");const t=JSON.parse(e),s=this.parse(t);r&&r(s)}),s,n)}parse(e){return new a(e)}}class a{constructor(e){s.default(this,"data",void 0),this.data=e}generateShapes(e,t=100,r){const s=[],n={letterSpacing:0,lineHeight:1,...r},a=function(e,t,r,s){const n=Array.from(e),a=t/r.resolution,i=(r.boundingBox.yMax-r.boundingBox.yMin+r.underlineThickness)*a,p=[];let l=0,u=0;for(let e=0;e<n.length;e++){const t=n[e];if("\n"===t)l=0,u-=i*s.lineHeight;else{const e=o(t,a,l,u,r);e&&(l+=e.offsetX+s.letterSpacing,p.push(e.path))}}return p}(e,t,this.data,n);for(let e=0,t=a.length;e<t;e++)Array.prototype.push.apply(s,a[e].toShapes(!1));return s}}function o(e,r,s,n,a){const o=a.glyphs[e]||a.glyphs["?"];if(!o)return void console.error('THREE.Font: character "'+e+'" does not exists in font family '+a.familyName+".");const i=new t.ShapePath;let p,l,u,c,h,d,f,y;if(o.o){const e=o._cachedOutline||(o._cachedOutline=o.o.split(" "));for(let t=0,a=e.length;t<a;){switch(e[t++]){case"m":p=parseInt(e[t++])*r+s,l=parseInt(e[t++])*r+n,i.moveTo(p,l);break;case"l":p=parseInt(e[t++])*r+s,l=parseInt(e[t++])*r+n,i.lineTo(p,l);break;case"q":u=parseInt(e[t++])*r+s,c=parseInt(e[t++])*r+n,h=parseInt(e[t++])*r+s,d=parseInt(e[t++])*r+n,i.quadraticCurveTo(h,d,u,c);break;case"b":u=parseInt(e[t++])*r+s,c=parseInt(e[t++])*r+n,h=parseInt(e[t++])*r+s,d=parseInt(e[t++])*r+n,f=parseInt(e[t++])*r+s,y=parseInt(e[t++])*r+n,i.bezierCurveTo(h,d,f,y,u,c)}}}return{offsetX:o.ha*r,path:i}}s.default(a,"isFont",void 0),s.default(a,"type",void 0),exports.Font=a,exports.FontLoader=n;
@@ -5,11 +5,9 @@ declare type Options = {
5
5
  letterSpacing: number;
6
6
  };
7
7
  export declare class FontLoader extends Loader {
8
- options: Options;
9
8
  constructor(manager?: LoadingManager);
10
9
  load(url: string, onLoad?: (responseFont: Font) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): void;
11
10
  parse(json: FontData): Font;
12
- setOptions(options: Partial<Options>): void;
13
11
  }
14
12
  declare type Glyph = {
15
13
  _cachedOutline: string[];
@@ -30,10 +28,9 @@ declare type FontData = {
30
28
  };
31
29
  export declare class Font {
32
30
  data: FontData;
33
- options: Options;
34
31
  static isFont: true;
35
32
  static type: 'Font';
36
- constructor(data: FontData, options: Options);
37
- generateShapes(text: string, size?: number): Shape[];
33
+ constructor(data: FontData);
34
+ generateShapes(text: string, size?: number, _options?: Partial<Options>): Shape[];
38
35
  }
39
36
  export {};
@@ -4,11 +4,6 @@ import { Loader, FileLoader, ShapePath } from 'three';
4
4
  class FontLoader extends Loader {
5
5
  constructor(manager) {
6
6
  super(manager);
7
-
8
- _defineProperty(this, "options", {
9
- lineHeight: 1,
10
- letterSpacing: 0
11
- });
12
7
  }
13
8
 
14
9
  load(url, onLoad, onProgress, onError) {
@@ -25,27 +20,25 @@ class FontLoader extends Loader {
25
20
  }
26
21
 
27
22
  parse(json) {
28
- return new Font(json, this.options);
29
- }
30
-
31
- setOptions(options) {
32
- Object.assign(this.options, options);
23
+ return new Font(json);
33
24
  }
34
25
 
35
26
  }
36
27
  class Font {
37
- constructor(data, options) {
28
+ constructor(data) {
38
29
  _defineProperty(this, "data", void 0);
39
30
 
40
- _defineProperty(this, "options", void 0);
41
-
42
31
  this.data = data;
43
- this.options = options;
44
32
  }
45
33
 
46
- generateShapes(text, size = 100) {
34
+ generateShapes(text, size = 100, _options) {
47
35
  const shapes = [];
48
- const paths = createPaths(text, size, this.data, this.options);
36
+ const options = {
37
+ letterSpacing: 0,
38
+ lineHeight: 1,
39
+ ..._options
40
+ };
41
+ const paths = createPaths(text, size, this.data, options);
49
42
 
50
43
  for (let p = 0, pl = paths.length; p < pl; p++) {
51
44
  Array.prototype.push.apply(shapes, paths[p].toShapes(false));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-stdlib",
3
- "version": "2.14.0",
3
+ "version": "2.14.1",
4
4
  "private": false,
5
5
  "description": "stand-alone library of threejs examples",
6
6
  "main": "index.cjs.js",