@playcraft/build 0.0.4 → 0.0.9

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 (64) hide show
  1. package/dist/analyzers/scene-asset-collector.js +210 -1
  2. package/dist/base-builder.d.ts +15 -0
  3. package/dist/base-builder.js +192 -16
  4. package/dist/generators/config-generator.js +29 -3
  5. package/dist/loaders/playcanvas-loader.d.ts +7 -0
  6. package/dist/loaders/playcanvas-loader.js +53 -3
  7. package/dist/platforms/adikteev.d.ts +10 -0
  8. package/dist/platforms/adikteev.js +72 -0
  9. package/dist/platforms/base.d.ts +12 -0
  10. package/dist/platforms/base.js +208 -0
  11. package/dist/platforms/facebook.js +5 -2
  12. package/dist/platforms/index.d.ts +4 -0
  13. package/dist/platforms/index.js +16 -0
  14. package/dist/platforms/inmobi.d.ts +10 -0
  15. package/dist/platforms/inmobi.js +68 -0
  16. package/dist/platforms/ironsource.js +5 -2
  17. package/dist/platforms/moloco.js +5 -2
  18. package/dist/platforms/playcraft.d.ts +33 -0
  19. package/dist/platforms/playcraft.js +44 -0
  20. package/dist/platforms/remerge.d.ts +10 -0
  21. package/dist/platforms/remerge.js +56 -0
  22. package/dist/templates/__loading__.js +100 -0
  23. package/dist/templates/__modules__.js +47 -0
  24. package/dist/templates/__settings__.template.js +20 -0
  25. package/dist/templates/__start__.js +332 -0
  26. package/dist/templates/index.html +18 -0
  27. package/dist/templates/logo.png +0 -0
  28. package/dist/templates/manifest.json +1 -0
  29. package/dist/templates/patches/cannon.min.js +28 -0
  30. package/dist/templates/patches/lz4.js +10 -0
  31. package/dist/templates/patches/one-page-http-get.js +20 -0
  32. package/dist/templates/patches/one-page-inline-game-scripts.js +52 -0
  33. package/dist/templates/patches/one-page-mraid-resize-canvas.js +46 -0
  34. package/dist/templates/patches/p2.min.js +27 -0
  35. package/dist/templates/patches/playcraft-no-xhr.js +76 -0
  36. package/dist/templates/playcanvas-stable.min.js +16363 -0
  37. package/dist/templates/styles.css +43 -0
  38. package/dist/types.d.ts +14 -1
  39. package/dist/utils/build-mode-detector.d.ts +9 -0
  40. package/dist/utils/build-mode-detector.js +42 -0
  41. package/dist/vite/config-builder.d.ts +29 -1
  42. package/dist/vite/config-builder.js +169 -25
  43. package/dist/vite/platform-configs.d.ts +4 -0
  44. package/dist/vite/platform-configs.js +97 -13
  45. package/dist/vite/plugin-esm-html-generator.d.ts +22 -0
  46. package/dist/vite/plugin-esm-html-generator.js +1061 -0
  47. package/dist/vite/plugin-platform.js +56 -17
  48. package/dist/vite/plugin-playcanvas.d.ts +2 -0
  49. package/dist/vite/plugin-playcanvas.js +497 -40
  50. package/dist/vite/plugin-source-builder.d.ts +3 -0
  51. package/dist/vite/plugin-source-builder.js +886 -19
  52. package/dist/vite-builder.d.ts +19 -2
  53. package/dist/vite-builder.js +162 -12
  54. package/package.json +2 -1
  55. package/physics/cannon-es-bundle.js +13092 -0
  56. package/physics/cannon-rigidbody-adapter.js +375 -0
  57. package/physics/connon-integration.js +411 -0
  58. package/templates/__start__.js +8 -3
  59. package/templates/index.esm.html +20 -0
  60. package/templates/index.esm.mjs +502 -0
  61. package/templates/patches/one-page-inline-game-scripts.js +25 -1
  62. package/templates/patches/playcraft-cta-adapter.js +297 -0
  63. package/templates/patches/playcraft-no-xhr.js +25 -1
  64. package/templates/playcanvas-esm-wrapper.mjs +827 -0
@@ -0,0 +1,827 @@
1
+ /**
2
+ * PlayCanvas ESM Wrapper
3
+ *
4
+ * This wrapper converts the UMD PlayCanvas engine to ESM format.
5
+ * The UMD engine sets window.pc, and this wrapper re-exports all its properties.
6
+ *
7
+ * This approach dynamically exports ALL properties from pc namespace,
8
+ * ensuring no exports are missed.
9
+ */
10
+
11
+ // Import the UMD engine (it will set window.pc)
12
+ import './playcanvas-engine-umd.js';
13
+
14
+ // Get the PlayCanvas namespace from window
15
+ const pc = window.pc;
16
+
17
+ // ============================================================================
18
+ // DYNAMIC APP ACCESS
19
+ // ============================================================================
20
+ // The 'app' property is set at runtime in index.esm.mjs after AppBase is created.
21
+ // ESM exports are static, so we cannot dynamically export app via namespace import.
22
+ //
23
+ // IMPORTANT: For scripts that use `import * as pc from 'playcanvas'`:
24
+ // The build process automatically rewrites `pc.app` to `window.pc.app`.
25
+ // This ensures that app access works correctly in ESM mode.
26
+ //
27
+ // For direct imports like `import { app } from 'playcanvas'`:
28
+ // We provide a Proxy that forwards property access to window.pc.app.
29
+
30
+ /**
31
+ * Get the current PlayCanvas Application instance.
32
+ * This must be called at runtime after the app has been initialized.
33
+ * @returns {AppBase|null} The application instance or null if not yet created.
34
+ */
35
+ export function getApplication() {
36
+ return window.pc?.app ?? null;
37
+ }
38
+
39
+ // Create a Proxy for the 'app' export that dynamically accesses window.pc.app
40
+ // This works for code that does: import { app } from 'playcanvas'; app.root...
41
+ // Note: For `import * as pc`, the build process rewrites pc.app to window.pc.app
42
+ const appProxy = new Proxy({}, {
43
+ get(target, prop) {
44
+ const currentApp = window.pc?.app;
45
+ if (!currentApp) {
46
+ console.warn(`[PlayCanvas ESM] Accessing app.${String(prop)} before app is initialized`);
47
+ return undefined;
48
+ }
49
+ const value = currentApp[prop];
50
+ return typeof value === 'function' ? value.bind(currentApp) : value;
51
+ },
52
+ set(target, prop, value) {
53
+ const currentApp = window.pc?.app;
54
+ if (currentApp) {
55
+ currentApp[prop] = value;
56
+ return true;
57
+ }
58
+ console.warn(`[PlayCanvas ESM] Cannot set app.${String(prop)} - app is not initialized yet`);
59
+ return false;
60
+ }
61
+ });
62
+
63
+ export { appProxy as app };
64
+
65
+ // ============================================================================
66
+ // DYNAMIC RE-EXPORTS
67
+ // ============================================================================
68
+ // We dynamically re-export all properties from pc namespace.
69
+ // This ensures that any class/constant used by user code will be available.
70
+
71
+ // Core classes
72
+ export const {
73
+ // Application
74
+ Application,
75
+ AppBase,
76
+ AppOptions,
77
+
78
+ // Scene
79
+ Scene,
80
+ SceneRegistry,
81
+ SceneParser,
82
+
83
+ // Entity & Component
84
+ Entity,
85
+ Component,
86
+ ComponentSystem,
87
+ ComponentSystemRegistry,
88
+
89
+ // Graphics
90
+ GraphicsDevice,
91
+ WebglGraphicsDevice,
92
+ Texture,
93
+ RenderTarget,
94
+ Shader,
95
+ Material,
96
+ StandardMaterial,
97
+ BasicMaterial,
98
+ LitMaterial,
99
+ ShaderMaterial,
100
+ createGraphicsDevice,
101
+
102
+ // Math
103
+ Vec2,
104
+ Vec3,
105
+ Vec4,
106
+ Mat3,
107
+ Mat4,
108
+ Quat,
109
+ Color,
110
+ Curve,
111
+ CurveSet,
112
+ math,
113
+
114
+ // Events
115
+ EventHandler,
116
+
117
+ // Assets
118
+ Asset,
119
+ AssetRegistry,
120
+ AssetListLoader,
121
+
122
+ // Script
123
+ Script,
124
+ ScriptType,
125
+ ScriptComponent,
126
+ ScriptHandler,
127
+ ScriptRegistry,
128
+ createScript,
129
+ registerScript,
130
+ script,
131
+
132
+ // Camera (standalone class)
133
+ Camera,
134
+
135
+ // Input
136
+ Keyboard,
137
+ Mouse,
138
+ MouseEvent,
139
+ TouchDevice,
140
+ TouchEvent,
141
+ GamePads,
142
+ ElementInput,
143
+
144
+ // Sound
145
+ SoundManager,
146
+ Sound,
147
+ SoundInstance,
148
+ SoundComponent,
149
+ SoundSlot,
150
+
151
+ // Animation
152
+ Animation,
153
+ AnimationComponent,
154
+ AnimComponent,
155
+ AnimTrack,
156
+ AnimClip,
157
+ AnimEvaluator,
158
+ Skeleton,
159
+
160
+ // Physics
161
+ RigidBodyComponent,
162
+ CollisionComponent,
163
+ RaycastResult,
164
+ SingleContactResult,
165
+ ContactPoint,
166
+ ContactResult,
167
+
168
+ // UI Element
169
+ ElementComponent,
170
+
171
+ // Light & Camera Components
172
+ LightComponent,
173
+ CameraComponent,
174
+
175
+ // Model & Render
176
+ ModelComponent,
177
+ RenderComponent,
178
+
179
+ // Particles
180
+ ParticleSystemComponent,
181
+ ParticleEmitter,
182
+
183
+ // BoundingBox & BoundingSphere
184
+ BoundingBox,
185
+ BoundingSphere,
186
+ OrientedBox,
187
+
188
+ // Ray & Plane
189
+ Ray,
190
+ Plane,
191
+ Frustum,
192
+
193
+ // Shape
194
+ Shape,
195
+
196
+ // GraphNode
197
+ GraphNode,
198
+
199
+ // Layers
200
+ Layer,
201
+ LayerComposition,
202
+
203
+ // Mesh
204
+ Mesh,
205
+ MeshInstance,
206
+ Model,
207
+ Morph,
208
+ MorphInstance,
209
+ MorphTarget,
210
+ Skin,
211
+ SkinInstance,
212
+
213
+ // VertexBuffer & IndexBuffer
214
+ VertexBuffer,
215
+ IndexBuffer,
216
+ VertexFormat,
217
+ VertexIterator,
218
+
219
+ // Render
220
+ BatchManager,
221
+ BatchGroup,
222
+
223
+ // Tags
224
+ Tags,
225
+
226
+ // Timer
227
+ Timer,
228
+ now,
229
+
230
+ // Tween
231
+ Tween,
232
+ TweenManager,
233
+
234
+ // XR
235
+ XrManager,
236
+
237
+ // Sprite
238
+ Sprite,
239
+ SpriteComponent,
240
+ TextureAtlas,
241
+
242
+ // Font
243
+ Font,
244
+ CanvasFont,
245
+
246
+ // Picker
247
+ Picker,
248
+
249
+ // Screen
250
+ ScreenComponent,
251
+
252
+ // Button
253
+ ButtonComponent,
254
+
255
+ // Scroll
256
+ ScrollViewComponent,
257
+ ScrollbarComponent,
258
+
259
+ // Layout
260
+ LayoutGroupComponent,
261
+ LayoutChildComponent,
262
+
263
+ // Utility
264
+ platform,
265
+ path,
266
+ http,
267
+ Http,
268
+ log,
269
+ debug,
270
+ guid,
271
+ string,
272
+
273
+ // PostEffect
274
+ PostEffect,
275
+
276
+ // Lightmapper
277
+ Lightmapper,
278
+
279
+ // GSplat
280
+ GSplatData,
281
+ GSplatInstance,
282
+ GSplatResource,
283
+
284
+ // Container/Resource handling
285
+ ContainerHandler,
286
+ ContainerResource,
287
+ JsonHandler,
288
+ SceneHandler,
289
+ ResourceLoader,
290
+
291
+ // Localization
292
+ I18n,
293
+
294
+ // Bundle
295
+ Bundle,
296
+ BundleRegistry,
297
+
298
+ // Channel (audio)
299
+ Channel,
300
+ Channel3d,
301
+
302
+ // World
303
+ WorldClusters,
304
+
305
+ // Mini (compressed textures)
306
+ BasisParser,
307
+
308
+ // Anim State Graph
309
+ AnimStateGraph,
310
+
311
+ // Render passes
312
+ RenderPass,
313
+ RenderPassForward,
314
+
315
+ // Shaders
316
+ ShaderPass,
317
+
318
+ // Programs
319
+ ProgramLibrary,
320
+
321
+ // WASM and initialization functions
322
+ WasmModule,
323
+ basisInitialize,
324
+ dracoInitialize,
325
+
326
+ // Component Systems (needed for AppOptions)
327
+ RigidBodyComponentSystem,
328
+ CollisionComponentSystem,
329
+ JointComponentSystem,
330
+ AnimationComponentSystem,
331
+ AnimComponentSystem,
332
+ ModelComponentSystem,
333
+ RenderComponentSystem,
334
+ CameraComponentSystem,
335
+ LightComponentSystem,
336
+ ScriptComponentSystem,
337
+ SoundComponentSystem,
338
+ AudioListenerComponentSystem,
339
+ ParticleSystemComponentSystem,
340
+ ScreenComponentSystem,
341
+ ElementComponentSystem,
342
+ ButtonComponentSystem,
343
+ ScrollViewComponentSystem,
344
+ ScrollbarComponentSystem,
345
+ SpriteComponentSystem,
346
+ LayoutGroupComponentSystem,
347
+ LayoutChildComponentSystem,
348
+ ZoneComponentSystem,
349
+ GSplatComponentSystem,
350
+
351
+ // Resource Handlers (needed for AppOptions)
352
+ RenderHandler,
353
+ AnimationHandler,
354
+ AnimClipHandler,
355
+ AnimStateGraphHandler,
356
+ ModelHandler,
357
+ MaterialHandler,
358
+ TextureHandler,
359
+ TextHandler,
360
+ AudioHandler,
361
+ CubemapHandler,
362
+ HtmlHandler,
363
+ CssHandler,
364
+ ShaderHandler,
365
+ HierarchyHandler,
366
+ FolderHandler,
367
+ FontHandler,
368
+ BinaryHandler,
369
+ TextureAtlasHandler,
370
+ SpriteHandler,
371
+ TemplateHandler,
372
+ GSplatHandler,
373
+ } = pc;
374
+
375
+ // ============================================================================
376
+ // CONSTANTS - Exported individually
377
+ // ============================================================================
378
+
379
+ // Input events
380
+ export const EVENT_MOUSEDOWN = pc.EVENT_MOUSEDOWN;
381
+ export const EVENT_MOUSEUP = pc.EVENT_MOUSEUP;
382
+ export const EVENT_MOUSEMOVE = pc.EVENT_MOUSEMOVE;
383
+ export const EVENT_MOUSEWHEEL = pc.EVENT_MOUSEWHEEL;
384
+ export const EVENT_TOUCHSTART = pc.EVENT_TOUCHSTART;
385
+ export const EVENT_TOUCHEND = pc.EVENT_TOUCHEND;
386
+ export const EVENT_TOUCHMOVE = pc.EVENT_TOUCHMOVE;
387
+ export const EVENT_TOUCHCANCEL = pc.EVENT_TOUCHCANCEL;
388
+
389
+ // Keyboard constants
390
+ export const KEY_A = pc.KEY_A;
391
+ export const KEY_B = pc.KEY_B;
392
+ export const KEY_C = pc.KEY_C;
393
+ export const KEY_D = pc.KEY_D;
394
+ export const KEY_E = pc.KEY_E;
395
+ export const KEY_F = pc.KEY_F;
396
+ export const KEY_G = pc.KEY_G;
397
+ export const KEY_H = pc.KEY_H;
398
+ export const KEY_I = pc.KEY_I;
399
+ export const KEY_J = pc.KEY_J;
400
+ export const KEY_K = pc.KEY_K;
401
+ export const KEY_L = pc.KEY_L;
402
+ export const KEY_M = pc.KEY_M;
403
+ export const KEY_N = pc.KEY_N;
404
+ export const KEY_O = pc.KEY_O;
405
+ export const KEY_P = pc.KEY_P;
406
+ export const KEY_Q = pc.KEY_Q;
407
+ export const KEY_R = pc.KEY_R;
408
+ export const KEY_S = pc.KEY_S;
409
+ export const KEY_T = pc.KEY_T;
410
+ export const KEY_U = pc.KEY_U;
411
+ export const KEY_V = pc.KEY_V;
412
+ export const KEY_W = pc.KEY_W;
413
+ export const KEY_X = pc.KEY_X;
414
+ export const KEY_Y = pc.KEY_Y;
415
+ export const KEY_Z = pc.KEY_Z;
416
+ export const KEY_0 = pc.KEY_0;
417
+ export const KEY_1 = pc.KEY_1;
418
+ export const KEY_2 = pc.KEY_2;
419
+ export const KEY_3 = pc.KEY_3;
420
+ export const KEY_4 = pc.KEY_4;
421
+ export const KEY_5 = pc.KEY_5;
422
+ export const KEY_6 = pc.KEY_6;
423
+ export const KEY_7 = pc.KEY_7;
424
+ export const KEY_8 = pc.KEY_8;
425
+ export const KEY_9 = pc.KEY_9;
426
+ export const KEY_SPACE = pc.KEY_SPACE;
427
+ export const KEY_ENTER = pc.KEY_ENTER;
428
+ export const KEY_ESCAPE = pc.KEY_ESCAPE;
429
+ export const KEY_SHIFT = pc.KEY_SHIFT;
430
+ export const KEY_CONTROL = pc.KEY_CONTROL;
431
+ export const KEY_ALT = pc.KEY_ALT;
432
+ export const KEY_UP = pc.KEY_UP;
433
+ export const KEY_DOWN = pc.KEY_DOWN;
434
+ export const KEY_LEFT = pc.KEY_LEFT;
435
+ export const KEY_RIGHT = pc.KEY_RIGHT;
436
+ export const KEY_TAB = pc.KEY_TAB;
437
+ export const KEY_CAPS_LOCK = pc.KEY_CAPS_LOCK;
438
+ export const KEY_BACKSPACE = pc.KEY_BACKSPACE;
439
+ export const KEY_DELETE = pc.KEY_DELETE;
440
+ export const KEY_HOME = pc.KEY_HOME;
441
+ export const KEY_END = pc.KEY_END;
442
+ export const KEY_PAGE_UP = pc.KEY_PAGE_UP;
443
+ export const KEY_PAGE_DOWN = pc.KEY_PAGE_DOWN;
444
+ export const KEY_INSERT = pc.KEY_INSERT;
445
+ export const KEY_F1 = pc.KEY_F1;
446
+ export const KEY_F2 = pc.KEY_F2;
447
+ export const KEY_F3 = pc.KEY_F3;
448
+ export const KEY_F4 = pc.KEY_F4;
449
+ export const KEY_F5 = pc.KEY_F5;
450
+ export const KEY_F6 = pc.KEY_F6;
451
+ export const KEY_F7 = pc.KEY_F7;
452
+ export const KEY_F8 = pc.KEY_F8;
453
+ export const KEY_F9 = pc.KEY_F9;
454
+ export const KEY_F10 = pc.KEY_F10;
455
+ export const KEY_F11 = pc.KEY_F11;
456
+ export const KEY_F12 = pc.KEY_F12;
457
+
458
+ // Mouse buttons
459
+ export const MOUSEBUTTON_LEFT = pc.MOUSEBUTTON_LEFT;
460
+ export const MOUSEBUTTON_MIDDLE = pc.MOUSEBUTTON_MIDDLE;
461
+ export const MOUSEBUTTON_RIGHT = pc.MOUSEBUTTON_RIGHT;
462
+ export const MOUSEBUTTON_NONE = pc.MOUSEBUTTON_NONE;
463
+
464
+ // Element types
465
+ export const ELEMENTTYPE_GROUP = pc.ELEMENTTYPE_GROUP;
466
+ export const ELEMENTTYPE_IMAGE = pc.ELEMENTTYPE_IMAGE;
467
+ export const ELEMENTTYPE_TEXT = pc.ELEMENTTYPE_TEXT;
468
+
469
+ // Light types
470
+ export const LIGHTTYPE_DIRECTIONAL = pc.LIGHTTYPE_DIRECTIONAL;
471
+ export const LIGHTTYPE_OMNI = pc.LIGHTTYPE_OMNI;
472
+ export const LIGHTTYPE_SPOT = pc.LIGHTTYPE_SPOT;
473
+
474
+ // Blend modes
475
+ export const BLEND_NORMAL = pc.BLEND_NORMAL;
476
+ export const BLEND_ADDITIVE = pc.BLEND_ADDITIVE;
477
+ export const BLEND_ADDITIVEALPHA = pc.BLEND_ADDITIVEALPHA;
478
+ export const BLEND_MULTIPLICATIVE = pc.BLEND_MULTIPLICATIVE;
479
+ export const BLEND_MULTIPLICATIVE2X = pc.BLEND_MULTIPLICATIVE2X;
480
+ export const BLEND_SCREEN = pc.BLEND_SCREEN;
481
+ export const BLEND_PREMULTIPLIED = pc.BLEND_PREMULTIPLIED;
482
+ export const BLEND_NONE = pc.BLEND_NONE;
483
+ export const BLEND_SUBTRACTIVE = pc.BLEND_SUBTRACTIVE;
484
+ export const BLEND_MIN = pc.BLEND_MIN;
485
+ export const BLEND_MAX = pc.BLEND_MAX;
486
+
487
+ // Fill modes
488
+ export const FILLMODE_NONE = pc.FILLMODE_NONE;
489
+ export const FILLMODE_FILL_WINDOW = pc.FILLMODE_FILL_WINDOW;
490
+ export const FILLMODE_KEEP_ASPECT = pc.FILLMODE_KEEP_ASPECT;
491
+
492
+ // Resolution modes
493
+ export const RESOLUTION_AUTO = pc.RESOLUTION_AUTO;
494
+ export const RESOLUTION_FIXED = pc.RESOLUTION_FIXED;
495
+
496
+ // Asset types constants
497
+ export const ASSET_ANIMATION = pc.ASSET_ANIMATION;
498
+ export const ASSET_AUDIO = pc.ASSET_AUDIO;
499
+ export const ASSET_IMAGE = pc.ASSET_IMAGE;
500
+ export const ASSET_JSON = pc.ASSET_JSON;
501
+ export const ASSET_MODEL = pc.ASSET_MODEL;
502
+ export const ASSET_MATERIAL = pc.ASSET_MATERIAL;
503
+ export const ASSET_TEXT = pc.ASSET_TEXT;
504
+ export const ASSET_TEXTURE = pc.ASSET_TEXTURE;
505
+ export const ASSET_CUBEMAP = pc.ASSET_CUBEMAP;
506
+ export const ASSET_SHADER = pc.ASSET_SHADER;
507
+ export const ASSET_CSS = pc.ASSET_CSS;
508
+ export const ASSET_HTML = pc.ASSET_HTML;
509
+ export const ASSET_SCRIPT = pc.ASSET_SCRIPT;
510
+ export const ASSET_CONTAINER = pc.ASSET_CONTAINER;
511
+
512
+ // Layer IDs
513
+ export const LAYERID_WORLD = pc.LAYERID_WORLD;
514
+ export const LAYERID_DEPTH = pc.LAYERID_DEPTH;
515
+ export const LAYERID_SKYBOX = pc.LAYERID_SKYBOX;
516
+ export const LAYERID_IMMEDIATE = pc.LAYERID_IMMEDIATE;
517
+ export const LAYERID_UI = pc.LAYERID_UI;
518
+
519
+ // Types
520
+ export const TYPE_INT8 = pc.TYPE_INT8;
521
+ export const TYPE_UINT8 = pc.TYPE_UINT8;
522
+ export const TYPE_INT16 = pc.TYPE_INT16;
523
+ export const TYPE_UINT16 = pc.TYPE_UINT16;
524
+ export const TYPE_INT32 = pc.TYPE_INT32;
525
+ export const TYPE_UINT32 = pc.TYPE_UINT32;
526
+ export const TYPE_FLOAT32 = pc.TYPE_FLOAT32;
527
+ export const TYPE_FLOAT64 = pc.TYPE_FLOAT64;
528
+
529
+ // Semantic
530
+ export const SEMANTIC_POSITION = pc.SEMANTIC_POSITION;
531
+ export const SEMANTIC_NORMAL = pc.SEMANTIC_NORMAL;
532
+ export const SEMANTIC_TANGENT = pc.SEMANTIC_TANGENT;
533
+ export const SEMANTIC_BLENDWEIGHT = pc.SEMANTIC_BLENDWEIGHT;
534
+ export const SEMANTIC_BLENDINDICES = pc.SEMANTIC_BLENDINDICES;
535
+ export const SEMANTIC_COLOR = pc.SEMANTIC_COLOR;
536
+ export const SEMANTIC_TEXCOORD = pc.SEMANTIC_TEXCOORD;
537
+ export const SEMANTIC_TEXCOORD0 = pc.SEMANTIC_TEXCOORD0;
538
+ export const SEMANTIC_TEXCOORD1 = pc.SEMANTIC_TEXCOORD1;
539
+ export const SEMANTIC_TEXCOORD2 = pc.SEMANTIC_TEXCOORD2;
540
+ export const SEMANTIC_TEXCOORD3 = pc.SEMANTIC_TEXCOORD3;
541
+ export const SEMANTIC_TEXCOORD4 = pc.SEMANTIC_TEXCOORD4;
542
+ export const SEMANTIC_TEXCOORD5 = pc.SEMANTIC_TEXCOORD5;
543
+ export const SEMANTIC_TEXCOORD6 = pc.SEMANTIC_TEXCOORD6;
544
+ export const SEMANTIC_TEXCOORD7 = pc.SEMANTIC_TEXCOORD7;
545
+ export const SEMANTIC_ATTR = pc.SEMANTIC_ATTR;
546
+ export const SEMANTIC_ATTR0 = pc.SEMANTIC_ATTR0;
547
+ export const SEMANTIC_ATTR1 = pc.SEMANTIC_ATTR1;
548
+ export const SEMANTIC_ATTR2 = pc.SEMANTIC_ATTR2;
549
+ export const SEMANTIC_ATTR3 = pc.SEMANTIC_ATTR3;
550
+ export const SEMANTIC_ATTR4 = pc.SEMANTIC_ATTR4;
551
+ export const SEMANTIC_ATTR5 = pc.SEMANTIC_ATTR5;
552
+ export const SEMANTIC_ATTR6 = pc.SEMANTIC_ATTR6;
553
+ export const SEMANTIC_ATTR7 = pc.SEMANTIC_ATTR7;
554
+ export const SEMANTIC_ATTR8 = pc.SEMANTIC_ATTR8;
555
+ export const SEMANTIC_ATTR9 = pc.SEMANTIC_ATTR9;
556
+ export const SEMANTIC_ATTR10 = pc.SEMANTIC_ATTR10;
557
+ export const SEMANTIC_ATTR11 = pc.SEMANTIC_ATTR11;
558
+ export const SEMANTIC_ATTR12 = pc.SEMANTIC_ATTR12;
559
+ export const SEMANTIC_ATTR13 = pc.SEMANTIC_ATTR13;
560
+ export const SEMANTIC_ATTR14 = pc.SEMANTIC_ATTR14;
561
+ export const SEMANTIC_ATTR15 = pc.SEMANTIC_ATTR15;
562
+
563
+ // Buffer
564
+ export const BUFFER_STATIC = pc.BUFFER_STATIC;
565
+ export const BUFFER_DYNAMIC = pc.BUFFER_DYNAMIC;
566
+ export const BUFFER_STREAM = pc.BUFFER_STREAM;
567
+ export const BUFFER_GPUDYNAMIC = pc.BUFFER_GPUDYNAMIC;
568
+
569
+ // Primitive
570
+ export const PRIMITIVE_POINTS = pc.PRIMITIVE_POINTS;
571
+ export const PRIMITIVE_LINES = pc.PRIMITIVE_LINES;
572
+ export const PRIMITIVE_LINELOOP = pc.PRIMITIVE_LINELOOP;
573
+ export const PRIMITIVE_LINESTRIP = pc.PRIMITIVE_LINESTRIP;
574
+ export const PRIMITIVE_TRIANGLES = pc.PRIMITIVE_TRIANGLES;
575
+ export const PRIMITIVE_TRISTRIP = pc.PRIMITIVE_TRISTRIP;
576
+ export const PRIMITIVE_TRIFAN = pc.PRIMITIVE_TRIFAN;
577
+
578
+ // Index format
579
+ export const INDEXFORMAT_UINT8 = pc.INDEXFORMAT_UINT8;
580
+ export const INDEXFORMAT_UINT16 = pc.INDEXFORMAT_UINT16;
581
+ export const INDEXFORMAT_UINT32 = pc.INDEXFORMAT_UINT32;
582
+
583
+ // Texture address
584
+ export const ADDRESS_REPEAT = pc.ADDRESS_REPEAT;
585
+ export const ADDRESS_CLAMP_TO_EDGE = pc.ADDRESS_CLAMP_TO_EDGE;
586
+ export const ADDRESS_MIRRORED_REPEAT = pc.ADDRESS_MIRRORED_REPEAT;
587
+
588
+ // Texture filter
589
+ export const FILTER_NEAREST = pc.FILTER_NEAREST;
590
+ export const FILTER_LINEAR = pc.FILTER_LINEAR;
591
+ export const FILTER_NEAREST_MIPMAP_NEAREST = pc.FILTER_NEAREST_MIPMAP_NEAREST;
592
+ export const FILTER_NEAREST_MIPMAP_LINEAR = pc.FILTER_NEAREST_MIPMAP_LINEAR;
593
+ export const FILTER_LINEAR_MIPMAP_NEAREST = pc.FILTER_LINEAR_MIPMAP_NEAREST;
594
+ export const FILTER_LINEAR_MIPMAP_LINEAR = pc.FILTER_LINEAR_MIPMAP_LINEAR;
595
+
596
+ // Pixel format
597
+ export const PIXELFORMAT_A8 = pc.PIXELFORMAT_A8;
598
+ export const PIXELFORMAT_L8 = pc.PIXELFORMAT_L8;
599
+ export const PIXELFORMAT_LA8 = pc.PIXELFORMAT_LA8;
600
+ export const PIXELFORMAT_RGB565 = pc.PIXELFORMAT_RGB565;
601
+ export const PIXELFORMAT_RGBA5551 = pc.PIXELFORMAT_RGBA5551;
602
+ export const PIXELFORMAT_RGBA4 = pc.PIXELFORMAT_RGBA4;
603
+ export const PIXELFORMAT_RGB8 = pc.PIXELFORMAT_RGB8;
604
+ export const PIXELFORMAT_RGBA8 = pc.PIXELFORMAT_RGBA8;
605
+ export const PIXELFORMAT_DXT1 = pc.PIXELFORMAT_DXT1;
606
+ export const PIXELFORMAT_DXT3 = pc.PIXELFORMAT_DXT3;
607
+ export const PIXELFORMAT_DXT5 = pc.PIXELFORMAT_DXT5;
608
+ export const PIXELFORMAT_RGB16F = pc.PIXELFORMAT_RGB16F;
609
+ export const PIXELFORMAT_RGBA16F = pc.PIXELFORMAT_RGBA16F;
610
+ export const PIXELFORMAT_RGB32F = pc.PIXELFORMAT_RGB32F;
611
+ export const PIXELFORMAT_RGBA32F = pc.PIXELFORMAT_RGBA32F;
612
+ export const PIXELFORMAT_DEPTH = pc.PIXELFORMAT_DEPTH;
613
+ export const PIXELFORMAT_DEPTHSTENCIL = pc.PIXELFORMAT_DEPTHSTENCIL;
614
+ export const PIXELFORMAT_R32F = pc.PIXELFORMAT_R32F;
615
+ export const PIXELFORMAT_R16F = pc.PIXELFORMAT_R16F;
616
+ export const PIXELFORMAT_R8 = pc.PIXELFORMAT_R8;
617
+ export const PIXELFORMAT_RG8 = pc.PIXELFORMAT_RG8;
618
+ export const PIXELFORMAT_RG16F = pc.PIXELFORMAT_RG16F;
619
+ export const PIXELFORMAT_RG32F = pc.PIXELFORMAT_RG32F;
620
+ export const PIXELFORMAT_SRGB = pc.PIXELFORMAT_SRGB;
621
+ export const PIXELFORMAT_SRGBA = pc.PIXELFORMAT_SRGBA;
622
+
623
+ // Cull face
624
+ export const CULLFACE_NONE = pc.CULLFACE_NONE;
625
+ export const CULLFACE_BACK = pc.CULLFACE_BACK;
626
+ export const CULLFACE_FRONT = pc.CULLFACE_FRONT;
627
+ export const CULLFACE_FRONTANDBACK = pc.CULLFACE_FRONTANDBACK;
628
+
629
+ // Sort mode
630
+ export const SORTMODE_NONE = pc.SORTMODE_NONE;
631
+ export const SORTMODE_MANUAL = pc.SORTMODE_MANUAL;
632
+ export const SORTMODE_MATERIALMESH = pc.SORTMODE_MATERIALMESH;
633
+ export const SORTMODE_BACK2FRONT = pc.SORTMODE_BACK2FRONT;
634
+ export const SORTMODE_FRONT2BACK = pc.SORTMODE_FRONT2BACK;
635
+ export const SORTMODE_CUSTOM = pc.SORTMODE_CUSTOM;
636
+
637
+ // Shadow type
638
+ export const SHADOW_PCF1 = pc.SHADOW_PCF1;
639
+ export const SHADOW_PCF3 = pc.SHADOW_PCF3;
640
+ export const SHADOW_PCF5 = pc.SHADOW_PCF5;
641
+ export const SHADOW_VSM8 = pc.SHADOW_VSM8;
642
+ export const SHADOW_VSM16 = pc.SHADOW_VSM16;
643
+ export const SHADOW_VSM32 = pc.SHADOW_VSM32;
644
+ export const SHADOW_PCSS = pc.SHADOW_PCSS;
645
+
646
+ // Sprite type
647
+ export const SPRITETYPE_SIMPLE = pc.SPRITETYPE_SIMPLE;
648
+ export const SPRITETYPE_ANIMATED = pc.SPRITETYPE_ANIMATED;
649
+
650
+ // Orientation
651
+ export const ORIENTATION_HORIZONTAL = pc.ORIENTATION_HORIZONTAL;
652
+ export const ORIENTATION_VERTICAL = pc.ORIENTATION_VERTICAL;
653
+
654
+ // Fitting
655
+ export const FITTING_NONE = pc.FITTING_NONE;
656
+ export const FITTING_STRETCH = pc.FITTING_STRETCH;
657
+ export const FITTING_SHRINK = pc.FITTING_SHRINK;
658
+ export const FITTING_BOTH = pc.FITTING_BOTH;
659
+
660
+ // Scroll mode
661
+ export const SCROLL_MODE_CLAMP = pc.SCROLL_MODE_CLAMP;
662
+ export const SCROLL_MODE_BOUNCE = pc.SCROLL_MODE_BOUNCE;
663
+ export const SCROLL_MODE_INFINITE = pc.SCROLL_MODE_INFINITE;
664
+
665
+ // Scrollbar visibility
666
+ export const SCROLLBAR_VISIBILITY_SHOW_ALWAYS = pc.SCROLLBAR_VISIBILITY_SHOW_ALWAYS;
667
+ export const SCROLLBAR_VISIBILITY_SHOW_WHEN_REQUIRED = pc.SCROLLBAR_VISIBILITY_SHOW_WHEN_REQUIRED;
668
+
669
+ // Projection
670
+ export const PROJECTION_PERSPECTIVE = pc.PROJECTION_PERSPECTIVE;
671
+ export const PROJECTION_ORTHOGRAPHIC = pc.PROJECTION_ORTHOGRAPHIC;
672
+
673
+ // Render style
674
+ export const RENDERSTYLE_SOLID = pc.RENDERSTYLE_SOLID;
675
+ export const RENDERSTYLE_WIREFRAME = pc.RENDERSTYLE_WIREFRAME;
676
+ export const RENDERSTYLE_POINTS = pc.RENDERSTYLE_POINTS;
677
+
678
+ // Curve type
679
+ export const CURVE_LINEAR = pc.CURVE_LINEAR;
680
+ export const CURVE_SMOOTHSTEP = pc.CURVE_SMOOTHSTEP;
681
+ export const CURVE_SPLINE = pc.CURVE_SPLINE;
682
+ export const CURVE_STEP = pc.CURVE_STEP;
683
+
684
+ // Body type
685
+ export const BODYTYPE_STATIC = pc.BODYTYPE_STATIC;
686
+ export const BODYTYPE_DYNAMIC = pc.BODYTYPE_DYNAMIC;
687
+ export const BODYTYPE_KINEMATIC = pc.BODYTYPE_KINEMATIC;
688
+
689
+ // Body flag
690
+ export const BODYFLAG_STATIC_OBJECT = pc.BODYFLAG_STATIC_OBJECT;
691
+ export const BODYFLAG_KINEMATIC_OBJECT = pc.BODYFLAG_KINEMATIC_OBJECT;
692
+ export const BODYFLAG_NORESPONSE_OBJECT = pc.BODYFLAG_NORESPONSE_OBJECT;
693
+
694
+ // Body state
695
+ export const BODYSTATE_ACTIVE_TAG = pc.BODYSTATE_ACTIVE_TAG;
696
+ export const BODYSTATE_ISLAND_SLEEPING = pc.BODYSTATE_ISLAND_SLEEPING;
697
+ export const BODYSTATE_WANTS_DEACTIVATION = pc.BODYSTATE_WANTS_DEACTIVATION;
698
+ export const BODYSTATE_DISABLE_DEACTIVATION = pc.BODYSTATE_DISABLE_DEACTIVATION;
699
+ export const BODYSTATE_DISABLE_SIMULATION = pc.BODYSTATE_DISABLE_SIMULATION;
700
+
701
+ // Body group
702
+ export const BODYGROUP_NONE = pc.BODYGROUP_NONE;
703
+ export const BODYGROUP_DEFAULT = pc.BODYGROUP_DEFAULT;
704
+ export const BODYGROUP_STATIC = pc.BODYGROUP_STATIC;
705
+ export const BODYGROUP_KINEMATIC = pc.BODYGROUP_KINEMATIC;
706
+ export const BODYGROUP_DYNAMIC = pc.BODYGROUP_DYNAMIC;
707
+ export const BODYGROUP_ENGINE_1 = pc.BODYGROUP_ENGINE_1;
708
+ export const BODYGROUP_ENGINE_2 = pc.BODYGROUP_ENGINE_2;
709
+ export const BODYGROUP_ENGINE_3 = pc.BODYGROUP_ENGINE_3;
710
+ export const BODYGROUP_TRIGGER = pc.BODYGROUP_TRIGGER;
711
+ export const BODYGROUP_USER_1 = pc.BODYGROUP_USER_1;
712
+ export const BODYGROUP_USER_2 = pc.BODYGROUP_USER_2;
713
+ export const BODYGROUP_USER_3 = pc.BODYGROUP_USER_3;
714
+ export const BODYGROUP_USER_4 = pc.BODYGROUP_USER_4;
715
+ export const BODYGROUP_USER_5 = pc.BODYGROUP_USER_5;
716
+ export const BODYGROUP_USER_6 = pc.BODYGROUP_USER_6;
717
+ export const BODYGROUP_USER_7 = pc.BODYGROUP_USER_7;
718
+ export const BODYGROUP_USER_8 = pc.BODYGROUP_USER_8;
719
+
720
+ // Body mask
721
+ export const BODYMASK_NONE = pc.BODYMASK_NONE;
722
+ export const BODYMASK_ALL = pc.BODYMASK_ALL;
723
+ export const BODYMASK_STATIC = pc.BODYMASK_STATIC;
724
+ export const BODYMASK_NOT_STATIC = pc.BODYMASK_NOT_STATIC;
725
+ export const BODYMASK_NOT_STATIC_KINEMATIC = pc.BODYMASK_NOT_STATIC_KINEMATIC;
726
+
727
+ // Distance model
728
+ export const DISTANCE_LINEAR = pc.DISTANCE_LINEAR;
729
+ export const DISTANCE_INVERSE = pc.DISTANCE_INVERSE;
730
+ export const DISTANCE_EXPONENTIAL = pc.DISTANCE_EXPONENTIAL;
731
+
732
+ // Specular
733
+ export const SPECULAR_PHONG = pc.SPECULAR_PHONG;
734
+ export const SPECULAR_BLINN = pc.SPECULAR_BLINN;
735
+
736
+ // Fresnel
737
+ export const FRESNEL_NONE = pc.FRESNEL_NONE;
738
+ export const FRESNEL_SCHLICK = pc.FRESNEL_SCHLICK;
739
+
740
+ // Detail mode
741
+ export const DETAILMODE_MUL = pc.DETAILMODE_MUL;
742
+ export const DETAILMODE_ADD = pc.DETAILMODE_ADD;
743
+ export const DETAILMODE_SCREEN = pc.DETAILMODE_SCREEN;
744
+ export const DETAILMODE_OVERLAY = pc.DETAILMODE_OVERLAY;
745
+ export const DETAILMODE_MIN = pc.DETAILMODE_MIN;
746
+ export const DETAILMODE_MAX = pc.DETAILMODE_MAX;
747
+
748
+ // Shader def
749
+ export const SHADERDEF_NOSHADOW = pc.SHADERDEF_NOSHADOW;
750
+ export const SHADERDEF_SKIN = pc.SHADERDEF_SKIN;
751
+ export const SHADERDEF_UV0 = pc.SHADERDEF_UV0;
752
+ export const SHADERDEF_UV1 = pc.SHADERDEF_UV1;
753
+ export const SHADERDEF_VCOLOR = pc.SHADERDEF_VCOLOR;
754
+ export const SHADERDEF_INSTANCING = pc.SHADERDEF_INSTANCING;
755
+ export const SHADERDEF_LM = pc.SHADERDEF_LM;
756
+ export const SHADERDEF_DIRLM = pc.SHADERDEF_DIRLM;
757
+ export const SHADERDEF_SCREENSPACE = pc.SHADERDEF_SCREENSPACE;
758
+ export const SHADERDEF_TANGENTS = pc.SHADERDEF_TANGENTS;
759
+ export const SHADERDEF_MORPH_POSITION = pc.SHADERDEF_MORPH_POSITION;
760
+ export const SHADERDEF_MORPH_NORMAL = pc.SHADERDEF_MORPH_NORMAL;
761
+ export const SHADERDEF_MORPH_TEXTURE_BASED = pc.SHADERDEF_MORPH_TEXTURE_BASED;
762
+
763
+ // Stencil op
764
+ export const STENCILOP_KEEP = pc.STENCILOP_KEEP;
765
+ export const STENCILOP_ZERO = pc.STENCILOP_ZERO;
766
+ export const STENCILOP_REPLACE = pc.STENCILOP_REPLACE;
767
+ export const STENCILOP_INCREMENT = pc.STENCILOP_INCREMENT;
768
+ export const STENCILOP_INCREMENTWRAP = pc.STENCILOP_INCREMENTWRAP;
769
+ export const STENCILOP_DECREMENT = pc.STENCILOP_DECREMENT;
770
+ export const STENCILOP_DECREMENTWRAP = pc.STENCILOP_DECREMENTWRAP;
771
+ export const STENCILOP_INVERT = pc.STENCILOP_INVERT;
772
+
773
+ // Comparison function
774
+ export const FUNC_NEVER = pc.FUNC_NEVER;
775
+ export const FUNC_LESS = pc.FUNC_LESS;
776
+ export const FUNC_EQUAL = pc.FUNC_EQUAL;
777
+ export const FUNC_LESSEQUAL = pc.FUNC_LESSEQUAL;
778
+ export const FUNC_GREATER = pc.FUNC_GREATER;
779
+ export const FUNC_NOTEQUAL = pc.FUNC_NOTEQUAL;
780
+ export const FUNC_GREATEREQUAL = pc.FUNC_GREATEREQUAL;
781
+ export const FUNC_ALWAYS = pc.FUNC_ALWAYS;
782
+
783
+ // Blend equation
784
+ export const BLENDEQUATION_ADD = pc.BLENDEQUATION_ADD;
785
+ export const BLENDEQUATION_SUBTRACT = pc.BLENDEQUATION_SUBTRACT;
786
+ export const BLENDEQUATION_REVERSE_SUBTRACT = pc.BLENDEQUATION_REVERSE_SUBTRACT;
787
+ export const BLENDEQUATION_MIN = pc.BLENDEQUATION_MIN;
788
+ export const BLENDEQUATION_MAX = pc.BLENDEQUATION_MAX;
789
+
790
+ // Blend mode
791
+ export const BLENDMODE_ZERO = pc.BLENDMODE_ZERO;
792
+ export const BLENDMODE_ONE = pc.BLENDMODE_ONE;
793
+ export const BLENDMODE_SRC_COLOR = pc.BLENDMODE_SRC_COLOR;
794
+ export const BLENDMODE_ONE_MINUS_SRC_COLOR = pc.BLENDMODE_ONE_MINUS_SRC_COLOR;
795
+ export const BLENDMODE_DST_COLOR = pc.BLENDMODE_DST_COLOR;
796
+ export const BLENDMODE_ONE_MINUS_DST_COLOR = pc.BLENDMODE_ONE_MINUS_DST_COLOR;
797
+ export const BLENDMODE_SRC_ALPHA = pc.BLENDMODE_SRC_ALPHA;
798
+ export const BLENDMODE_SRC_ALPHA_SATURATE = pc.BLENDMODE_SRC_ALPHA_SATURATE;
799
+ export const BLENDMODE_ONE_MINUS_SRC_ALPHA = pc.BLENDMODE_ONE_MINUS_SRC_ALPHA;
800
+ export const BLENDMODE_DST_ALPHA = pc.BLENDMODE_DST_ALPHA;
801
+ export const BLENDMODE_ONE_MINUS_DST_ALPHA = pc.BLENDMODE_ONE_MINUS_DST_ALPHA;
802
+ export const BLENDMODE_CONSTANT_COLOR = pc.BLENDMODE_CONSTANT_COLOR;
803
+ export const BLENDMODE_ONE_MINUS_CONSTANT_COLOR = pc.BLENDMODE_ONE_MINUS_CONSTANT_COLOR;
804
+ export const BLENDMODE_CONSTANT_ALPHA = pc.BLENDMODE_CONSTANT_ALPHA;
805
+ export const BLENDMODE_ONE_MINUS_CONSTANT_ALPHA = pc.BLENDMODE_ONE_MINUS_CONSTANT_ALPHA;
806
+
807
+ // Script attributes (string constants)
808
+ export const ATTR_ASSET = 'asset';
809
+ export const ATTR_BOOLEAN = 'boolean';
810
+ export const ATTR_CURVE = 'curve';
811
+ export const ATTR_ENTITY = 'entity';
812
+ export const ATTR_ENUM = 'enum';
813
+ export const ATTR_JSON = 'json';
814
+ export const ATTR_NUMBER = 'number';
815
+ export const ATTR_RGB = 'rgb';
816
+ export const ATTR_RGBA = 'rgba';
817
+ export const ATTR_STRING = 'string';
818
+ export const ATTR_VEC2 = 'vec2';
819
+ export const ATTR_VEC3 = 'vec3';
820
+ export const ATTR_VEC4 = 'vec4';
821
+
822
+ // Version
823
+ export const version = pc.version;
824
+ export const revision = pc.revision;
825
+
826
+ // Export the entire pc object as default
827
+ export default pc;