@blakron/core 0.6.0 → 0.6.3

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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -30
  3. package/dist/blakron/display/DisplayObject.d.ts +6 -10
  4. package/dist/blakron/display/DisplayObject.d.ts.map +1 -1
  5. package/dist/blakron/display/DisplayObject.js +6 -44
  6. package/dist/blakron/display/DisplayObject.js.map +1 -1
  7. package/dist/blakron/display/DisplayObjectContainer.d.ts +3 -2
  8. package/dist/blakron/display/DisplayObjectContainer.d.ts.map +1 -1
  9. package/dist/blakron/display/DisplayObjectContainer.js +3 -18
  10. package/dist/blakron/display/DisplayObjectContainer.js.map +1 -1
  11. package/dist/blakron/display/texture/BitmapData.d.ts.map +1 -1
  12. package/dist/blakron/display/texture/BitmapData.js +9 -22
  13. package/dist/blakron/display/texture/BitmapData.js.map +1 -1
  14. package/dist/blakron/events/Event.d.ts.map +1 -1
  15. package/dist/blakron/events/Event.js +1 -0
  16. package/dist/blakron/events/Event.js.map +1 -1
  17. package/dist/blakron/events/EventDispatcher.d.ts.map +1 -1
  18. package/dist/blakron/events/EventDispatcher.js +13 -12
  19. package/dist/blakron/events/EventDispatcher.js.map +1 -1
  20. package/dist/blakron/media/Sound.d.ts +1 -0
  21. package/dist/blakron/media/Sound.d.ts.map +1 -1
  22. package/dist/blakron/media/Sound.js +23 -5
  23. package/dist/blakron/media/Sound.js.map +1 -1
  24. package/dist/blakron/net/HttpMethod.d.ts +6 -0
  25. package/dist/blakron/net/HttpMethod.d.ts.map +1 -1
  26. package/dist/blakron/net/HttpMethod.js +5 -0
  27. package/dist/blakron/net/HttpMethod.js.map +1 -1
  28. package/dist/blakron/net/HttpRequest.d.ts +40 -0
  29. package/dist/blakron/net/HttpRequest.d.ts.map +1 -1
  30. package/dist/blakron/net/HttpRequest.js +60 -2
  31. package/dist/blakron/net/HttpRequest.js.map +1 -1
  32. package/dist/blakron/net/HttpResponseType.d.ts +6 -0
  33. package/dist/blakron/net/HttpResponseType.d.ts.map +1 -1
  34. package/dist/blakron/net/HttpResponseType.js +5 -0
  35. package/dist/blakron/net/HttpResponseType.js.map +1 -1
  36. package/dist/blakron/net/ImageLoader.d.ts +18 -0
  37. package/dist/blakron/net/ImageLoader.d.ts.map +1 -1
  38. package/dist/blakron/net/ImageLoader.js +26 -4
  39. package/dist/blakron/net/ImageLoader.js.map +1 -1
  40. package/dist/blakron/player/Player.d.ts.map +1 -1
  41. package/dist/blakron/player/Player.js +18 -6
  42. package/dist/blakron/player/Player.js.map +1 -1
  43. package/dist/blakron/player/webgl/WebGLRenderContext.d.ts +2 -5
  44. package/dist/blakron/player/webgl/WebGLRenderContext.d.ts.map +1 -1
  45. package/dist/blakron/player/webgl/WebGLRenderContext.js +3 -11
  46. package/dist/blakron/player/webgl/WebGLRenderContext.js.map +1 -1
  47. package/dist/blakron/player/webgl/WebGLRenderer.d.ts +106 -3
  48. package/dist/blakron/player/webgl/WebGLRenderer.d.ts.map +1 -1
  49. package/dist/blakron/player/webgl/WebGLRenderer.js +128 -25
  50. package/dist/blakron/player/webgl/WebGLRenderer.js.map +1 -1
  51. package/dist/blakron/player/webgl/pipes/TextPipe.d.ts +2 -0
  52. package/dist/blakron/player/webgl/pipes/TextPipe.d.ts.map +1 -1
  53. package/dist/blakron/player/webgl/pipes/TextPipe.js +37 -0
  54. package/dist/blakron/player/webgl/pipes/TextPipe.js.map +1 -1
  55. package/dist/blakron/resource/Resource.d.ts +16 -4
  56. package/dist/blakron/resource/Resource.d.ts.map +1 -1
  57. package/dist/blakron/resource/Resource.js +30 -20
  58. package/dist/blakron/resource/Resource.js.map +1 -1
  59. package/dist/blakron/resource/ResourceLoader.d.ts +20 -0
  60. package/dist/blakron/resource/ResourceLoader.d.ts.map +1 -1
  61. package/dist/blakron/resource/ResourceLoader.js +44 -16
  62. package/dist/blakron/resource/ResourceLoader.js.map +1 -1
  63. package/dist/blakron/utils/ByteArray.d.ts +0 -1
  64. package/dist/blakron/utils/ByteArray.d.ts.map +1 -1
  65. package/dist/blakron/utils/ByteArray.js +2 -5
  66. package/dist/blakron/utils/ByteArray.js.map +1 -1
  67. package/package.json +4 -6
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../src/blakron/events/Event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../src/blakron/events/Event.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventDispatcher.d.ts","sourceRoot":"","sources":["../../../src/blakron/events/EventDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAY9D,qBAAa,eAAgB,SAAQ,UAAW,YAAW,gBAAgB;IAG1E,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,YAAY,CAAK;gBAIN,MAAM,CAAC,EAAE,gBAAgB;IASrC,gBAAgB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,UAAU,CAAC,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI;IAIA,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAInG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI;IAY/F,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAKpC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO;IAWxG,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAUnB,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;CAoBtE"}
1
+ {"version":3,"file":"EventDispatcher.d.ts","sourceRoot":"","sources":["../../../src/blakron/events/EventDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAU9D,qBAAa,eAAgB,SAAQ,UAAW,YAAW,gBAAgB;IAG1E,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,YAAY,CAAK;gBAIN,MAAM,CAAC,EAAE,gBAAgB;IASrC,gBAAgB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,UAAU,CAAC,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI;IAIA,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAInG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI;IAY/F,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAKpC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO;IAWxG,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAUnB,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;CAsBtE"}
@@ -1,6 +1,5 @@
1
1
  import { HashObject } from '../utils/HashObject.js';
2
2
  import { Event } from './Event.js';
3
- const ONCE_LIST = [];
4
3
  export class EventDispatcher extends HashObject {
5
4
  // ── Instance fields ───────────────────────────────────────────────────────
6
5
  _target;
@@ -104,18 +103,20 @@ export class EventDispatcher extends HashObject {
104
103
  if (!list || list.length === 0)
105
104
  return true;
106
105
  this._notifyLevel++;
107
- for (let i = 0; i < list.length; i++) {
108
- const entry = list[i];
109
- entry.listener.call(this, event);
110
- if (entry.once)
111
- ONCE_LIST.push(entry);
112
- if (event.isPropagationImmediateStopped)
113
- break;
106
+ try {
107
+ for (let i = 0; i < list.length; i++) {
108
+ const entry = list[i];
109
+ // Remove once-listeners before invoking them. The active dispatch keeps
110
+ // its snapshot, while any nested dispatch observes the updated map.
111
+ if (entry.once)
112
+ this.removeEventListener(entry.type, entry.listener, entry.useCapture);
113
+ entry.listener.call(this, event);
114
+ if (event.isPropagationImmediateStopped)
115
+ break;
116
+ }
114
117
  }
115
- this._notifyLevel--;
116
- while (ONCE_LIST.length) {
117
- const entry = ONCE_LIST.pop();
118
- this.removeEventListener(entry.type, entry.listener, entry.useCapture);
118
+ finally {
119
+ this._notifyLevel--;
119
120
  }
120
121
  return !event.isDefaultPrevented();
121
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventDispatcher.js","sourceRoot":"","sources":["../../../src/blakron/events/EventDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventDispatcher.js","sourceRoot":"","sources":["../../../src/blakron/events/EventDispatcher.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare class Sound extends EventDispatcher {
16
16
  private _audio?;
17
17
  private _url;
18
18
  private _loaded;
19
+ private _generation;
19
20
  get length(): number;
20
21
  load(url: string): void;
21
22
  play(startTime?: number, loops?: number): SoundChannel;
@@ -1 +1 @@
1
- {"version":3,"file":"Sound.d.ts","sourceRoot":"","sources":["../../../src/blakron/media/Sound.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAyDnE;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,eAAe;IAGlC,IAAI,EAAE,SAAS,CAAoB;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,MAAM,CAAC,CAAmB;IAClC,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,OAAO,CAAS;IAIxB,IAAW,MAAM,IAAI,MAAM,CAI1B;IAIM,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAYvB,IAAI,CAAC,SAAS,SAAI,EAAE,KAAK,SAAI,GAAG,YAAY;IAc5C,KAAK,IAAI,IAAI;IAWpB,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,aAAa;CAwBrB"}
1
+ {"version":3,"file":"Sound.d.ts","sourceRoot":"","sources":["../../../src/blakron/media/Sound.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAyDnE;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,eAAe;IAGlC,IAAI,EAAE,SAAS,CAAoB;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,MAAM,CAAC,CAAmB;IAClC,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,OAAO,CAAS;IAIxB,OAAO,CAAC,WAAW,CAAK;IAIxB,IAAW,MAAM,IAAI,MAAM,CAI1B;IAIM,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAavB,IAAI,CAAC,SAAS,SAAI,EAAE,KAAK,SAAI,GAAG,YAAY;IAc5C,KAAK,IAAI,IAAI;IAYpB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,aAAa;CA0BrB"}
@@ -59,6 +59,10 @@ export class Sound extends EventDispatcher {
59
59
  _audio;
60
60
  _url = '';
61
61
  _loaded = false;
62
+ // Bumped on every load()/close() call. Async callbacks (xhr.onload, decodeAudioData,
63
+ // canplaythrough) capture the generation at start time and no-op if it's stale by the
64
+ // time they fire, so a cancelled load can't resurrect state after close().
65
+ _generation = 0;
62
66
  // ── Getters ───────────────────────────────────────────────────────────────
63
67
  get length() {
64
68
  if (this._audioBuffer)
@@ -71,12 +75,13 @@ export class Sound extends EventDispatcher {
71
75
  load(url) {
72
76
  this._url = url;
73
77
  this._loaded = false;
78
+ const generation = ++this._generation;
74
79
  const ctx = getAudioContext();
75
80
  if (ctx) {
76
- this.loadWebAudio(ctx, url);
81
+ this.loadWebAudio(ctx, url, generation);
77
82
  }
78
83
  else {
79
- this.loadHtmlAudio(url);
84
+ this.loadHtmlAudio(url, generation);
80
85
  }
81
86
  }
82
87
  play(startTime = 0, loops = 0) {
@@ -93,6 +98,7 @@ export class Sound extends EventDispatcher {
93
98
  return new SoundChannel(undefined, undefined, audio, startTime, loops);
94
99
  }
95
100
  close() {
101
+ this._generation++; // invalidate any in-flight load's async callbacks
96
102
  this._audioBuffer = undefined;
97
103
  if (this._audio) {
98
104
  this._audio.src = '';
@@ -101,11 +107,13 @@ export class Sound extends EventDispatcher {
101
107
  this._loaded = false;
102
108
  }
103
109
  // ── Private methods ───────────────────────────────────────────────────────
104
- loadWebAudio(ctx, url) {
110
+ loadWebAudio(ctx, url, generation) {
105
111
  const xhr = new XMLHttpRequest();
106
112
  xhr.open('GET', url, true);
107
113
  xhr.responseType = 'arraybuffer';
108
114
  xhr.onload = () => {
115
+ if (generation !== this._generation)
116
+ return;
109
117
  if (xhr.status >= 400) {
110
118
  IOErrorEvent.dispatchIOErrorEvent(this);
111
119
  return;
@@ -113,29 +121,39 @@ export class Sound extends EventDispatcher {
113
121
  enqueueDecodeTask({
114
122
  buffer: xhr.response,
115
123
  onSuccess: buffer => {
124
+ if (generation !== this._generation)
125
+ return;
116
126
  this._audioBuffer = buffer;
117
127
  this._loaded = true;
118
128
  this.dispatchEventWith(Event.COMPLETE);
119
129
  },
120
130
  onError: () => {
131
+ if (generation !== this._generation)
132
+ return;
121
133
  // Decode failed — fall back to HTMLAudioElement
122
- this.loadHtmlAudio(url);
134
+ this.loadHtmlAudio(url, generation);
123
135
  },
124
136
  });
125
137
  };
126
138
  xhr.onerror = () => {
139
+ if (generation !== this._generation)
140
+ return;
127
141
  IOErrorEvent.dispatchIOErrorEvent(this);
128
142
  };
129
143
  xhr.send();
130
144
  }
131
- loadHtmlAudio(url) {
145
+ loadHtmlAudio(url, generation) {
132
146
  const audio = new Audio();
133
147
  this._audio = audio;
134
148
  audio.addEventListener('canplaythrough', () => {
149
+ if (generation !== this._generation)
150
+ return;
135
151
  this._loaded = true;
136
152
  this.dispatchEventWith(Event.COMPLETE);
137
153
  }, { once: true });
138
154
  audio.addEventListener('error', () => {
155
+ if (generation !== this._generation)
156
+ return;
139
157
  IOErrorEvent.dispatchIOErrorEvent(this);
140
158
  }, { once: true });
141
159
  audio.src = url;
@@ -1 +1 @@
1
- {"version":3,"file":"Sound.js","sourceRoot":"","sources":["../../../src/blakron/media/Sound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sound.js","sourceRoot":"","sources":["../../../src/blakron/media/Sound.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
+ /**
2
+ * HTTP methods supported by HttpRequest.
3
+ *
4
+ * Values intentionally use the uppercase tokens expected by XMLHttpRequest.
5
+ */
1
6
  export declare const HttpMethod: {
2
7
  readonly GET: "GET";
3
8
  readonly POST: "POST";
4
9
  };
10
+ /** Union of the HTTP method values supported by HttpRequest. */
5
11
  export type HttpMethod = (typeof HttpMethod)[keyof typeof HttpMethod];
6
12
  //# sourceMappingURL=HttpMethod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpMethod.d.ts","sourceRoot":"","sources":["../../../src/blakron/net/HttpMethod.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"HttpMethod.d.ts","sourceRoot":"","sources":["../../../src/blakron/net/HttpMethod.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * HTTP methods supported by HttpRequest.
3
+ *
4
+ * Values intentionally use the uppercase tokens expected by XMLHttpRequest.
5
+ */
1
6
  export const HttpMethod = {
2
7
  GET: 'GET',
3
8
  POST: 'POST',
@@ -1 +1 @@
1
- {"version":3,"file":"HttpMethod.js","sourceRoot":"","sources":["../../../src/blakron/net/HttpMethod.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACH,CAAC"}
1
+ {"version":3,"file":"HttpMethod.js","sourceRoot":"","sources":["../../../src/blakron/net/HttpMethod.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACH,CAAC"}
@@ -1,19 +1,59 @@
1
1
  import { EventDispatcher } from '../events/EventDispatcher.js';
2
2
  import { HttpMethod } from './HttpMethod.js';
3
3
  import { HttpResponseType } from './HttpResponseType.js';
4
+ /**
5
+ * Event-driven XMLHttpRequest wrapper.
6
+ *
7
+ * Use the lifecycle `open()` → `setRequestHeader()` → `send()`. One instance
8
+ * may be reused by calling `open()` for each new request; doing so aborts the
9
+ * previous request and clears headers queued for it.
10
+ */
4
11
  export declare class HttpRequest extends EventDispatcher {
12
+ /** Response body representation requested from XMLHttpRequest. */
5
13
  responseType: HttpResponseType;
14
+ /** Whether cross-origin requests include credentials. */
6
15
  withCredentials: boolean;
16
+ /** Request timeout in milliseconds; 0 disables the browser timeout. */
7
17
  timeout: number;
8
18
  private _xhr?;
9
19
  private _url;
10
20
  private _method;
21
+ private _pendingHeaders;
22
+ /** Response body from the active or most recently completed request. */
11
23
  get response(): string | ArrayBuffer | undefined;
24
+ /**
25
+ * HTTP status code from the active or most recently completed request.
26
+ * Returns 0 before completion, after abort(), or when the browser blocks the
27
+ * request before a response is available (for example, a failed CORS check).
28
+ */
29
+ get status(): number;
30
+ /**
31
+ * Prepare a request URL and method.
32
+ *
33
+ * Aborts an active request and discards headers queued for the prior request.
34
+ */
12
35
  open(url: string, method?: HttpMethod): void;
36
+ /**
37
+ * Create and send the underlying XMLHttpRequest.
38
+ *
39
+ * Queued headers are applied after the native request is opened and before
40
+ * its body is sent. Successful responses dispatch HTTP_STATUS followed by
41
+ * COMPLETE; network errors, timeouts, status 0, and status >= 400 dispatch
42
+ * IOErrorEvent.IO_ERROR.
43
+ */
13
44
  send(data?: string | ArrayBuffer | FormData): void;
45
+ /** Abort the active native request and clear its response/status accessors. */
14
46
  abort(): void;
47
+ /** Return all response headers, or an empty string when no response is available. */
15
48
  getAllResponseHeaders(): string;
49
+ /**
50
+ * Queue a request header to be sent with the next `send()` call.
51
+ *
52
+ * Must be called after `open()` and before `send()` because the underlying
53
+ * XMLHttpRequest is created lazily by `send()`.
54
+ */
16
55
  setRequestHeader(header: string, value: string): void;
56
+ /** Return a named response header, or an empty string when it is unavailable. */
17
57
  getResponseHeader(header: string): string;
18
58
  }
19
59
  //# sourceMappingURL=HttpRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../../src/blakron/net/HttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,WAAY,SAAQ,eAAe;IAGxC,YAAY,EAAE,gBAAgB,CAAyB;IACvD,eAAe,UAAS;IACxB,OAAO,SAAK;IAEnB,OAAO,CAAC,IAAI,CAAC,CAAiB;IAC9B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,OAAO,CAA8B;IAI7C,IAAW,QAAQ,IAAI,MAAM,GAAG,WAAW,GAAG,SAAS,CAEtD;IAIM,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,UAA2B,GAAG,IAAI;IAM5D,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,IAAI;IAyBlD,KAAK,IAAI,IAAI;IAOb,qBAAqB,IAAI,MAAM;IAI/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGhD"}
1
+ {"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../../src/blakron/net/HttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAK/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAG/C,kEAAkE;IAC3D,YAAY,EAAE,gBAAgB,CAAyB;IAC9D,yDAAyD;IAClD,eAAe,UAAS;IAC/B,uEAAuE;IAChE,OAAO,SAAK;IAEnB,OAAO,CAAC,IAAI,CAAC,CAAiB;IAC9B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,eAAe,CAA8C;IAIrE,wEAAwE;IACxE,IAAW,QAAQ,IAAI,MAAM,GAAG,WAAW,GAAG,SAAS,CAEtD;IAED;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAID;;;;OAIG;IACI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,UAA2B,GAAG,IAAI;IAOnE;;;;;;;OAOG;IACI,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,IAAI;IAsCzD,+EAA+E;IACxE,KAAK,IAAI,IAAI;IAOpB,qFAAqF;IAC9E,qBAAqB,IAAI,MAAM;IAItC;;;;;OAKG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5D,iFAAiF;IAC1E,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGhD"}
@@ -1,27 +1,62 @@
1
1
  import { EventDispatcher } from '../events/EventDispatcher.js';
2
2
  import { Event } from '../events/Event.js';
3
+ import { HTTPStatusEvent } from '../events/HTTPStatusEvent.js';
3
4
  import { IOErrorEvent } from '../events/IOErrorEvent.js';
4
5
  import { ProgressEvent } from '../events/ProgressEvent.js';
5
6
  import { HttpMethod } from './HttpMethod.js';
6
7
  import { HttpResponseType } from './HttpResponseType.js';
8
+ /**
9
+ * Event-driven XMLHttpRequest wrapper.
10
+ *
11
+ * Use the lifecycle `open()` → `setRequestHeader()` → `send()`. One instance
12
+ * may be reused by calling `open()` for each new request; doing so aborts the
13
+ * previous request and clears headers queued for it.
14
+ */
7
15
  export class HttpRequest extends EventDispatcher {
8
16
  // ── Instance fields ───────────────────────────────────────────────────────
17
+ /** Response body representation requested from XMLHttpRequest. */
9
18
  responseType = HttpResponseType.TEXT;
19
+ /** Whether cross-origin requests include credentials. */
10
20
  withCredentials = false;
21
+ /** Request timeout in milliseconds; 0 disables the browser timeout. */
11
22
  timeout = 0;
12
23
  _xhr;
13
24
  _url = '';
14
25
  _method = HttpMethod.GET;
26
+ _pendingHeaders = [];
15
27
  // ── Getters ───────────────────────────────────────────────────────────────
28
+ /** Response body from the active or most recently completed request. */
16
29
  get response() {
17
30
  return this._xhr?.response;
18
31
  }
32
+ /**
33
+ * HTTP status code from the active or most recently completed request.
34
+ * Returns 0 before completion, after abort(), or when the browser blocks the
35
+ * request before a response is available (for example, a failed CORS check).
36
+ */
37
+ get status() {
38
+ return this._xhr?.status ?? 0;
39
+ }
19
40
  // ── Public methods ────────────────────────────────────────────────────────
41
+ /**
42
+ * Prepare a request URL and method.
43
+ *
44
+ * Aborts an active request and discards headers queued for the prior request.
45
+ */
20
46
  open(url, method = HttpMethod.GET) {
21
47
  this.abort();
22
48
  this._url = url;
23
49
  this._method = method;
50
+ this._pendingHeaders = [];
24
51
  }
52
+ /**
53
+ * Create and send the underlying XMLHttpRequest.
54
+ *
55
+ * Queued headers are applied after the native request is opened and before
56
+ * its body is sent. Successful responses dispatch HTTP_STATUS followed by
57
+ * COMPLETE; network errors, timeouts, status 0, and status >= 400 dispatch
58
+ * IOErrorEvent.IO_ERROR.
59
+ */
25
60
  send(data) {
26
61
  const xhr = new XMLHttpRequest();
27
62
  this._xhr = xhr;
@@ -30,7 +65,18 @@ export class HttpRequest extends EventDispatcher {
30
65
  if (this.timeout > 0)
31
66
  xhr.timeout = this.timeout;
32
67
  xhr.onload = () => {
33
- this.dispatchEventWith(Event.COMPLETE);
68
+ // `load` only means the request completed — the server may still have
69
+ // responded with an error status (404, 500, ...), or the browser may
70
+ // have blocked the response before it reached the server (status 0,
71
+ // e.g. a failed CORS preflight). Treat both as failures, matching
72
+ // how fetch()-based code typically checks `response.ok`.
73
+ HTTPStatusEvent.dispatchHTTPStatusEvent(this, xhr.status);
74
+ if (xhr.status === 0 || xhr.status >= 400) {
75
+ IOErrorEvent.dispatchIOErrorEvent(this);
76
+ }
77
+ else {
78
+ this.dispatchEventWith(Event.COMPLETE);
79
+ }
34
80
  };
35
81
  xhr.onerror = () => {
36
82
  IOErrorEvent.dispatchIOErrorEvent(this);
@@ -42,20 +88,32 @@ export class HttpRequest extends EventDispatcher {
42
88
  ProgressEvent.dispatchProgressEvent(this, ProgressEvent.PROGRESS, e.loaded, e.total);
43
89
  };
44
90
  xhr.open(this._method, this._url, true);
91
+ for (const header of this._pendingHeaders) {
92
+ xhr.setRequestHeader(header.name, header.value);
93
+ }
45
94
  xhr.send(data);
46
95
  }
96
+ /** Abort the active native request and clear its response/status accessors. */
47
97
  abort() {
48
98
  if (this._xhr) {
49
99
  this._xhr.abort();
50
100
  this._xhr = undefined;
51
101
  }
52
102
  }
103
+ /** Return all response headers, or an empty string when no response is available. */
53
104
  getAllResponseHeaders() {
54
105
  return this._xhr?.getAllResponseHeaders() ?? '';
55
106
  }
107
+ /**
108
+ * Queue a request header to be sent with the next `send()` call.
109
+ *
110
+ * Must be called after `open()` and before `send()` because the underlying
111
+ * XMLHttpRequest is created lazily by `send()`.
112
+ */
56
113
  setRequestHeader(header, value) {
57
- this._xhr?.setRequestHeader(header, value);
114
+ this._pendingHeaders.push({ name: header, value });
58
115
  }
116
+ /** Return a named response header, or an empty string when it is unavailable. */
59
117
  getResponseHeader(header) {
60
118
  return this._xhr?.getResponseHeader(header) ?? '';
61
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRequest.js","sourceRoot":"","sources":["../../../src/blakron/net/HttpRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpRequest.js","sourceRoot":"","sources":["../../../src/blakron/net/HttpRequest.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
+ /**
2
+ * Response body formats supported by HttpRequest.
3
+ *
4
+ * TEXT returns a string response; ARRAY_BUFFER returns the raw binary body.
5
+ */
1
6
  export declare const HttpResponseType: {
2
7
  readonly TEXT: "text";
3
8
  readonly ARRAY_BUFFER: "arraybuffer";
4
9
  };
10
+ /** Union of the response body formats supported by HttpRequest. */
5
11
  export type HttpResponseType = (typeof HttpResponseType)[keyof typeof HttpResponseType];
6
12
  //# sourceMappingURL=HttpResponseType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpResponseType.d.ts","sourceRoot":"","sources":["../../../src/blakron/net/HttpResponseType.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"HttpResponseType.d.ts","sourceRoot":"","sources":["../../../src/blakron/net/HttpResponseType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX,mEAAmE;AACnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Response body formats supported by HttpRequest.
3
+ *
4
+ * TEXT returns a string response; ARRAY_BUFFER returns the raw binary body.
5
+ */
1
6
  export const HttpResponseType = {
2
7
  TEXT: 'text',
3
8
  ARRAY_BUFFER: 'arraybuffer',
@@ -1 +1 @@
1
- {"version":3,"file":"HttpResponseType.js","sourceRoot":"","sources":["../../../src/blakron/net/HttpResponseType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,aAAa;CAClB,CAAC"}
1
+ {"version":3,"file":"HttpResponseType.js","sourceRoot":"","sources":["../../../src/blakron/net/HttpResponseType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,aAAa;CAClB,CAAC"}
@@ -1,10 +1,28 @@
1
1
  import { EventDispatcher } from '../events/EventDispatcher.js';
2
2
  import { BitmapData } from '../display/texture/BitmapData.js';
3
+ /**
4
+ * Event-driven browser image loader.
5
+ *
6
+ * `load()` replaces and cancels a prior image request. `close()` detaches the
7
+ * browser handlers and clears the image source, preventing cancelled requests
8
+ * from updating data or dispatching an event later.
9
+ */
3
10
  export declare class ImageLoader extends EventDispatcher {
11
+ /** Default cross-origin mode applied to newly created loaders. */
4
12
  static crossOrigin?: string;
13
+ /** Bitmap data from the most recently completed image request. */
5
14
  data?: BitmapData;
15
+ /** Cross-origin mode applied to the next image request, when specified. */
6
16
  crossOrigin?: string;
7
17
  private _img?;
18
+ /** Start loading an image URL, cancelling any previous request first. */
8
19
  load(url: string): void;
20
+ /**
21
+ * Cancel an in-flight image request.
22
+ *
23
+ * The most recently loaded `data` value is retained; only the active browser
24
+ * image element and its pending callbacks are released.
25
+ */
26
+ close(): void;
9
27
  }
10
28
  //# sourceMappingURL=ImageLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageLoader.d.ts","sourceRoot":"","sources":["../../../src/blakron/net/ImageLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,qBAAa,WAAY,SAAQ,eAAe;IAG/C,OAAc,WAAW,CAAC,EAAE,MAAM,CAAC;IAI5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAA2B;IAEtD,OAAO,CAAC,IAAI,CAAC,CAAmB;IAIzB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAqB9B"}
1
+ {"version":3,"file":"ImageLoader.d.ts","sourceRoot":"","sources":["../../../src/blakron/net/ImageLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAG/C,kEAAkE;IAClE,OAAc,WAAW,CAAC,EAAE,MAAM,CAAC;IAInC,kEAAkE;IAC3D,IAAI,CAAC,EAAE,UAAU,CAAC;IACzB,2EAA2E;IACpE,WAAW,CAAC,EAAE,MAAM,CAA2B;IAEtD,OAAO,CAAC,IAAI,CAAC,CAAmB;IAIhC,yEAAyE;IAClE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAmB9B;;;;;OAKG;IACI,KAAK,IAAI,IAAI;CAQpB"}
@@ -2,19 +2,27 @@ import { EventDispatcher } from '../events/EventDispatcher.js';
2
2
  import { Event } from '../events/Event.js';
3
3
  import { IOErrorEvent } from '../events/IOErrorEvent.js';
4
4
  import { BitmapData } from '../display/texture/BitmapData.js';
5
+ /**
6
+ * Event-driven browser image loader.
7
+ *
8
+ * `load()` replaces and cancels a prior image request. `close()` detaches the
9
+ * browser handlers and clears the image source, preventing cancelled requests
10
+ * from updating data or dispatching an event later.
11
+ */
5
12
  export class ImageLoader extends EventDispatcher {
6
13
  // ── Static fields ─────────────────────────────────────────────────────────
14
+ /** Default cross-origin mode applied to newly created loaders. */
7
15
  static crossOrigin;
8
16
  // ── Instance fields ───────────────────────────────────────────────────────
17
+ /** Bitmap data from the most recently completed image request. */
9
18
  data;
19
+ /** Cross-origin mode applied to the next image request, when specified. */
10
20
  crossOrigin = ImageLoader.crossOrigin;
11
21
  _img;
12
22
  // ── Public methods ────────────────────────────────────────────────────────
23
+ /** Start loading an image URL, cancelling any previous request first. */
13
24
  load(url) {
14
- if (this._img) {
15
- this._img.onload = null;
16
- this._img.onerror = null;
17
- }
25
+ this.close();
18
26
  const img = new Image();
19
27
  this._img = img;
20
28
  if (this.crossOrigin)
@@ -28,5 +36,19 @@ export class ImageLoader extends EventDispatcher {
28
36
  };
29
37
  img.src = url;
30
38
  }
39
+ /**
40
+ * Cancel an in-flight image request.
41
+ *
42
+ * The most recently loaded `data` value is retained; only the active browser
43
+ * image element and its pending callbacks are released.
44
+ */
45
+ close() {
46
+ if (this._img) {
47
+ this._img.onload = null;
48
+ this._img.onerror = null;
49
+ this._img.src = '';
50
+ this._img = undefined;
51
+ }
52
+ }
31
53
  }
32
54
  //# sourceMappingURL=ImageLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageLoader.js","sourceRoot":"","sources":["../../../src/blakron/net/ImageLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC/C,6EAA6E;IAEtE,MAAM,CAAC,WAAW,CAAU;IAEnC,6EAA6E;IAEtE,IAAI,CAAc;IAClB,WAAW,GAAY,WAAW,CAAC,WAAW,CAAC;IAE9C,IAAI,CAAoB;IAEhC,6EAA6E;IAEtE,IAAI,CAAC,GAAW;QACtB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,IAAI,IAAI,CAAC,WAAW;YAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAEzD,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YAClB,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACf,CAAC;CACD"}
1
+ {"version":3,"file":"ImageLoader.js","sourceRoot":"","sources":["../../../src/blakron/net/ImageLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC/C,6EAA6E;IAE7E,kEAAkE;IAC3D,MAAM,CAAC,WAAW,CAAU;IAEnC,6EAA6E;IAE7E,kEAAkE;IAC3D,IAAI,CAAc;IACzB,2EAA2E;IACpE,WAAW,GAAY,WAAW,CAAC,WAAW,CAAC;IAE9C,IAAI,CAAoB;IAEhC,6EAA6E;IAE7E,yEAAyE;IAClE,IAAI,CAAC,GAAW;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,IAAI,IAAI,CAAC,WAAW;YAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAEzD,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YAClB,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,KAAK;QACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACvB,CAAC;IACF,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../../src/blakron/player/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D;;;GAGG;AACH,qBAAa,MAAO,YAAW,UAAU;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAGjD,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAe;IACvC,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAqB;IAC3C,OAAO,CAAC,oBAAoB,CAAyB;IAErD,SAAgB,IAAI;;;;;gBAKN,MAAM;gBACN,MAAM;;;;;;;MAOlB;IAEF,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAqB;gBAGtB,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,KAAK;IA4C3D,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IAWjC,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAMpB,oDAAoD;IAC7C,OAAO,IAAI,IAAI;IAMf,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWpD,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAoClE"}
1
+ {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../../src/blakron/player/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D;;;GAGG;AACH,qBAAa,MAAO,YAAW,UAAU;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAGjD,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAe;IACvC,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAqB;IAC3C,OAAO,CAAC,oBAAoB,CAAyB;IAErD,SAAgB,IAAI;;;;;gBAKN,MAAM;gBACN,MAAM;;;;;;;MAOlB;IAEF,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAqB;gBAGtB,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,KAAK;IA8C3D,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IAWjC,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAMpB,oDAAoD;IAC7C,OAAO,IAAI,IAAI;IAWf,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWpD,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAoClE"}