@woosh/meep-engine 2.123.5 → 2.123.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.
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Fully featured ECS game engine written in JavaScript",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.123.5",
8
+ "version": "2.123.6",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -38,11 +38,12 @@ export class UUID {
38
38
  get data(): Uint8Array;
39
39
  /**
40
40
  * Generate Variant 1 UUID
41
- *
41
+ * @returns {void}
42
42
  */
43
43
  v1(): void;
44
44
  /**
45
45
  * Generate Variant 4 UUID (fully random)
46
+ * @returns {void}
46
47
  */
47
48
  v4(): void;
48
49
  /***
@@ -1 +1 @@
1
- {"version":3,"file":"UUID.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/guid/UUID.js"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH;IAiHI;;;OAGG;IACH,aAFY,IAAI,CAQf;IAED;;;OAGG;IACH,aAFa,IAAI,CAQhB;IAED;;;;OAIG;IACH,iBAFY,MAAM,CAIjB;IAyCD;;;;OAIG;IACH,qBAHW,MAAM,GACL,IAAI,CAQf;IAjMD;;;OAGG;IACH,gBAFW,MAAM,EAAE,GAAC,UAAU,GAAC,SAAS,CAAC,MAAM,CAAC,EAO/C;IAED;;;OAGG;IACH,YAFa,UAAU,CAItB;IAED;;;OAGG;IACH,WAsEC;IAED;;OAEG;IACH,WAUC;IAmCD;;;OAGG;IACH,cAFW,MAAM,QAmChB;IAeD;;;;;;OAMG;IACH,YAFa,MAAM,CA2BlB;IAED;;;OAGG;IACH,YAFW,IAAI,QAId;IAED;;;;OAIG;IACH,cAHW,IAAI,GACF,OAAO,CAcnB;IAED;;;OAGG;IACH,QAFa,MAAM,CAYlB;IAIL;;OAEG;IACH,uBA7EiB,MAAM,CA6EF;IAErB;;OAEG;IACH,4BAzIe,MAAM,UAyIE;IAQvB;;;OAGG;IACH,iBAFU,OAAO,CAEI;;CAtBpB;;kBAcS,MAAM"}
1
+ {"version":3,"file":"UUID.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/guid/UUID.js"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH;IAkGI;;;OAGG;IACH,aAFY,IAAI,CAQf;IA2BD;;;OAGG;IACH,aAFa,IAAI,CAQhB;IAED;;;;OAIG;IACH,iBAFY,MAAM,CAIjB;IA6CD;;;;OAIG;IACH,qBAHW,MAAM,GACL,IAAI,CAQf;IA/MD;;;OAGG;IACH,gBAFW,MAAM,EAAE,GAAC,UAAU,GAAC,SAAS,CAAC,MAAM,CAAC,EAO/C;IAED;;;OAGG;IACH,YAFa,UAAU,CAItB;IAED;;;OAGG;IACH,MAFa,IAAI,CAwEhB;IAcD;;;OAGG;IACH,MAFa,IAAI,CAqBhB;IAuBD;;;OAGG;IACH,cAFW,MAAM,QAuChB;IAeD;;;;;;OAMG;IACH,YAFa,MAAM,CA2BlB;IAED;;;OAGG;IACH,YAFW,IAAI,QAId;IAED;;;;OAIG;IACH,cAHW,IAAI,GACF,OAAO,CAcnB;IAED;;;OAGG;IACH,QAFa,MAAM,CAYlB;IAIL;;OAEG;IACH,uBA7EiB,MAAM,CA6EF;IAErB;;OAEG;IACH,4BA7Ie,MAAM,UA6IE;IAQvB;;;OAGG;IACH,iBAFU,OAAO,CAEI;;CAtBpB;;kBAcS,MAAM"}
@@ -52,7 +52,7 @@ export class UUID {
52
52
 
53
53
  /**
54
54
  * Generate Variant 1 UUID
55
- *
55
+ * @returns {void}
56
56
  */
57
57
  v1() {
58
58
  // @see https://github.com/uuidjs/uuid/blob/8f028c4ea42ce41a9a9dc5fa634abe525b2e2066/src/v1.js#L17
@@ -126,31 +126,41 @@ export class UUID {
126
126
  }
127
127
  }
128
128
 
129
+ /**
130
+ *
131
+ * @return {UUID}
132
+ */
133
+ static v1() {
134
+ const uuid = new UUID();
135
+
136
+ uuid.v1();
137
+
138
+ return uuid;
139
+ }
140
+
129
141
  /**
130
142
  * Generate Variant 4 UUID (fully random)
143
+ * @returns {void}
131
144
  */
132
145
  v4() {
133
146
 
134
147
  const data = this.data;
135
148
 
136
- randomBytes(data, 0, random, 16);
149
+ for (let i = 0; i < 16; i+=4) {
137
150
 
138
- // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
139
- data[6] = (data[6] & 0x0f) | 0x40;
140
- data[8] = (data[8] & 0x3f) | 0x80;
151
+ const r = ( random() * 4294967296 ) >>> 0;
141
152
 
142
- }
153
+ data[i] = r & 0xff;
154
+ data[i + 1] = (r >>> 8) & 0xff;
155
+ data[i + 2] = (r >>> 16) & 0xff;
156
+ data[i + 3] = (r >>> 24) & 0xff;
143
157
 
144
- /**
145
- *
146
- * @return {UUID}
147
- */
148
- static v1() {
149
- const uuid = new UUID();
158
+ }
150
159
 
151
- uuid.v1();
160
+ // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
161
+ data[6] = (data[6] & 0x0f) | 0x40;
162
+ data[8] = (data[8] & 0x3f) | 0x80;
152
163
 
153
- return uuid;
154
164
  }
155
165
 
156
166
  /**
@@ -182,35 +192,39 @@ export class UUID {
182
192
  assert.isString(string, 'string');
183
193
  assert.greaterThanOrEqual(string.length, 36, 'string.length');
184
194
 
185
- let v;
186
195
  const arr = this.#data;
187
196
 
188
197
  // Parse ########-....-....-....-............
189
- arr[0] = (v = hex2dec(string.slice(0, 8))) >>> 24;
190
- arr[1] = (v >>> 16) & 0xff;
191
- arr[2] = (v >>> 8) & 0xff;
192
- arr[3] = v & 0xff;
198
+ const v0 = hex2dec(string.slice(0, 8));
199
+ arr[0] = (v0) >>> 24;
200
+ arr[1] = (v0 >>> 16) & 0xff;
201
+ arr[2] = (v0 >>> 8) & 0xff;
202
+ arr[3] = v0 & 0xff;
193
203
 
194
204
  // Parse ........-####-....-....-............
195
- arr[4] = (v = hex2dec(string.slice(9, 13))) >>> 8;
196
- arr[5] = v & 0xff;
205
+ const v1 = hex2dec(string.slice(9, 13));
206
+ arr[4] = (v1) >>> 8;
207
+ arr[5] = v1 & 0xff;
197
208
 
198
209
  // Parse ........-....-####-....-............
199
- arr[6] = (v = hex2dec(string.slice(14, 18))) >>> 8;
200
- arr[7] = v & 0xff;
210
+ const v2 = hex2dec(string.slice(14, 18));
211
+ arr[6] = (v2) >>> 8;
212
+ arr[7] = v2 & 0xff;
201
213
 
202
214
  // Parse ........-....-....-####-............
203
- arr[8] = (v = hex2dec(string.slice(19, 23))) >>> 8;
204
- arr[9] = v & 0xff;
215
+ const v3 = hex2dec(string.slice(19, 23));
216
+ arr[8] = (v3) >>> 8;
217
+ arr[9] = v3 & 0xff;
205
218
 
206
219
  // Parse ........-....-....-....-############
207
220
  // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes)
208
- arr[10] = ((v = hex2dec(string.slice(24, 36))) / 0x10000000000) & 0xff;
209
- arr[11] = (v / 0x100000000) & 0xff;
210
- arr[12] = (v >>> 24) & 0xff;
211
- arr[13] = (v >>> 16) & 0xff;
212
- arr[14] = (v >>> 8) & 0xff;
213
- arr[15] = v & 0xff;
221
+ const v4 = hex2dec(string.slice(24, 36));
222
+ arr[10] = (v4 / 0x10000000000) & 0xff;
223
+ arr[11] = (v4 / 0x100000000) & 0xff;
224
+ arr[12] = (v4 >>> 24) & 0xff;
225
+ arr[13] = (v4 >>> 16) & 0xff;
226
+ arr[14] = (v4 >>> 8) & 0xff;
227
+ arr[15] = v4 & 0xff;
214
228
  }
215
229
 
216
230
  /**