@woosh/meep-engine 2.126.74 → 2.127.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 (75) hide show
  1. package/build/bundle-worker-image-decoder.js +1 -1
  2. package/package.json +1 -1
  3. package/src/core/binary/platform_compute_endianness.d.ts.map +1 -1
  4. package/src/core/binary/platform_compute_endianness.js +5 -1
  5. package/src/core/color/hunt/xyz_to_hpe.d.ts +7 -0
  6. package/src/core/color/hunt/xyz_to_hpe.d.ts.map +1 -0
  7. package/src/core/color/hunt/xyz_to_hpe.js +15 -0
  8. package/src/core/color/xyz/rgb_to_xyz.d.ts +2 -0
  9. package/src/core/color/xyz/rgb_to_xyz.d.ts.map +1 -1
  10. package/src/core/color/xyz/rgb_to_xyz.js +2 -0
  11. package/src/core/color/xyz/xyz_to_rgb.d.ts +2 -0
  12. package/src/core/color/xyz/xyz_to_rgb.d.ts.map +1 -1
  13. package/src/core/color/xyz/xyz_to_rgb.js +2 -0
  14. package/src/core/math/idct_1d.d.ts +14 -0
  15. package/src/core/math/idct_1d.d.ts.map +1 -0
  16. package/src/core/math/idct_1d.js +69 -0
  17. package/src/core/math/idct_2d.d.ts +11 -0
  18. package/src/core/math/idct_2d.d.ts.map +1 -0
  19. package/src/core/math/idct_2d.js +22 -0
  20. package/src/core/model/DebouncedObservedBoolean.d.ts +1 -1
  21. package/src/core/model/DebouncedObservedBoolean.d.ts.map +1 -1
  22. package/src/core/model/object/objectKeyByValue.d.ts.map +1 -1
  23. package/src/core/model/object/objectKeyByValue.js +4 -0
  24. package/src/engine/asset/Asset.d.ts.map +1 -1
  25. package/src/engine/asset/Asset.js +2 -5
  26. package/src/engine/asset/AssetManager.d.ts.map +1 -1
  27. package/src/engine/asset/AssetManager.js +1 -0
  28. package/src/engine/asset/AssetTransformer.js +1 -1
  29. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.d.ts +20 -1
  30. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.d.ts.map +1 -1
  31. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.js +56 -13
  32. package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts +42 -0
  33. package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts.map +1 -0
  34. package/src/engine/asset/loaders/image/jpeg/JpegFrame.js +45 -0
  35. package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts +42 -0
  36. package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts.map +1 -0
  37. package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.js +48 -0
  38. package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts +60 -0
  39. package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts.map +1 -0
  40. package/src/engine/asset/loaders/image/jpeg/JpegImage.js +624 -0
  41. package/src/engine/asset/loaders/image/jpeg/NOTES.md +3 -0
  42. package/src/engine/asset/loaders/image/jpeg/buildComponentData.d.ts +7 -0
  43. package/src/engine/asset/loaders/image/jpeg/buildComponentData.d.ts.map +1 -0
  44. package/src/engine/asset/loaders/image/jpeg/buildComponentData.js +59 -0
  45. package/src/engine/asset/loaders/image/jpeg/buildHuffmanTable.d.ts +8 -0
  46. package/src/engine/asset/loaders/image/jpeg/buildHuffmanTable.d.ts.map +1 -0
  47. package/src/engine/asset/loaders/image/jpeg/buildHuffmanTable.js +46 -0
  48. package/src/engine/asset/loaders/image/jpeg/decodeScan.d.ts +17 -0
  49. package/src/engine/asset/loaders/image/jpeg/decodeScan.d.ts.map +1 -0
  50. package/src/engine/asset/loaders/image/jpeg/decodeScan.js +351 -0
  51. package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.d.ts +23 -0
  52. package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.d.ts.map +1 -0
  53. package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.js +214 -0
  54. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts +9 -0
  55. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts.map +1 -0
  56. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.js +32 -0
  57. package/src/engine/asset/loaders/image/jpeg/jpeg_decode.d.ts +13 -0
  58. package/src/engine/asset/loaders/image/jpeg/jpeg_decode.d.ts.map +1 -0
  59. package/src/engine/asset/loaders/image/jpeg/jpeg_decode.js +41 -0
  60. package/src/engine/asset/loaders/image/png/PNG.d.ts +18 -11
  61. package/src/engine/asset/loaders/image/png/PNG.d.ts.map +1 -1
  62. package/src/engine/asset/loaders/image/png/PNG.js +17 -22
  63. package/src/engine/asset/loaders/image/png/PNGReader.d.ts +71 -10
  64. package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +1 -1
  65. package/src/engine/asset/loaders/image/png/PNGReader.js +422 -101
  66. package/src/engine/graphics/geometry/AttributeSpec.d.ts.map +1 -1
  67. package/src/engine/graphics/geometry/AttributeSpec.js +17 -0
  68. package/src/engine/graphics/texture/sampler/downloadSamplerAsPNG.d.ts.map +1 -1
  69. package/src/engine/graphics/texture/sampler/downloadSamplerAsPNG.js +6 -1
  70. package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.d.ts.map +1 -1
  71. package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.js +7 -2
  72. package/src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.d.ts.map +1 -1
  73. package/src/engine/graphics/texture/sampler/sampler2d_to_html_canvas.js +12 -1
  74. package/src/engine/logging/elastic/ElasticSearchLogger.d.ts +1 -1
  75. package/src/engine/logging/elastic/ElasticSearchLogger.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"objectKeyByValue.d.ts","sourceRoot":"","sources":["../../../../../src/core/model/object/objectKeyByValue.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,4DAFa,MAAM,GAAC,SAAS,CAU5B"}
1
+ {"version":3,"file":"objectKeyByValue.d.ts","sourceRoot":"","sources":["../../../../../src/core/model/object/objectKeyByValue.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,4DAFa,MAAM,GAAC,SAAS,CAY5B"}
@@ -1,3 +1,5 @@
1
+ import { assert } from "../../assert.js";
2
+
1
3
  /**
2
4
  * Given an object and a value, find the first property with matching value and returns name of that property
3
5
  * Useful for working with ENUM-like objects
@@ -7,6 +9,8 @@
7
9
  * @returns {string|undefined} name of the property, or undefined if property not found
8
10
  */
9
11
  export function objectKeyByValue(object, value) {
12
+ assert.isObject(object, 'object');
13
+
10
14
  for (let i in object) {
11
15
  if (object[i] === value) {
12
16
  return i;
@@ -1 +1 @@
1
- {"version":3,"file":"Asset.d.ts","sourceRoot":"","sources":["../../../../src/engine/asset/Asset.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH;IACI;;;;;OAKG;IACH,0CAHW,MAAM,EA2BhB;IAvBG;;;OAGG;IACH,iBAAsB;IAEtB;;;OAGG;IACH,UAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,cAFU,uBAAuB,CAEX;IAEtB;;;OAGG;IACH,8BAAuB;IAG3B;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAOnB;IAED,YAEC;IAED;;;OAGG;IACH,YAEC;CACJ"}
1
+ {"version":3,"file":"Asset.d.ts","sourceRoot":"","sources":["../../../../src/engine/asset/Asset.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH;IACI;;;;;OAKG;IACH,4CAHW,MAAM,EA4BhB;IAvBG;;;OAGG;IACH,mBAAsB;IAEtB;;;OAGG;IACH,UAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,cAFU,uBAAuB,CAEX;IAEtB;;;OAGG;IACH,8BAAuB;IAG3B;;;;OAIG;IACH,2BAFa,OAAO,CAOnB;IAED,YAEC;IAED;;;OAGG;IACH,UAFa,CAAC,CAIb;CACJ"}
@@ -1,11 +1,7 @@
1
1
  /**
2
+ * @template T
2
3
  *
3
- * @param {string} path
4
- * @param {string} type
5
- * @constructor
6
4
  */
7
-
8
-
9
5
  export class Asset {
10
6
  /**
11
7
  * @template T
@@ -14,6 +10,7 @@ export class Asset {
14
10
  * @constructor
15
11
  */
16
12
  constructor(factory, byteSize = 0) {
13
+
17
14
  /**
18
15
  *
19
16
  * @type {function(): T}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetManager.d.ts","sourceRoot":"","sources":["../../../../src/engine/asset/AssetManager.js"],"names":[],"mappings":"AA8CA;;;;GAIG;AACH;IAmII;;;;;OAKG;IACH,oCAJW,GAAG,EAYb;IAhJD;;;;OAIG;IACH,eAEG;IAEH;;;OAGG;IACH,aAFU,YAAY,gBAAgB,EAAE,YAAY,CAAC,CAER;IAe7C;;;;;;OAMG;IACH,kBAFU,MAAM,CAEY;IA4B5B;;;;OAIG;IACH,iBAAc;IAEd;;;OAGG;IACH,mBAFU,iBAAiB,CAEiB;IAwE5C,gBAQC;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACL,QAAQ,IAAI,CAAC,CAexB;IAED;;;;;OAKG;IACH,oCAFa,OAAO,CAOnB;IAED;;OAEG;IACH,cAEC;IAED,8BAEC;IAED;;;;;;OAMG;IACH,4DAJW,iBAAiB,GAEf,cAAc,CAY1B;IAED;;;;;;;;;OASG;IACH,qFAsCC;IAED;;;;;;;OAOG;IACH,gBAJW,MAAM,QACN,MAAM,GACL,OAAO,CAKlB;IAGD;;;;;;OAMG;IACH,eALW,MAAM,QACN,MAAM,GACJ,OAAO,CAOnB;IAED;;;;;;;OAOG;IACH,eAJW,MAAM,QACN,MAAM,GACL,OAAO,CAMlB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAZW,MAAM,QACN,MAAM,gBAEJ,mBAAiB,CAgE7B;IAED;;;;;;;;OAQG;IACH,kBAJW,MAAM,QACN,MAAM,2BAqChB;IAgRD;;;;;OAKG;IACH,sBA2BC;IAGD;;;;OAIG;IACH,uBAHW,MAAM,GACL,OAAO,CAIlB;IAED;;;;OAIG;IACH,sBAHW,MAAM,GACJ,wBAAY,SAAS,CAMjC;IAaD;;;;;;;;;;OAUG;IACH,+BALW,MAAM,uCAEJ,IAAI,CAqBhB;IAED;;;;;;OAMG;IACH,iCALW,MAAM,uCAEJ,OAAO,CAyBnB;IAED;;;;;;OAMG;IACH,6BAJW,MAAM,kCAEJ,QAAQ,OAAO,CAAC,CAU5B;IAED;;;;;OAKG;IACH,0BAJW,MAAM,iEAwChB;IAED;;;OAGG;IACH,uBAFW,MAAM,iBAkBhB;IAED;;;;;;;OAOG;IACH,yCAFa,aAAS,IAAI,CAYzB;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACL,mBAAiB,CAa5B;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACL,gBAAgB,GAAC,SAAS,CAQrC;IAED;;;;;OAKG;IACH,mBAJW,MAAM,QACN,MAAM,QACN,MAAM,QAUhB;IAGL;;;OAGG;IACH,yBAFU,OAAO,CAEoB;;CANpC;4BAngC2B,0CAA0C;iCAOrC,uBAAuB;6BAM3B,mBAAmB;kCAFd,6BAA6B;kCAD7B,wBAAwB;4BAE9B,0BAA0B"}
1
+ {"version":3,"file":"AssetManager.d.ts","sourceRoot":"","sources":["../../../../src/engine/asset/AssetManager.js"],"names":[],"mappings":"AA8CA;;;;GAIG;AACH;IAmII;;;;;OAKG;IACH,oCAJW,GAAG,EAYb;IAhJD;;;;OAIG;IACH,eAEG;IAEH;;;OAGG;IACH,aAFU,YAAY,gBAAgB,EAAE,YAAY,CAAC,CAER;IAe7C;;;;;;OAMG;IACH,kBAFU,MAAM,CAEY;IA4B5B;;;;OAIG;IACH,iBAAc;IAEd;;;OAGG;IACH,mBAFU,iBAAiB,CAEiB;IAwE5C,gBAQC;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACL,QAAQ,IAAI,CAAC,CAexB;IAED;;;;;OAKG;IACH,oCAFa,OAAO,CAOnB;IAED;;OAEG;IACH,cAEC;IAED,8BAEC;IAED;;;;;;OAMG;IACH,4DAJW,iBAAiB,GAEf,cAAc,CAY1B;IAED;;;;;;;;;OASG;IACH,qFAsCC;IAED;;;;;;;OAOG;IACH,gBAJW,MAAM,QACN,MAAM,GACL,OAAO,CAKlB;IAGD;;;;;;OAMG;IACH,eALW,MAAM,QACN,MAAM,GACJ,OAAO,CAOnB;IAED;;;;;;;OAOG;IACH,eAJW,MAAM,QACN,MAAM,GACL,OAAO,CAMlB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAZW,MAAM,QACN,MAAM,gBAEJ,mBAAiB,CAgE7B;IAED;;;;;;;;OAQG;IACH,kBAJW,MAAM,QACN,MAAM,2BAqChB;IAiRD;;;;;OAKG;IACH,sBA2BC;IAGD;;;;OAIG;IACH,uBAHW,MAAM,GACL,OAAO,CAIlB;IAED;;;;OAIG;IACH,sBAHW,MAAM,GACJ,wBAAY,SAAS,CAMjC;IAaD;;;;;;;;;;OAUG;IACH,+BALW,MAAM,uCAEJ,IAAI,CAqBhB;IAED;;;;;;OAMG;IACH,iCALW,MAAM,uCAEJ,OAAO,CAyBnB;IAED;;;;;;OAMG;IACH,6BAJW,MAAM,kCAEJ,QAAQ,OAAO,CAAC,CAU5B;IAED;;;;;OAKG;IACH,0BAJW,MAAM,iEAwChB;IAED;;;OAGG;IACH,uBAFW,MAAM,iBAkBhB;IAED;;;;;;;OAOG;IACH,yCAFa,aAAS,IAAI,CAYzB;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACL,mBAAiB,CAa5B;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACL,gBAAgB,GAAC,SAAS,CAQrC;IAED;;;;;OAKG;IACH,mBAJW,MAAM,QACN,MAAM,QACN,MAAM,QAUhB;IAGL;;;OAGG;IACH,yBAFU,OAAO,CAEoB;;CANpC;4BApgC2B,0CAA0C;iCAOrC,uBAAuB;6BAM3B,mBAAmB;kCAFd,6BAA6B;kCAD7B,wBAAwB;4BAE9B,0BAA0B"}
@@ -503,6 +503,7 @@ export class AssetManager {
503
503
  * @private
504
504
  */
505
505
  #schedule_response(asset, request) {
506
+ // technically you can schedule responses just fine, but commonly the user forgets to call 'startup' and so nothing happens which is perceived as a bug.
506
507
  assert.equal(this.#is_running, true, 'AssetManager must be running to schedule responses');
507
508
 
508
509
  this.#response_queue.add(new Response(asset, request));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Applies a transformation to an asset. Such as performing mesh simplification for example.
2
+ * Applies a transformation to an asset. Such as performing mesh simplification, for example.
3
3
  * Transformation is executed by the {@link AssetManager}
4
4
  * Useful for modifying/extending post-processing done on various asset types
5
5
  * @template {Asset<T>} A
@@ -1,8 +1,27 @@
1
1
  /**
2
2
  * Uses the browser's native image decoder
3
+ * @extends {Codec<{width:number, height:number, data: Uint8Array, itemSize: number, bitDepth:number}>}
3
4
  */
4
- export class NativeImageDecoder extends Codec<any> {
5
+ export class NativeImageDecoder extends Codec<{
6
+ width: number;
7
+ height: number;
8
+ data: Uint8Array;
9
+ itemSize: number;
10
+ bitDepth: number;
11
+ }> {
5
12
  constructor();
13
+ /**
14
+ *
15
+ * @param {Uint8Array} data
16
+ * @return {{data: Uint8Array, width: number, height: number, itemSize: number, bitDepth: number}}
17
+ */
18
+ decodeSync(data: Uint8Array): {
19
+ data: Uint8Array;
20
+ width: number;
21
+ height: number;
22
+ itemSize: number;
23
+ bitDepth: number;
24
+ };
6
25
  decode(data: any): Promise<{
7
26
  data: Uint8Array;
8
27
  width: number;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeImageDecoder.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/asset/loaders/image/codec/NativeImageDecoder.js"],"names":[],"mappings":"AA0BA;;GAEG;AACH;;IACI;;;;;;OA2BC;CACJ;sBA1DqB,YAAY"}
1
+ {"version":3,"file":"NativeImageDecoder.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/asset/loaders/image/codec/NativeImageDecoder.js"],"names":[],"mappings":"AAyDA;;;GAGG;AACH;WAF0B,MAAM;YAAS,MAAM;UAAQ,UAAU;cAAY,MAAM;cAAW,MAAM;;;IAGhG;;;;OAIG;IACH,iBAHW,UAAU,GACT;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAgBhG;IAED;;;;;;OAiBC;CACJ;sBArGqB,YAAY"}
@@ -24,36 +24,79 @@ function decode(img) {
24
24
  return image_data.data;
25
25
  }
26
26
 
27
+ /**
28
+ *
29
+ * @param {HTMLImageElement} image
30
+ */
31
+ function make_decoded_data(image) {
32
+
33
+ const rgba_data = decode(image);
34
+
35
+ const width = image.width;
36
+ const height = image.height;
37
+
38
+ return {
39
+ data: rgba_data,
40
+ width: width,
41
+ height: height,
42
+ itemSize: 4,
43
+ bitDepth: 8
44
+ };
45
+ }
46
+
47
+ /**
48
+ * Convert binary data to image URL that we can load.
49
+ * Don't forget to call `URL.revokeObjectURL(url)` when done
50
+ * @param {Uint8Array} data
51
+ * @return {string}
52
+ */
53
+ function data_to_url(data){
54
+ const blob = new Blob([data]);
55
+ return URL.createObjectURL(blob);
56
+ }
57
+
27
58
  /**
28
59
  * Uses the browser's native image decoder
60
+ * @extends {Codec<{width:number, height:number, data: Uint8Array, itemSize: number, bitDepth:number}>}
29
61
  */
30
62
  export class NativeImageDecoder extends Codec {
63
+ /**
64
+ *
65
+ * @param {Uint8Array} data
66
+ * @return {{data: Uint8Array, width: number, height: number, itemSize: number, bitDepth: number}}
67
+ */
68
+ decodeSync(data) {
69
+ const image = new Image();
70
+
71
+ // convert binary data to image URL that we can load
72
+ const url = data_to_url(data);
73
+
74
+ image.src = url;
75
+
76
+ const result = make_decoded_data(image);
77
+
78
+ // release resources
79
+ URL.revokeObjectURL(url);
80
+
81
+ return result;
82
+ }
83
+
31
84
  async decode(data) {
32
85
  const image = new Image();
33
86
 
34
87
  // convert binary data to image URL that we can load
35
- const blob = new Blob([data]);
36
- const url = URL.createObjectURL(blob);
88
+ const url = data_to_url(data);
37
89
 
38
90
  image.src = url;
39
91
 
40
92
  // give the browser a chance to decode image in async
41
93
  await image.decode();
42
94
 
43
- const rgba_data = decode(image);
44
-
45
- const width = image.width;
46
- const height = image.height;
95
+ const result = make_decoded_data(image);
47
96
 
48
97
  // release resources
49
98
  URL.revokeObjectURL(url);
50
99
 
51
- return {
52
- data: rgba_data,
53
- width: width,
54
- height: height,
55
- itemSize: 4,
56
- bitDepth: 8
57
- };
100
+ return result;
58
101
  }
59
102
  }
@@ -0,0 +1,42 @@
1
+ export class JpegFrame {
2
+ /**
3
+ *
4
+ * @type {boolean}
5
+ */
6
+ extended: boolean;
7
+ /**
8
+ *
9
+ * @type {boolean}
10
+ */
11
+ progressive: boolean;
12
+ /**
13
+ *
14
+ * @type {number}
15
+ */
16
+ precision: number;
17
+ /**
18
+ *
19
+ * @type {number}
20
+ */
21
+ scanLines: number;
22
+ /**
23
+ *
24
+ * @type {number}
25
+ */
26
+ samplesPerLine: number;
27
+ maxH: number;
28
+ maxV: number;
29
+ mcusPerLine: number;
30
+ mcusPerColumn: number;
31
+ /**
32
+ *
33
+ * @type {Object<JpegFrameComponent>}
34
+ */
35
+ components: any;
36
+ /**
37
+ *
38
+ * @type {number[]}
39
+ */
40
+ componentsOrder: number[];
41
+ }
42
+ //# sourceMappingURL=JpegFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JpegFrame.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/asset/loaders/image/jpeg/JpegFrame.js"],"names":[],"mappings":"AAAA;IACI;;;OAGG;IACH,UAFU,OAAO,CAEA;IACjB;;;OAGG;IACH,aAFU,OAAO,CAEG;IACpB;;;OAGG;IACH,WAFU,MAAM,CAEF;IACd;;;OAGG;IACH,WAFU,MAAM,CAEF;IACd;;;OAGG;IACH,gBAFU,MAAM,CAEG;IAEnB,aAAS;IACT,aAAS;IAET,oBAAgB;IAChB,sBAAkB;IAElB;;;OAGG;IACH,gBAAgB;IAEhB;;;OAGG;IACH,iBAFU,MAAM,EAAE,CAEG;CACxB"}
@@ -0,0 +1,45 @@
1
+ export class JpegFrame {
2
+ /**
3
+ *
4
+ * @type {boolean}
5
+ */
6
+ extended = false;
7
+ /**
8
+ *
9
+ * @type {boolean}
10
+ */
11
+ progressive = false;
12
+ /**
13
+ *
14
+ * @type {number}
15
+ */
16
+ precision = 8;
17
+ /**
18
+ *
19
+ * @type {number}
20
+ */
21
+ scanLines = 0;
22
+ /**
23
+ *
24
+ * @type {number}
25
+ */
26
+ samplesPerLine = 0;
27
+
28
+ maxH = 0;
29
+ maxV = 0;
30
+
31
+ mcusPerLine = 0;
32
+ mcusPerColumn = 0;
33
+
34
+ /**
35
+ *
36
+ * @type {Object<JpegFrameComponent>}
37
+ */
38
+ components = {};
39
+
40
+ /**
41
+ *
42
+ * @type {number[]}
43
+ */
44
+ componentsOrder = [];
45
+ }
@@ -0,0 +1,42 @@
1
+ export class JpegFrameComponent {
2
+ /**
3
+ *
4
+ * @type {number}
5
+ */
6
+ h: number;
7
+ /**
8
+ *
9
+ * @type {number}
10
+ */
11
+ v: number;
12
+ /**
13
+ * @type {number}
14
+ */
15
+ pred: number;
16
+ /**
17
+ * @type {Int32Array[][]}
18
+ */
19
+ blocks: Int32Array[][];
20
+ blocksPerLine: number;
21
+ blocksPerColumn: number;
22
+ /**
23
+ *
24
+ * @type {number}
25
+ */
26
+ quantizationIdx: number;
27
+ /**
28
+ * @type {Int32Array}
29
+ */
30
+ quantizationTable: Int32Array;
31
+ /**
32
+ * @see buildHuffmanTable
33
+ * @type {[]}
34
+ */
35
+ huffmanTableDC: [];
36
+ /**
37
+ * @see buildHuffmanTable
38
+ * @type {[]}
39
+ */
40
+ huffmanTableAC: [];
41
+ }
42
+ //# sourceMappingURL=JpegFrameComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JpegFrameComponent.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/asset/loaders/image/jpeg/JpegFrameComponent.js"],"names":[],"mappings":"AAAA;IACI;;;OAGG;IACH,GAFU,MAAM,CAEX;IACL;;;OAGG;IACH,GAFU,MAAM,CAEX;IAEL;;OAEG;IACH,MAFU,MAAM,CAER;IAER;;OAEG;IACH,QAFU,UAAU,EAAE,EAAE,CAElB;IAEN,sBAAiB;IACjB,wBAAmB;IAEnB;;;OAGG;IACH,iBAFU,MAAM,CAEG;IAEnB;;OAEG;IACH,mBAFU,UAAU,CAEF;IAElB;;;OAGG;IACH,gBAFU,EAAE,CAEE;IAEd;;;OAGG;IACH,gBAFU,EAAE,CAEE;CACjB"}
@@ -0,0 +1,48 @@
1
+ export class JpegFrameComponent {
2
+ /**
3
+ *
4
+ * @type {number}
5
+ */
6
+ h = 0
7
+ /**
8
+ *
9
+ * @type {number}
10
+ */
11
+ v = 0
12
+
13
+ /**
14
+ * @type {number}
15
+ */
16
+ pred = 0
17
+
18
+ /**
19
+ * @type {Int32Array[][]}
20
+ */
21
+ blocks
22
+
23
+ blocksPerLine = 0
24
+ blocksPerColumn = 0
25
+
26
+ /**
27
+ *
28
+ * @type {number}
29
+ */
30
+ quantizationIdx = 0
31
+
32
+ /**
33
+ * @type {Int32Array}
34
+ */
35
+ quantizationTable;
36
+
37
+ /**
38
+ * @see buildHuffmanTable
39
+ * @type {[]}
40
+ */
41
+ huffmanTableDC
42
+
43
+ /**
44
+ * @see buildHuffmanTable
45
+ * @type {[]}
46
+ */
47
+ huffmanTableAC
48
+ }
@@ -0,0 +1,60 @@
1
+ export class JpegImage {
2
+ /**
3
+ *
4
+ * @param {Uint8Array} data
5
+ */
6
+ parse(data: Uint8Array): void;
7
+ /**
8
+ *
9
+ * @type {string[]}
10
+ */
11
+ comments: string[];
12
+ exifBuffer: Uint8Array;
13
+ width: number;
14
+ height: number;
15
+ jfif: {
16
+ version: {
17
+ major: number;
18
+ minor: number;
19
+ };
20
+ densityUnits: number;
21
+ xDensity: number;
22
+ yDensity: number;
23
+ thumbWidth: number;
24
+ thumbHeight: number;
25
+ thumbData: Uint8Array;
26
+ };
27
+ adobe: {
28
+ version: number;
29
+ flags0: number;
30
+ flags1: number;
31
+ transformCode: number;
32
+ };
33
+ /**
34
+ *
35
+ * @type {{lines:Uint8Array[], scaleX:number, scaleY:number}[]}
36
+ */
37
+ components: {
38
+ lines: Uint8Array[];
39
+ scaleX: number;
40
+ scaleY: number;
41
+ }[];
42
+ /**
43
+ *
44
+ * @param {number} width
45
+ * @param {number} height
46
+ * @return {Uint8Array}
47
+ */
48
+ getData(width: number, height: number): Uint8Array;
49
+ /**
50
+ *
51
+ * @param {{data:Uint8Array, width:number, height:number}} imageData
52
+ * @param {boolean} [formatAsRGBA]
53
+ */
54
+ copyToImageData(imageData: {
55
+ data: Uint8Array;
56
+ width: number;
57
+ height: number;
58
+ }, formatAsRGBA?: boolean): void;
59
+ }
60
+ //# sourceMappingURL=JpegImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JpegImage.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/asset/loaders/image/jpeg/JpegImage.js"],"names":[],"mappings":"AA0CA;IAEI;;;OAGG;IACH,YAFW,UAAU,QA8WpB;IAxRG;;;OAGG;IACH,UAFU,MAAM,EAAE,CAEA;IA0DE,uBAAqD;IAuMzE,cAAiC;IACjC,eAA6B;IAC7B;;;;;;;;;;;MAAgB;IAChB;;;;;MAAkB;IAElB;;;OAGG;IACH,YAFU;QAAC,KAAK,EAAC,UAAU,EAAE,CAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAC,MAAM,EAAC,MAAM,CAAA;KAAC,EAAE,CAE1C;IAYxB;;;;;OAKG;IACH,eAJW,MAAM,UACN,MAAM,GACL,UAAU,CAuIrB;IAED;;;;OAIG;IACH;cAHiB,UAAU;eAAQ,MAAM;gBAAS,MAAM;sBAC7C,OAAO,QA+DjB;CACJ"}