@lightningjs/blits 0.9.8 → 0.10.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 (44) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/boilerplate/common/public/fonts/Lato-Regular.ttf +0 -0
  3. package/boilerplate/common/public/fonts/Raleway-ExtraBold.ttf +0 -0
  4. package/docs/transitions_animations/transitions.md +3 -3
  5. package/package.json +3 -4
  6. package/src/application.d.ts +10 -10
  7. package/src/component/base/announcer.js +27 -0
  8. package/src/component/base/events.js +37 -0
  9. package/src/component/base/index.js +29 -0
  10. package/src/component/base/log.js +27 -0
  11. package/src/component/base/methods.js +136 -0
  12. package/src/component/base/router.js +40 -0
  13. package/src/component/base/timeouts_intervals.js +92 -0
  14. package/src/component/base/utils.js +29 -0
  15. package/src/{lib → component}/setup/computed.js +3 -3
  16. package/src/component/setup/index.js +61 -0
  17. package/src/{lib → component}/setup/input.js +4 -4
  18. package/src/{lib → component}/setup/methods.js +3 -3
  19. package/src/{lib → component}/setup/props.js +3 -3
  20. package/src/{lib → component}/setup/routes.js +3 -3
  21. package/src/{lib → component}/setup/state.js +13 -6
  22. package/src/{lib → component}/setup/watch.js +5 -5
  23. package/src/component.d.ts +157 -38
  24. package/src/component.js +145 -154
  25. package/src/components/Circle.js +5 -5
  26. package/src/components/FPScounter.js +249 -185
  27. package/src/components/Image.js +2 -2
  28. package/src/components/RouterView.js +1 -1
  29. package/src/components/Sprite.js +5 -5
  30. package/src/components/Sprite.orig.js +2 -2
  31. package/src/components/Text.js +11 -11
  32. package/src/components/index.js +32 -0
  33. package/src/components/index.orig.js +32 -0
  34. package/src/engines/L3/element.js +41 -35
  35. package/src/engines/L3/fontLoader.js +16 -2
  36. package/src/engines/L3/launch.js +1 -1
  37. package/src/lib/codegenerator/generator.js +18 -8
  38. package/vite/msdfGenerator.js +52 -53
  39. package/boilerplate/common/public/fonts/Lato-Regular.msdf.json +0 -5383
  40. package/boilerplate/common/public/fonts/Lato-Regular.msdf.png +0 -0
  41. package/boilerplate/common/public/fonts/Raleway-ExtraBold.msdf.json +0 -10838
  42. package/boilerplate/common/public/fonts/Raleway-ExtraBold.msdf.png +0 -0
  43. package/src/lib/setup/base.js +0 -288
  44. /package/src/{lib → component}/setup/props.test.js +0 -0
@@ -23,7 +23,7 @@ export default () =>
23
23
  Component('FPScounter', {
24
24
  /* eslint-disable no-unused-vars */
25
25
  code: {
26
- render: function anonymous(parent, component, context) {
26
+ render: function anonymous(parent, component, context, components) {
27
27
  const elms = []
28
28
 
29
29
  if (!elms[0]) {
@@ -60,9 +60,7 @@ export default () =>
60
60
  elms[2].populate(elementConfig2)
61
61
  }
62
62
 
63
- const cmp3 =
64
- (context.components && context.components['Sprite']) ||
65
- component[Symbol.for('components')]['Sprite']
63
+ const cmp3 = (context.components && context.components['Sprite']) || components['Sprite']
66
64
 
67
65
  parent = elms[2]
68
66
 
@@ -98,13 +96,19 @@ export default () =>
98
96
  if (!elms[4]) {
99
97
  const componentType = props4['is'] || 'Sprite'
100
98
 
101
- elms[4] = (
102
- (context.components && context.components[componentType]) ||
103
- component[Symbol.for('components')][componentType] ||
104
- (() => {
105
- console.error('component Sprite not found')
106
- })
107
- ).call(null, { props: props4 }, elms[3], component)
99
+ let component4
100
+ if (typeof componentType === 'string') {
101
+ component4 =
102
+ (context.components && context.components[componentType]) || components[componentType]
103
+ if (!component4) {
104
+ throw new Error('Component "Sprite" not found')
105
+ }
106
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
107
+ component4 = componentType
108
+ }
109
+
110
+ elms[4] = component4.call(null, { props: props4 }, elms[3], component)
111
+
108
112
  if (elms[4][Symbol.for('slots')][0]) {
109
113
  parent = elms[4][Symbol.for('slots')][0]
110
114
  component = elms[4]
@@ -127,9 +131,7 @@ export default () =>
127
131
  elms[5].populate(elementConfig5)
128
132
  }
129
133
 
130
- const cmp6 =
131
- (context.components && context.components['Sprite']) ||
132
- component[Symbol.for('components')]['Sprite']
134
+ const cmp6 = (context.components && context.components['Sprite']) || components['Sprite']
133
135
 
134
136
  parent = elms[5]
135
137
 
@@ -166,13 +168,19 @@ export default () =>
166
168
  if (!elms[7]) {
167
169
  const componentType = props7['is'] || 'Sprite'
168
170
 
169
- elms[7] = (
170
- (context.components && context.components[componentType]) ||
171
- component[Symbol.for('components')][componentType] ||
172
- (() => {
173
- console.error('component Sprite not found')
174
- })
175
- ).call(null, { props: props7 }, elms[6], component)
171
+ let component7
172
+ if (typeof componentType === 'string') {
173
+ component7 =
174
+ (context.components && context.components[componentType]) || components[componentType]
175
+ if (!component7) {
176
+ throw new Error('Component "Sprite" not found')
177
+ }
178
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
179
+ component7 = componentType
180
+ }
181
+
182
+ elms[7] = component7.call(null, { props: props7 }, elms[6], component)
183
+
176
184
  if (elms[7][Symbol.for('slots')][0]) {
177
185
  parent = elms[7][Symbol.for('slots')][0]
178
186
  component = elms[7]
@@ -181,9 +189,7 @@ export default () =>
181
189
  }
182
190
  }
183
191
 
184
- const cmp8 =
185
- (context.components && context.components['Sprite']) ||
186
- component[Symbol.for('components')]['Sprite']
192
+ const cmp8 = (context.components && context.components['Sprite']) || components['Sprite']
187
193
 
188
194
  parent = elms[5]
189
195
 
@@ -220,13 +226,19 @@ export default () =>
220
226
  if (!elms[9]) {
221
227
  const componentType = props9['is'] || 'Sprite'
222
228
 
223
- elms[9] = (
224
- (context.components && context.components[componentType]) ||
225
- component[Symbol.for('components')][componentType] ||
226
- (() => {
227
- console.error('component Sprite not found')
228
- })
229
- ).call(null, { props: props9 }, elms[8], component)
229
+ let component9
230
+ if (typeof componentType === 'string') {
231
+ component9 =
232
+ (context.components && context.components[componentType]) || components[componentType]
233
+ if (!component9) {
234
+ throw new Error('Component "Sprite" not found')
235
+ }
236
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
237
+ component9 = componentType
238
+ }
239
+
240
+ elms[9] = component9.call(null, { props: props9 }, elms[8], component)
241
+
230
242
  if (elms[9][Symbol.for('slots')][0]) {
231
243
  parent = elms[9][Symbol.for('slots')][0]
232
244
  component = elms[9]
@@ -235,9 +247,7 @@ export default () =>
235
247
  }
236
248
  }
237
249
 
238
- const cmp10 =
239
- (context.components && context.components['Sprite']) ||
240
- component[Symbol.for('components')]['Sprite']
250
+ const cmp10 = (context.components && context.components['Sprite']) || components['Sprite']
241
251
 
242
252
  parent = elms[5]
243
253
 
@@ -274,13 +284,19 @@ export default () =>
274
284
  if (!elms[11]) {
275
285
  const componentType = props11['is'] || 'Sprite'
276
286
 
277
- elms[11] = (
278
- (context.components && context.components[componentType]) ||
279
- component[Symbol.for('components')][componentType] ||
280
- (() => {
281
- console.error('component Sprite not found')
282
- })
283
- ).call(null, { props: props11 }, elms[10], component)
287
+ let component11
288
+ if (typeof componentType === 'string') {
289
+ component11 =
290
+ (context.components && context.components[componentType]) || components[componentType]
291
+ if (!component11) {
292
+ throw new Error('Component "Sprite" not found')
293
+ }
294
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
295
+ component11 = componentType
296
+ }
297
+
298
+ elms[11] = component11.call(null, { props: props11 }, elms[10], component)
299
+
284
300
  if (elms[11][Symbol.for('slots')][0]) {
285
301
  parent = elms[11][Symbol.for('slots')][0]
286
302
  component = elms[11]
@@ -302,9 +318,7 @@ export default () =>
302
318
  elms[12].populate(elementConfig12)
303
319
  }
304
320
 
305
- const cmp13 =
306
- (context.components && context.components['Sprite']) ||
307
- component[Symbol.for('components')]['Sprite']
321
+ const cmp13 = (context.components && context.components['Sprite']) || components['Sprite']
308
322
 
309
323
  parent = elms[12]
310
324
 
@@ -342,13 +356,19 @@ export default () =>
342
356
  if (!elms[14]) {
343
357
  const componentType = props14['is'] || 'Sprite'
344
358
 
345
- elms[14] = (
346
- (context.components && context.components[componentType]) ||
347
- component[Symbol.for('components')][componentType] ||
348
- (() => {
349
- console.error('component Sprite not found')
350
- })
351
- ).call(null, { props: props14 }, elms[13], component)
359
+ let component14
360
+ if (typeof componentType === 'string') {
361
+ component14 =
362
+ (context.components && context.components[componentType]) || components[componentType]
363
+ if (!component14) {
364
+ throw new Error('Component "Sprite" not found')
365
+ }
366
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
367
+ component14 = componentType
368
+ }
369
+
370
+ elms[14] = component14.call(null, { props: props14 }, elms[13], component)
371
+
352
372
  if (elms[14][Symbol.for('slots')][0]) {
353
373
  parent = elms[14][Symbol.for('slots')][0]
354
374
  component = elms[14]
@@ -371,9 +391,7 @@ export default () =>
371
391
  elms[15].populate(elementConfig15)
372
392
  }
373
393
 
374
- const cmp16 =
375
- (context.components && context.components['Sprite']) ||
376
- component[Symbol.for('components')]['Sprite']
394
+ const cmp16 = (context.components && context.components['Sprite']) || components['Sprite']
377
395
 
378
396
  parent = elms[15]
379
397
 
@@ -410,13 +428,19 @@ export default () =>
410
428
  if (!elms[17]) {
411
429
  const componentType = props17['is'] || 'Sprite'
412
430
 
413
- elms[17] = (
414
- (context.components && context.components[componentType]) ||
415
- component[Symbol.for('components')][componentType] ||
416
- (() => {
417
- console.error('component Sprite not found')
418
- })
419
- ).call(null, { props: props17 }, elms[16], component)
431
+ let component17
432
+ if (typeof componentType === 'string') {
433
+ component17 =
434
+ (context.components && context.components[componentType]) || components[componentType]
435
+ if (!component17) {
436
+ throw new Error('Component "Sprite" not found')
437
+ }
438
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
439
+ component17 = componentType
440
+ }
441
+
442
+ elms[17] = component17.call(null, { props: props17 }, elms[16], component)
443
+
420
444
  if (elms[17][Symbol.for('slots')][0]) {
421
445
  parent = elms[17][Symbol.for('slots')][0]
422
446
  component = elms[17]
@@ -425,9 +449,7 @@ export default () =>
425
449
  }
426
450
  }
427
451
 
428
- const cmp18 =
429
- (context.components && context.components['Sprite']) ||
430
- component[Symbol.for('components')]['Sprite']
452
+ const cmp18 = (context.components && context.components['Sprite']) || components['Sprite']
431
453
 
432
454
  parent = elms[15]
433
455
 
@@ -464,13 +486,19 @@ export default () =>
464
486
  if (!elms[19]) {
465
487
  const componentType = props19['is'] || 'Sprite'
466
488
 
467
- elms[19] = (
468
- (context.components && context.components[componentType]) ||
469
- component[Symbol.for('components')][componentType] ||
470
- (() => {
471
- console.error('component Sprite not found')
472
- })
473
- ).call(null, { props: props19 }, elms[18], component)
489
+ let component19
490
+ if (typeof componentType === 'string') {
491
+ component19 =
492
+ (context.components && context.components[componentType]) || components[componentType]
493
+ if (!component19) {
494
+ throw new Error('Component "Sprite" not found')
495
+ }
496
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
497
+ component19 = componentType
498
+ }
499
+
500
+ elms[19] = component19.call(null, { props: props19 }, elms[18], component)
501
+
474
502
  if (elms[19][Symbol.for('slots')][0]) {
475
503
  parent = elms[19][Symbol.for('slots')][0]
476
504
  component = elms[19]
@@ -479,9 +507,7 @@ export default () =>
479
507
  }
480
508
  }
481
509
 
482
- const cmp20 =
483
- (context.components && context.components['Sprite']) ||
484
- component[Symbol.for('components')]['Sprite']
510
+ const cmp20 = (context.components && context.components['Sprite']) || components['Sprite']
485
511
 
486
512
  parent = elms[15]
487
513
 
@@ -518,13 +544,19 @@ export default () =>
518
544
  if (!elms[21]) {
519
545
  const componentType = props21['is'] || 'Sprite'
520
546
 
521
- elms[21] = (
522
- (context.components && context.components[componentType]) ||
523
- component[Symbol.for('components')][componentType] ||
524
- (() => {
525
- console.error('component Sprite not found')
526
- })
527
- ).call(null, { props: props21 }, elms[20], component)
547
+ let component21
548
+ if (typeof componentType === 'string') {
549
+ component21 =
550
+ (context.components && context.components[componentType]) || components[componentType]
551
+ if (!component21) {
552
+ throw new Error('Component "Sprite" not found')
553
+ }
554
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
555
+ component21 = componentType
556
+ }
557
+
558
+ elms[21] = component21.call(null, { props: props21 }, elms[20], component)
559
+
528
560
  if (elms[21][Symbol.for('slots')][0]) {
529
561
  parent = elms[21][Symbol.for('slots')][0]
530
562
  component = elms[21]
@@ -547,9 +579,7 @@ export default () =>
547
579
  elms[22].populate(elementConfig22)
548
580
  }
549
581
 
550
- const cmp23 =
551
- (context.components && context.components['Sprite']) ||
552
- component[Symbol.for('components')]['Sprite']
582
+ const cmp23 = (context.components && context.components['Sprite']) || components['Sprite']
553
583
 
554
584
  parent = elms[22]
555
585
 
@@ -587,13 +617,19 @@ export default () =>
587
617
  if (!elms[24]) {
588
618
  const componentType = props24['is'] || 'Sprite'
589
619
 
590
- elms[24] = (
591
- (context.components && context.components[componentType]) ||
592
- component[Symbol.for('components')][componentType] ||
593
- (() => {
594
- console.error('component Sprite not found')
595
- })
596
- ).call(null, { props: props24 }, elms[23], component)
620
+ let component24
621
+ if (typeof componentType === 'string') {
622
+ component24 =
623
+ (context.components && context.components[componentType]) || components[componentType]
624
+ if (!component24) {
625
+ throw new Error('Component "Sprite" not found')
626
+ }
627
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
628
+ component24 = componentType
629
+ }
630
+
631
+ elms[24] = component24.call(null, { props: props24 }, elms[23], component)
632
+
597
633
  if (elms[24][Symbol.for('slots')][0]) {
598
634
  parent = elms[24][Symbol.for('slots')][0]
599
635
  component = elms[24]
@@ -616,9 +652,7 @@ export default () =>
616
652
  elms[25].populate(elementConfig25)
617
653
  }
618
654
 
619
- const cmp26 =
620
- (context.components && context.components['Sprite']) ||
621
- component[Symbol.for('components')]['Sprite']
655
+ const cmp26 = (context.components && context.components['Sprite']) || components['Sprite']
622
656
 
623
657
  parent = elms[25]
624
658
 
@@ -655,13 +689,19 @@ export default () =>
655
689
  if (!elms[27]) {
656
690
  const componentType = props27['is'] || 'Sprite'
657
691
 
658
- elms[27] = (
659
- (context.components && context.components[componentType]) ||
660
- component[Symbol.for('components')][componentType] ||
661
- (() => {
662
- console.error('component Sprite not found')
663
- })
664
- ).call(null, { props: props27 }, elms[26], component)
692
+ let component27
693
+ if (typeof componentType === 'string') {
694
+ component27 =
695
+ (context.components && context.components[componentType]) || components[componentType]
696
+ if (!component27) {
697
+ throw new Error('Component "Sprite" not found')
698
+ }
699
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
700
+ component27 = componentType
701
+ }
702
+
703
+ elms[27] = component27.call(null, { props: props27 }, elms[26], component)
704
+
665
705
  if (elms[27][Symbol.for('slots')][0]) {
666
706
  parent = elms[27][Symbol.for('slots')][0]
667
707
  component = elms[27]
@@ -670,9 +710,7 @@ export default () =>
670
710
  }
671
711
  }
672
712
 
673
- const cmp28 =
674
- (context.components && context.components['Sprite']) ||
675
- component[Symbol.for('components')]['Sprite']
713
+ const cmp28 = (context.components && context.components['Sprite']) || components['Sprite']
676
714
 
677
715
  parent = elms[25]
678
716
 
@@ -709,13 +747,19 @@ export default () =>
709
747
  if (!elms[29]) {
710
748
  const componentType = props29['is'] || 'Sprite'
711
749
 
712
- elms[29] = (
713
- (context.components && context.components[componentType]) ||
714
- component[Symbol.for('components')][componentType] ||
715
- (() => {
716
- console.error('component Sprite not found')
717
- })
718
- ).call(null, { props: props29 }, elms[28], component)
750
+ let component29
751
+ if (typeof componentType === 'string') {
752
+ component29 =
753
+ (context.components && context.components[componentType]) || components[componentType]
754
+ if (!component29) {
755
+ throw new Error('Component "Sprite" not found')
756
+ }
757
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
758
+ component29 = componentType
759
+ }
760
+
761
+ elms[29] = component29.call(null, { props: props29 }, elms[28], component)
762
+
719
763
  if (elms[29][Symbol.for('slots')][0]) {
720
764
  parent = elms[29][Symbol.for('slots')][0]
721
765
  component = elms[29]
@@ -724,9 +768,7 @@ export default () =>
724
768
  }
725
769
  }
726
770
 
727
- const cmp30 =
728
- (context.components && context.components['Sprite']) ||
729
- component[Symbol.for('components')]['Sprite']
771
+ const cmp30 = (context.components && context.components['Sprite']) || components['Sprite']
730
772
 
731
773
  parent = elms[25]
732
774
 
@@ -763,13 +805,19 @@ export default () =>
763
805
  if (!elms[31]) {
764
806
  const componentType = props31['is'] || 'Sprite'
765
807
 
766
- elms[31] = (
767
- (context.components && context.components[componentType]) ||
768
- component[Symbol.for('components')][componentType] ||
769
- (() => {
770
- console.error('component Sprite not found')
771
- })
772
- ).call(null, { props: props31 }, elms[30], component)
808
+ let component31
809
+ if (typeof componentType === 'string') {
810
+ component31 =
811
+ (context.components && context.components[componentType]) || components[componentType]
812
+ if (!component31) {
813
+ throw new Error('Component "Sprite" not found')
814
+ }
815
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
816
+ component31 = componentType
817
+ }
818
+
819
+ elms[31] = component31.call(null, { props: props31 }, elms[30], component)
820
+
773
821
  if (elms[31][Symbol.for('slots')][0]) {
774
822
  parent = elms[31][Symbol.for('slots')][0]
775
823
  component = elms[31]
@@ -792,9 +840,7 @@ export default () =>
792
840
  elms[32].populate(elementConfig32)
793
841
  }
794
842
 
795
- const cmp33 =
796
- (context.components && context.components['Sprite']) ||
797
- component[Symbol.for('components')]['Sprite']
843
+ const cmp33 = (context.components && context.components['Sprite']) || components['Sprite']
798
844
 
799
845
  parent = elms[32]
800
846
 
@@ -830,13 +876,19 @@ export default () =>
830
876
  if (!elms[34]) {
831
877
  const componentType = props34['is'] || 'Sprite'
832
878
 
833
- elms[34] = (
834
- (context.components && context.components[componentType]) ||
835
- component[Symbol.for('components')][componentType] ||
836
- (() => {
837
- console.error('component Sprite not found')
838
- })
839
- ).call(null, { props: props34 }, elms[33], component)
879
+ let component34
880
+ if (typeof componentType === 'string') {
881
+ component34 =
882
+ (context.components && context.components[componentType]) || components[componentType]
883
+ if (!component34) {
884
+ throw new Error('Component "Sprite" not found')
885
+ }
886
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
887
+ component34 = componentType
888
+ }
889
+
890
+ elms[34] = component34.call(null, { props: props34 }, elms[33], component)
891
+
840
892
  if (elms[34][Symbol.for('slots')][0]) {
841
893
  parent = elms[34][Symbol.for('slots')][0]
842
894
  component = elms[34]
@@ -859,9 +911,7 @@ export default () =>
859
911
  elms[35].populate(elementConfig35)
860
912
  }
861
913
 
862
- const cmp36 =
863
- (context.components && context.components['Sprite']) ||
864
- component[Symbol.for('components')]['Sprite']
914
+ const cmp36 = (context.components && context.components['Sprite']) || components['Sprite']
865
915
 
866
916
  parent = elms[35]
867
917
 
@@ -898,13 +948,19 @@ export default () =>
898
948
  if (!elms[37]) {
899
949
  const componentType = props37['is'] || 'Sprite'
900
950
 
901
- elms[37] = (
902
- (context.components && context.components[componentType]) ||
903
- component[Symbol.for('components')][componentType] ||
904
- (() => {
905
- console.error('component Sprite not found')
906
- })
907
- ).call(null, { props: props37 }, elms[36], component)
951
+ let component37
952
+ if (typeof componentType === 'string') {
953
+ component37 =
954
+ (context.components && context.components[componentType]) || components[componentType]
955
+ if (!component37) {
956
+ throw new Error('Component "Sprite" not found')
957
+ }
958
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
959
+ component37 = componentType
960
+ }
961
+
962
+ elms[37] = component37.call(null, { props: props37 }, elms[36], component)
963
+
908
964
  if (elms[37][Symbol.for('slots')][0]) {
909
965
  parent = elms[37][Symbol.for('slots')][0]
910
966
  component = elms[37]
@@ -913,9 +969,7 @@ export default () =>
913
969
  }
914
970
  }
915
971
 
916
- const cmp38 =
917
- (context.components && context.components['Sprite']) ||
918
- component[Symbol.for('components')]['Sprite']
972
+ const cmp38 = (context.components && context.components['Sprite']) || components['Sprite']
919
973
 
920
974
  parent = elms[35]
921
975
 
@@ -952,13 +1006,19 @@ export default () =>
952
1006
  if (!elms[39]) {
953
1007
  const componentType = props39['is'] || 'Sprite'
954
1008
 
955
- elms[39] = (
956
- (context.components && context.components[componentType]) ||
957
- component[Symbol.for('components')][componentType] ||
958
- (() => {
959
- console.error('component Sprite not found')
960
- })
961
- ).call(null, { props: props39 }, elms[38], component)
1009
+ let component39
1010
+ if (typeof componentType === 'string') {
1011
+ component39 =
1012
+ (context.components && context.components[componentType]) || components[componentType]
1013
+ if (!component39) {
1014
+ throw new Error('Component "Sprite" not found')
1015
+ }
1016
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
1017
+ component39 = componentType
1018
+ }
1019
+
1020
+ elms[39] = component39.call(null, { props: props39 }, elms[38], component)
1021
+
962
1022
  if (elms[39][Symbol.for('slots')][0]) {
963
1023
  parent = elms[39][Symbol.for('slots')][0]
964
1024
  component = elms[39]
@@ -967,9 +1027,7 @@ export default () =>
967
1027
  }
968
1028
  }
969
1029
 
970
- const cmp40 =
971
- (context.components && context.components['Sprite']) ||
972
- component[Symbol.for('components')]['Sprite']
1030
+ const cmp40 = (context.components && context.components['Sprite']) || components['Sprite']
973
1031
 
974
1032
  parent = elms[35]
975
1033
 
@@ -1006,13 +1064,19 @@ export default () =>
1006
1064
  if (!elms[41]) {
1007
1065
  const componentType = props41['is'] || 'Sprite'
1008
1066
 
1009
- elms[41] = (
1010
- (context.components && context.components[componentType]) ||
1011
- component[Symbol.for('components')][componentType] ||
1012
- (() => {
1013
- console.error('component Sprite not found')
1014
- })
1015
- ).call(null, { props: props41 }, elms[40], component)
1067
+ let component41
1068
+ if (typeof componentType === 'string') {
1069
+ component41 =
1070
+ (context.components && context.components[componentType]) || components[componentType]
1071
+ if (!component41) {
1072
+ throw new Error('Component "Sprite" not found')
1073
+ }
1074
+ } else if (typeof componentType === 'function' && componentType.name === 'factory') {
1075
+ component41 = componentType
1076
+ }
1077
+
1078
+ elms[41] = component41.call(null, { props: props41 }, elms[40], component)
1079
+
1016
1080
  if (elms[41][Symbol.for('slots')][0]) {
1017
1081
  parent = elms[41][Symbol.for('slots')][0]
1018
1082
  component = elms[41]
@@ -1024,76 +1088,76 @@ export default () =>
1024
1088
  return elms
1025
1089
  },
1026
1090
  effects: [
1027
- function anonymous(component, elms, context) {
1091
+ function anonymous(component, elms, context, components) {
1028
1092
  elms[6].set('frame', component.fps[0])
1029
1093
  },
1030
- function anonymous(component, elms, context) {
1094
+ function anonymous(component, elms, context, components) {
1031
1095
  elms[7][Symbol.for('props')]['frame'] = component.fps[0]
1032
1096
  },
1033
- function anonymous(component, elms, context) {
1097
+ function anonymous(component, elms, context, components) {
1034
1098
  elms[8].set('frame', component.fps[1])
1035
1099
  },
1036
- function anonymous(component, elms, context) {
1100
+ function anonymous(component, elms, context, components) {
1037
1101
  elms[9][Symbol.for('props')]['frame'] = component.fps[1]
1038
1102
  },
1039
- function anonymous(component, elms, context) {
1103
+ function anonymous(component, elms, context, components) {
1040
1104
  elms[10].set('frame', component.fps[2])
1041
1105
  },
1042
- function anonymous(component, elms, context) {
1106
+ function anonymous(component, elms, context, components) {
1043
1107
  elms[11][Symbol.for('props')]['frame'] = component.fps[2]
1044
1108
  },
1045
- function anonymous(component, elms, context) {
1109
+ function anonymous(component, elms, context, components) {
1046
1110
  elms[16].set('frame', component.avgFps[0])
1047
1111
  },
1048
- function anonymous(component, elms, context) {
1112
+ function anonymous(component, elms, context, components) {
1049
1113
  elms[17][Symbol.for('props')]['frame'] = component.avgFps[0]
1050
1114
  },
1051
- function anonymous(component, elms, context) {
1115
+ function anonymous(component, elms, context, components) {
1052
1116
  elms[18].set('frame', component.avgFps[1])
1053
1117
  },
1054
- function anonymous(component, elms, context) {
1118
+ function anonymous(component, elms, context, components) {
1055
1119
  elms[19][Symbol.for('props')]['frame'] = component.avgFps[1]
1056
1120
  },
1057
- function anonymous(component, elms, context) {
1121
+ function anonymous(component, elms, context, components) {
1058
1122
  elms[20].set('frame', component.avgFps[2])
1059
1123
  },
1060
- function anonymous(component, elms, context) {
1124
+ function anonymous(component, elms, context, components) {
1061
1125
  elms[21][Symbol.for('props')]['frame'] = component.avgFps[2]
1062
1126
  },
1063
- function anonymous(component, elms, context) {
1127
+ function anonymous(component, elms, context, components) {
1064
1128
  elms[26].set('frame', component.minFps[0])
1065
1129
  },
1066
- function anonymous(component, elms, context) {
1130
+ function anonymous(component, elms, context, components) {
1067
1131
  elms[27][Symbol.for('props')]['frame'] = component.minFps[0]
1068
1132
  },
1069
- function anonymous(component, elms, context) {
1133
+ function anonymous(component, elms, context, components) {
1070
1134
  elms[28].set('frame', component.minFps[1])
1071
1135
  },
1072
- function anonymous(component, elms, context) {
1136
+ function anonymous(component, elms, context, components) {
1073
1137
  elms[29][Symbol.for('props')]['frame'] = component.minFps[1]
1074
1138
  },
1075
- function anonymous(component, elms, context) {
1139
+ function anonymous(component, elms, context, components) {
1076
1140
  elms[30].set('frame', component.minFps[2])
1077
1141
  },
1078
- function anonymous(component, elms, context) {
1142
+ function anonymous(component, elms, context, components) {
1079
1143
  elms[31][Symbol.for('props')]['frame'] = component.minFps[2]
1080
1144
  },
1081
- function anonymous(component, elms, context) {
1145
+ function anonymous(component, elms, context, components) {
1082
1146
  elms[36].set('frame', component.maxFps[0])
1083
1147
  },
1084
- function anonymous(component, elms, context) {
1148
+ function anonymous(component, elms, context, components) {
1085
1149
  elms[37][Symbol.for('props')]['frame'] = component.maxFps[0]
1086
1150
  },
1087
- function anonymous(component, elms, context) {
1151
+ function anonymous(component, elms, context, components) {
1088
1152
  elms[38].set('frame', component.maxFps[1])
1089
1153
  },
1090
- function anonymous(component, elms, context) {
1154
+ function anonymous(component, elms, context, components) {
1091
1155
  elms[39][Symbol.for('props')]['frame'] = component.maxFps[1]
1092
1156
  },
1093
- function anonymous(component, elms, context) {
1157
+ function anonymous(component, elms, context, components) {
1094
1158
  elms[40].set('frame', component.maxFps[2])
1095
1159
  },
1096
- function anonymous(component, elms, context) {
1160
+ function anonymous(component, elms, context, components) {
1097
1161
  elms[41][Symbol.for('props')]['frame'] = component.maxFps[2]
1098
1162
  },
1099
1163
  ],