@urso/core 0.5.7 → 0.5.10

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 (159) hide show
  1. package/.babelrc +11 -11
  2. package/LICENSE +20 -20
  3. package/README.md +220 -220
  4. package/build/js/index.js +1 -1
  5. package/build/js/index.js.LICENSE.txt +38 -222
  6. package/package.json +52 -52
  7. package/src/js/app.js +78 -78
  8. package/src/js/components/_info.js +10 -10
  9. package/src/js/components/base/_info.js +3 -3
  10. package/src/js/components/base/controller.js +78 -78
  11. package/src/js/components/debug/_info.js +7 -7
  12. package/src/js/components/debug/controller.js +38 -38
  13. package/src/js/components/debug/coords.js +23 -23
  14. package/src/js/components/debug/fps.js +34 -34
  15. package/src/js/components/debug/template.js +55 -55
  16. package/src/js/components/debug/timescale.js +60 -60
  17. package/src/js/components/deviceRotate/_info.js +3 -3
  18. package/src/js/components/deviceRotate/controller.js +86 -86
  19. package/src/js/components/editor/_info.js +4 -0
  20. package/src/js/components/editor/api.js +72 -0
  21. package/src/js/components/editor/controller.js +13 -0
  22. package/src/js/components/fullscreen/_info.js +6 -6
  23. package/src/js/components/fullscreen/android.js +104 -104
  24. package/src/js/components/fullscreen/controller.js +76 -76
  25. package/src/js/components/fullscreen/desktop.js +49 -49
  26. package/src/js/components/fullscreen/ios.js +115 -115
  27. package/src/js/components/layersSwitcher/_info.js +4 -4
  28. package/src/js/components/layersSwitcher/config.js +26 -26
  29. package/src/js/components/layersSwitcher/controller.js +34 -34
  30. package/src/js/components/loader/_info.js +4 -4
  31. package/src/js/components/loader/controller.js +65 -66
  32. package/src/js/components/loader/template.js +70 -70
  33. package/src/js/components/soundInitialPopup/_info.js +3 -3
  34. package/src/js/components/soundInitialPopup/controller.js +42 -42
  35. package/src/js/components/soundInitialPopup/template.js +109 -109
  36. package/src/js/components/stateDriven/_info.js +3 -3
  37. package/src/js/components/stateDriven/controller.js +118 -118
  38. package/src/js/config/load.js +5 -5
  39. package/src/js/config/main.js +12 -12
  40. package/src/js/extra/_info.js +26 -26
  41. package/src/js/extra/browserEvents.js +51 -38
  42. package/src/js/extra/pixiPatch.js +79 -79
  43. package/src/js/extra/setTimeout.js +7 -7
  44. package/src/js/index.js +8 -8
  45. package/src/js/lib/_info.js +13 -13
  46. package/src/js/lib/cache.js +105 -105
  47. package/src/js/lib/composition.js +85 -85
  48. package/src/js/lib/device.js +1286 -1286
  49. package/src/js/lib/helper.js +539 -539
  50. package/src/js/lib/loader.js +136 -136
  51. package/src/js/lib/localData.js +15 -15
  52. package/src/js/lib/logger.js +69 -69
  53. package/src/js/lib/math.js +35 -35
  54. package/src/js/lib/objectPool.js +54 -54
  55. package/src/js/lib/time.js +18 -18
  56. package/src/js/lib/tween.js +147 -147
  57. package/src/js/modules/_info.js +12 -12
  58. package/src/js/modules/assets/_info.js +7 -7
  59. package/src/js/modules/assets/baseModel.js +18 -18
  60. package/src/js/modules/assets/config.js +37 -37
  61. package/src/js/modules/assets/controller.js +46 -46
  62. package/src/js/modules/assets/models/_info.js +11 -11
  63. package/src/js/modules/assets/models/atlas.js +8 -8
  64. package/src/js/modules/assets/models/audiosprite.js +27 -27
  65. package/src/js/modules/assets/models/bitmapFont.js +8 -8
  66. package/src/js/modules/assets/models/container.js +16 -16
  67. package/src/js/modules/assets/models/font.js +8 -8
  68. package/src/js/modules/assets/models/image.js +13 -13
  69. package/src/js/modules/assets/models/json.js +8 -8
  70. package/src/js/modules/assets/models/sound.js +14 -14
  71. package/src/js/modules/assets/models/spine.js +14 -14
  72. package/src/js/modules/assets/service.js +365 -365
  73. package/src/js/modules/i18n/_info.js +4 -4
  74. package/src/js/modules/i18n/config.js +17 -17
  75. package/src/js/modules/i18n/controller.js +79 -79
  76. package/src/js/modules/instances/_info.js +3 -3
  77. package/src/js/modules/instances/controller.js +261 -261
  78. package/src/js/modules/logic/_info.js +4 -4
  79. package/src/js/modules/logic/config/_info.js +2 -2
  80. package/src/js/modules/logic/config/sounds.js +23 -23
  81. package/src/js/modules/logic/controller.js +48 -48
  82. package/src/js/modules/logic/sounds.js +103 -103
  83. package/src/js/modules/objects/_info.js +13 -13
  84. package/src/js/modules/objects/baseModel.js +197 -197
  85. package/src/js/modules/objects/cache.js +99 -99
  86. package/src/js/modules/objects/controller.js +131 -131
  87. package/src/js/modules/objects/find.js +58 -58
  88. package/src/js/modules/objects/models/_info.js +27 -26
  89. package/src/js/modules/objects/models/atlasImage.js +50 -50
  90. package/src/js/modules/objects/models/bitmapText.js +37 -37
  91. package/src/js/modules/objects/models/button.js +189 -189
  92. package/src/js/modules/objects/models/buttonComposite.js +35 -35
  93. package/src/js/modules/objects/models/checkbox.js +96 -96
  94. package/src/js/modules/objects/models/collection.js +54 -54
  95. package/src/js/modules/objects/models/component.js +44 -44
  96. package/src/js/modules/objects/models/container.js +19 -19
  97. package/src/js/modules/objects/models/dragContainer.js +675 -0
  98. package/src/js/modules/objects/models/emitter.js +67 -67
  99. package/src/js/modules/objects/models/emitterFx.js +99 -99
  100. package/src/js/modules/objects/models/graphics.js +38 -38
  101. package/src/js/modules/objects/models/group.js +19 -19
  102. package/src/js/modules/objects/models/hitArea.js +104 -104
  103. package/src/js/modules/objects/models/image.js +34 -34
  104. package/src/js/modules/objects/models/imagesAnimation.js +113 -113
  105. package/src/js/modules/objects/models/mask.js +38 -38
  106. package/src/js/modules/objects/models/nineSlicePlane.js +30 -30
  107. package/src/js/modules/objects/models/scrollbox.js +64 -64
  108. package/src/js/modules/objects/models/slider.js +253 -253
  109. package/src/js/modules/objects/models/spine.js +276 -276
  110. package/src/js/modules/objects/models/text.js +59 -59
  111. package/src/js/modules/objects/models/textInput.js +66 -66
  112. package/src/js/modules/objects/models/toggle.js +180 -180
  113. package/src/js/modules/objects/models/world.js +19 -19
  114. package/src/js/modules/objects/propertyAdapter.js +587 -423
  115. package/src/js/modules/objects/proxy.js +294 -294
  116. package/src/js/modules/objects/selector.js +136 -136
  117. package/src/js/modules/objects/service.js +242 -240
  118. package/src/js/modules/objects/styles.js +210 -210
  119. package/src/js/modules/observer/_info.js +4 -4
  120. package/src/js/modules/observer/controller.js +99 -99
  121. package/src/js/modules/observer/events.js +51 -45
  122. package/src/js/modules/scenes/_info.js +8 -8
  123. package/src/js/modules/scenes/controller.js +103 -103
  124. package/src/js/modules/scenes/model.js +28 -28
  125. package/src/js/modules/scenes/pixiWrapper.js +237 -237
  126. package/src/js/modules/scenes/resolutions.js +173 -173
  127. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  128. package/src/js/modules/scenes/service.js +142 -142
  129. package/src/js/modules/soundManager/_info.js +3 -3
  130. package/src/js/modules/soundManager/controller.js +100 -100
  131. package/src/js/modules/soundManager/soundSprite.js +250 -256
  132. package/src/js/modules/statesManager/_info.js +12 -12
  133. package/src/js/modules/statesManager/action.js +60 -60
  134. package/src/js/modules/statesManager/actions/_info.js +3 -3
  135. package/src/js/modules/statesManager/all.js +23 -23
  136. package/src/js/modules/statesManager/configStates.js +71 -71
  137. package/src/js/modules/statesManager/controller.js +170 -170
  138. package/src/js/modules/statesManager/functionsStorage.js +82 -82
  139. package/src/js/modules/statesManager/helper.js +27 -27
  140. package/src/js/modules/statesManager/race.js +75 -75
  141. package/src/js/modules/statesManager/sequence.js +47 -47
  142. package/src/js/modules/template/_info.js +6 -6
  143. package/src/js/modules/template/controller.js +28 -28
  144. package/src/js/modules/template/model.js +11 -11
  145. package/src/js/modules/template/service.js +137 -137
  146. package/src/js/modules/template/types.js +47 -46
  147. package/src/js/modules/transport/_info.js +8 -8
  148. package/src/js/modules/transport/baseConnectionType.js +24 -24
  149. package/src/js/modules/transport/config.js +13 -13
  150. package/src/js/modules/transport/connectionTypes/_info.js +3 -3
  151. package/src/js/modules/transport/connectionTypes/websocket.js +74 -74
  152. package/src/js/modules/transport/connectionTypes/xhr.js +44 -44
  153. package/src/js/modules/transport/controller.js +48 -48
  154. package/src/js/modules/transport/decorator.js +17 -17
  155. package/src/js/modules/transport/service.js +153 -153
  156. package/src/js/templates/_info.js +4 -4
  157. package/src/js/templates/groups/_info.js +1 -1
  158. package/src/js/templates/scenes/_info.js +1 -1
  159. package/webpack.config.js +47 -47
@@ -1,237 +1,237 @@
1
- class ModulesScenesPixiWrapper {
2
- constructor() {
3
- this.singleton = true;
4
- this._renderer;
5
-
6
- this.scenes = {};
7
- this.world;
8
-
9
- this._root;
10
- this._loaderScene;
11
-
12
- this._loopStopped = false;
13
- this._loopPaused = false;
14
- this._loopLastCall = 0;
15
-
16
- this.loop = this.loop.bind(this);
17
- this.passiveCallIntervalId = null;
18
-
19
- this._mouseCoords = { x: 0, y: 0 };
20
- }
21
-
22
- init() {
23
- this._setPixiSettings();
24
-
25
- //define renderer
26
- PIXI.utils.skipHello();
27
- this.renderer = new PIXI.Renderer({ preserveDrawingBuffer: true, width: 1, height: 1 });
28
- document.body.appendChild(this.renderer.view);
29
-
30
- //root and world
31
- this._root = new PIXI.Container();
32
- this._createWorld();
33
-
34
- // setup interaction
35
- this.interaction = new PIXI.InteractionManager(this.renderer);
36
-
37
- this._loaderScene = this.getInstance('Model');
38
- this._requestAnimFrame(this.loop);
39
-
40
- this.getInstance('Resolutions');
41
- }
42
-
43
- /**
44
- * returns is scene paused
45
- * @returns {Boolean}
46
- */
47
- isPaused() {
48
- return this._loopPaused;
49
- }
50
-
51
- /**
52
- * pause scene
53
- */
54
- pause() {
55
- this._loopPaused = true;
56
- PIXI.spine.settings.GLOBAL_AUTO_UPDATE = false;
57
- }
58
-
59
- /**
60
- * resume scene
61
- */
62
- resume() {
63
- this._loopLastCall = Date.now();
64
- this._loopPaused = false;
65
- this.update();
66
- PIXI.spine.settings.GLOBAL_AUTO_UPDATE = true;
67
- }
68
-
69
- _setPixiSettings() {
70
- PIXI.settings.SCALE_MODE = PIXI.SCALE_MODES.LINEAR;
71
- PIXI.settings.TEXT_RESOLUTION = 1;
72
-
73
- if (Urso.device.iOS || Urso.device.macOS)
74
- PIXI.settings.PRECISION_FRAGMENT = PIXI.PRECISION.HIGH;
75
- }
76
-
77
- _createWorld() {
78
- if (this.world)
79
- this._root.removeChild(this.world);
80
-
81
- this.world = new PIXI.Container();
82
- this._root.addChild(this.world);
83
- }
84
-
85
- _requestAnimFrame(loopFunction) {
86
- (() => {
87
- return window.requestAnimationFrame ||
88
- window.webkitRequestAnimationFrame ||
89
- window.mozRequestAnimationFrame ||
90
- window.oRequestAnimationFrame ||
91
- window.msRequestAnimationFrame ||
92
- function (/* function FrameRequestCallback */ callback, /* DOMElement Element */ element) {
93
- window.setTimeout(callback, 0);
94
- };
95
- })()(loopFunction);
96
- }
97
-
98
- _getDeltaTime() {
99
- let newTime = Date.now();
100
- let deltaTime = Urso.scenes.timeScale * (newTime - this._loopLastCall);
101
- this._loopLastCall = newTime;
102
-
103
- return Urso.math.intMakeBetween(deltaTime, 0, 1000);
104
- }
105
-
106
- _getDeltaFrame(deltaTime) {
107
- return deltaTime * 60 / 1000;
108
- };
109
-
110
- loop() {
111
- if (this._loopStopped)
112
- return false;
113
-
114
- this._requestAnimFrame(this.loop);
115
-
116
- if (!this._loopPaused)
117
- this.update();
118
-
119
- return true;
120
- };
121
-
122
- update() {
123
- if (!this.currentScene)
124
- return;
125
-
126
- let deltaTime = this._getDeltaTime();
127
- let deltaFrame = this._getDeltaFrame(deltaTime);
128
- this.interaction.update(deltaFrame);
129
-
130
- this._checkMouse();
131
- this.emit(Urso.events.MODULES_SCENES_UPDATE, deltaTime);
132
-
133
- this.currentScene.update(deltaTime);
134
- this.currentScene.render();
135
- this.renderer.render(this._root);
136
- };
137
-
138
- //size
139
- resize(width, height) {
140
- this.renderer.resize(width, height);
141
- };
142
-
143
- hideCanvas() {
144
- this.renderer.view.style.display = 'none';
145
- }
146
-
147
- showCanvas() {
148
- this.renderer.view.style.display = '';
149
- }
150
-
151
- setWorldScale(x, y) {
152
- this.world.scale.x = x;
153
- this.world.scale.y = y;
154
- }
155
-
156
- setCanvasWidth(val) {
157
- this.renderer.view.style.width = val + 'px';
158
- };
159
-
160
- setCanvasHeight(val) {
161
- this.renderer.view.style.height = val + 'px';
162
- };
163
-
164
- getPixiWorld() {
165
- return this.world;
166
- }
167
-
168
- setNewScene(model) {
169
- this._createWorld();
170
- this.currentScene = model;
171
- }
172
-
173
- _checkMouse() {
174
- let newCoords = this._getMouseCoords();
175
-
176
- if (Urso.helper.checkDeepEqual(this._mouseCoords, newCoords))
177
- return true;
178
-
179
- this._mouseCoords = newCoords;
180
- this.emit(Urso.events.MODULES_SCENES_MOUSE_NEW_POSITION, this._mouseCoords);
181
- };
182
-
183
- getCachedMouseCoords() {
184
- return this._mouseCoords;
185
- }
186
-
187
- _getMouseCoords() {
188
- const coords = {
189
- x: ~~(this.interaction.mouse.global.x / this.world.scale.x),
190
- y: ~~(this.interaction.mouse.global.y / this.world.scale.y)
191
- };
192
-
193
- coords.x = this._validateCoordinate(coords.x);
194
- coords.y = this._validateCoordinate(coords.y);
195
-
196
- return coords;
197
- };
198
-
199
- _validateCoordinate(c) {
200
- return c > 0 ? c : 0;
201
- }
202
-
203
- /**
204
- * reserve loop, when browser tab is inactive
205
- * @param {Boolean} isVisible
206
- */
207
- visibilityChangeHandler(isVisible) {
208
- if (isVisible) {
209
- if (this.passiveCallIntervalId) {
210
- clearInterval(this.passiveCallIntervalId);
211
- this.passiveCallIntervalId = null;
212
- return;
213
- }
214
- }
215
-
216
- this.passiveCallIntervalId = setInterval(() => {
217
- if (!this._loopStopped && !this._loopPaused) {
218
- this.update();
219
- }
220
- }, 16);
221
- }
222
-
223
- /**
224
- * generateTexture from object
225
- * @param {Object} obj
226
- * @returns {Object} - pixi.Texture
227
- */
228
- generateTexture(obj) {
229
- return this.renderer.generateTexture(obj);
230
- }
231
-
232
- _subscribeOnce() {
233
- this.addListener(Urso.events.EXTRA_BROWSEREVENTS_WINDOW_VISIBILITYCHANGE, this.visibilityChangeHandler.bind(this), true);
234
- }
235
- }
236
-
237
- module.exports = ModulesScenesPixiWrapper;
1
+ class ModulesScenesPixiWrapper {
2
+ constructor() {
3
+ this.singleton = true;
4
+ this._renderer;
5
+
6
+ this.scenes = {};
7
+ this.world;
8
+
9
+ this._root;
10
+ this._loaderScene;
11
+
12
+ this._loopStopped = false;
13
+ this._loopPaused = false;
14
+ this._loopLastCall = 0;
15
+
16
+ this.loop = this.loop.bind(this);
17
+ this.passiveCallIntervalId = null;
18
+
19
+ this._mouseCoords = { x: 0, y: 0 };
20
+ }
21
+
22
+ init() {
23
+ this._setPixiSettings();
24
+
25
+ //define renderer
26
+ PIXI.utils.skipHello();
27
+ this.renderer = new PIXI.Renderer({ preserveDrawingBuffer: true, width: 1, height: 1 });
28
+ document.body.appendChild(this.renderer.view);
29
+
30
+ //root and world
31
+ this._root = new PIXI.Container();
32
+ this._createWorld();
33
+
34
+ // setup interaction
35
+ this.interaction = new PIXI.InteractionManager(this.renderer);
36
+
37
+ this._loaderScene = this.getInstance('Model');
38
+ this._requestAnimFrame(this.loop);
39
+
40
+ this.getInstance('Resolutions');
41
+ }
42
+
43
+ /**
44
+ * returns is scene paused
45
+ * @returns {Boolean}
46
+ */
47
+ isPaused() {
48
+ return this._loopPaused;
49
+ }
50
+
51
+ /**
52
+ * pause scene
53
+ */
54
+ pause() {
55
+ this._loopPaused = true;
56
+ PIXI.spine.settings.GLOBAL_AUTO_UPDATE = false;
57
+ }
58
+
59
+ /**
60
+ * resume scene
61
+ */
62
+ resume() {
63
+ this._loopLastCall = Date.now();
64
+ this._loopPaused = false;
65
+ this.update();
66
+ PIXI.spine.settings.GLOBAL_AUTO_UPDATE = true;
67
+ }
68
+
69
+ _setPixiSettings() {
70
+ PIXI.settings.SCALE_MODE = PIXI.SCALE_MODES.LINEAR;
71
+ PIXI.settings.TEXT_RESOLUTION = 1;
72
+
73
+ if (Urso.device.iOS || Urso.device.macOS)
74
+ PIXI.settings.PRECISION_FRAGMENT = PIXI.PRECISION.HIGH;
75
+ }
76
+
77
+ _createWorld() {
78
+ if (this.world)
79
+ this._root.removeChild(this.world);
80
+
81
+ this.world = new PIXI.Container();
82
+ this._root.addChild(this.world);
83
+ }
84
+
85
+ _requestAnimFrame(loopFunction) {
86
+ (() => {
87
+ return window.requestAnimationFrame ||
88
+ window.webkitRequestAnimationFrame ||
89
+ window.mozRequestAnimationFrame ||
90
+ window.oRequestAnimationFrame ||
91
+ window.msRequestAnimationFrame ||
92
+ function (/* function FrameRequestCallback */ callback, /* DOMElement Element */ element) {
93
+ window.setTimeout(callback, 0);
94
+ };
95
+ })()(loopFunction);
96
+ }
97
+
98
+ _getDeltaTime() {
99
+ let newTime = Date.now();
100
+ let deltaTime = Urso.scenes.timeScale * (newTime - this._loopLastCall);
101
+ this._loopLastCall = newTime;
102
+
103
+ return Urso.math.intMakeBetween(deltaTime, 0, 1000);
104
+ }
105
+
106
+ _getDeltaFrame(deltaTime) {
107
+ return deltaTime * 60 / 1000;
108
+ };
109
+
110
+ loop() {
111
+ if (this._loopStopped)
112
+ return false;
113
+
114
+ this._requestAnimFrame(this.loop);
115
+
116
+ if (!this._loopPaused)
117
+ this.update();
118
+
119
+ return true;
120
+ };
121
+
122
+ update() {
123
+ if (!this.currentScene)
124
+ return;
125
+
126
+ let deltaTime = this._getDeltaTime();
127
+ let deltaFrame = this._getDeltaFrame(deltaTime);
128
+ this.interaction.update(deltaFrame);
129
+
130
+ this._checkMouse();
131
+ this.emit(Urso.events.MODULES_SCENES_UPDATE, deltaTime);
132
+
133
+ this.currentScene.update(deltaTime);
134
+ this.currentScene.render();
135
+ this.renderer.render(this._root);
136
+ };
137
+
138
+ //size
139
+ resize(width, height) {
140
+ this.renderer.resize(width, height);
141
+ };
142
+
143
+ hideCanvas() {
144
+ this.renderer.view.style.display = 'none';
145
+ }
146
+
147
+ showCanvas() {
148
+ this.renderer.view.style.display = '';
149
+ }
150
+
151
+ setWorldScale(x, y) {
152
+ this.world.scale.x = x;
153
+ this.world.scale.y = y;
154
+ }
155
+
156
+ setCanvasWidth(val) {
157
+ this.renderer.view.style.width = val + 'px';
158
+ };
159
+
160
+ setCanvasHeight(val) {
161
+ this.renderer.view.style.height = val + 'px';
162
+ };
163
+
164
+ getPixiWorld() {
165
+ return this.world;
166
+ }
167
+
168
+ setNewScene(model) {
169
+ this._createWorld();
170
+ this.currentScene = model;
171
+ }
172
+
173
+ _checkMouse() {
174
+ let newCoords = this._getMouseCoords();
175
+
176
+ if (Urso.helper.checkDeepEqual(this._mouseCoords, newCoords))
177
+ return true;
178
+
179
+ this._mouseCoords = newCoords;
180
+ this.emit(Urso.events.MODULES_SCENES_MOUSE_NEW_POSITION, this._mouseCoords);
181
+ };
182
+
183
+ getCachedMouseCoords() {
184
+ return this._mouseCoords;
185
+ }
186
+
187
+ _getMouseCoords() {
188
+ const coords = {
189
+ x: ~~(this.interaction.mouse.global.x / this.world.scale.x),
190
+ y: ~~(this.interaction.mouse.global.y / this.world.scale.y)
191
+ };
192
+
193
+ coords.x = this._validateCoordinate(coords.x);
194
+ coords.y = this._validateCoordinate(coords.y);
195
+
196
+ return coords;
197
+ };
198
+
199
+ _validateCoordinate(c) {
200
+ return c > 0 ? c : 0;
201
+ }
202
+
203
+ /**
204
+ * reserve loop, when browser tab is inactive
205
+ * @param {Boolean} isVisible
206
+ */
207
+ visibilityChangeHandler(isVisible) {
208
+ if (isVisible) {
209
+ if (this.passiveCallIntervalId) {
210
+ clearInterval(this.passiveCallIntervalId);
211
+ this.passiveCallIntervalId = null;
212
+ return;
213
+ }
214
+ }
215
+
216
+ this.passiveCallIntervalId = setInterval(() => {
217
+ if (!this._loopStopped && !this._loopPaused) {
218
+ this.update();
219
+ }
220
+ }, 16);
221
+ }
222
+
223
+ /**
224
+ * generateTexture from object
225
+ * @param {Object} obj
226
+ * @returns {Object} - pixi.Texture
227
+ */
228
+ generateTexture(obj) {
229
+ return this.renderer.generateTexture(obj);
230
+ }
231
+
232
+ _subscribeOnce() {
233
+ this.addListener(Urso.events.EXTRA_BROWSEREVENTS_WINDOW_VISIBILITYCHANGE, this.visibilityChangeHandler.bind(this), true);
234
+ }
235
+ }
236
+
237
+ module.exports = ModulesScenesPixiWrapper;