create-playcanvas 0.3.0 → 0.5.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 (114) hide show
  1. package/README.md +42 -25
  2. package/dist/index.mjs +49 -46
  3. package/package.json +3 -1
  4. package/skills/add-effects/SKILL.md +81 -0
  5. package/skills/apply-conventions/SKILL.md +73 -0
  6. package/skills/assemble-scene/SKILL.md +53 -0
  7. package/skills/assemble-scene/references/direct-engine.md +16 -0
  8. package/skills/assemble-scene/references/react.md +24 -0
  9. package/skills/assemble-scene/references/web-components.md +19 -0
  10. package/skills/build-app/SKILL.md +41 -0
  11. package/skills/build-app/references/direct-engine.md +12 -0
  12. package/skills/build-app/references/react.md +20 -0
  13. package/skills/build-app/references/web-components.md +55 -0
  14. package/skills/build-hud/SKILL.md +36 -0
  15. package/skills/calibrate-model/SKILL.md +65 -0
  16. package/skills/calibrate-model/references/direct-engine.md +22 -0
  17. package/skills/calibrate-model/references/react.md +27 -0
  18. package/skills/calibrate-model/references/web-components.md +19 -0
  19. package/skills/configure-animation/SKILL.md +50 -0
  20. package/skills/configure-animation/references/direct-engine.md +32 -0
  21. package/skills/configure-animation/references/react.md +32 -0
  22. package/skills/configure-animation/references/web-components.md +13 -0
  23. package/skills/find-examples/SKILL.md +79 -0
  24. package/skills/find-examples/references/direct-engine.md +15 -0
  25. package/skills/find-examples/references/react.md +17 -0
  26. package/skills/find-examples/references/web-components.md +17 -0
  27. package/skills/inspect-glb/SKILL.md +72 -0
  28. package/skills/inspect-glb/scripts/inspect.mjs +239 -0
  29. package/skills/light-scene/SKILL.md +84 -0
  30. package/skills/manage-game-state/SKILL.md +48 -0
  31. package/skills/reuse-scripts/SKILL.md +59 -0
  32. package/skills/reuse-scripts/references/direct-engine.md +41 -0
  33. package/skills/reuse-scripts/references/react.md +28 -0
  34. package/skills/reuse-scripts/references/web-components.md +27 -0
  35. package/templates/_shared/model-viewer/public/playcanvas-cube.glb +0 -0
  36. package/templates/engine/base/.prettierignore +2 -0
  37. package/templates/{vanilla-ts → engine/base}/README.md +7 -19
  38. package/templates/engine/base/eslint.config.mjs +3 -0
  39. package/templates/{vanilla-ts → engine/base}/src/vite-env.d.ts +6 -0
  40. package/templates/{vanilla-ts → engine/interactive-sphere}/src/main.ts +1 -1
  41. package/templates/{vanilla-ts → engine/interactive-sphere}/src/style.css +1 -1
  42. package/templates/{vanilla-ts → engine/interactive-sphere}/src/utils.ts +0 -1
  43. package/templates/engine/model-viewer/index.html +13 -0
  44. package/templates/engine/model-viewer/src/main.ts +81 -0
  45. package/templates/engine/model-viewer/src/style.css +8 -0
  46. package/templates/engine/spinning-cube/index.html +13 -0
  47. package/templates/engine/spinning-cube/src/main.ts +65 -0
  48. package/templates/engine/spinning-cube/src/style.css +8 -0
  49. package/templates/engine/splat-viewer/index.html +13 -0
  50. package/templates/engine/splat-viewer/src/main.ts +74 -0
  51. package/templates/engine/splat-viewer/src/style.css +8 -0
  52. package/templates/index.ts +37 -5
  53. package/templates/react/base/.prettierignore +2 -0
  54. package/templates/{react-ts → react/base}/README.md +6 -19
  55. package/templates/{react-ts → react/base}/eslint.config.mjs +1 -0
  56. package/templates/{react-ts → react/base}/src/vite-env.d.ts +6 -0
  57. package/templates/{react-ts → react/interactive-sphere}/src/Scene.tsx +1 -2
  58. package/templates/react/model-viewer/index.html +13 -0
  59. package/templates/react/model-viewer/src/App.tsx +43 -0
  60. package/templates/react/model-viewer/src/index.css +9 -0
  61. package/templates/react/model-viewer/src/main.tsx +11 -0
  62. package/templates/react/spinning-cube/index.html +13 -0
  63. package/templates/react/spinning-cube/src/App.tsx +36 -0
  64. package/templates/react/spinning-cube/src/index.css +9 -0
  65. package/templates/react/spinning-cube/src/main.tsx +11 -0
  66. package/templates/react/splat-viewer/index.html +13 -0
  67. package/templates/react/splat-viewer/src/App.tsx +39 -0
  68. package/templates/react/splat-viewer/src/index.css +9 -0
  69. package/templates/react/splat-viewer/src/main.tsx +11 -0
  70. package/templates/web-components/base/.prettierignore +2 -0
  71. package/templates/web-components/base/README.md +70 -0
  72. package/templates/web-components/base/_gitignore +24 -0
  73. package/templates/web-components/base/eslint.config.mjs +3 -0
  74. package/templates/web-components/base/package.json +31 -0
  75. package/templates/web-components/base/prettier.config.mjs +1 -0
  76. package/templates/web-components/base/src/assets/playcanvas.png +0 -0
  77. package/templates/web-components/base/src/vite-env.d.ts +19 -0
  78. package/templates/web-components/base/tsconfig.json +25 -0
  79. package/templates/web-components/interactive-sphere/index.html +53 -0
  80. package/templates/web-components/interactive-sphere/src/assets/typescript.svg +1 -0
  81. package/templates/web-components/interactive-sphere/src/main.ts +76 -0
  82. package/templates/web-components/interactive-sphere/src/style.css +111 -0
  83. package/templates/web-components/model-viewer/index.html +34 -0
  84. package/templates/web-components/model-viewer/src/main.ts +26 -0
  85. package/templates/web-components/model-viewer/src/style.css +8 -0
  86. package/templates/web-components/spinning-cube/index.html +29 -0
  87. package/templates/web-components/spinning-cube/src/main.ts +20 -0
  88. package/templates/web-components/spinning-cube/src/style.css +8 -0
  89. package/templates/web-components/splat-viewer/index.html +31 -0
  90. package/templates/web-components/splat-viewer/src/main.ts +14 -0
  91. package/templates/web-components/splat-viewer/src/style.css +8 -0
  92. package/templates/vanilla-ts/eslint.config.mjs +0 -3
  93. package/templates/vanilla-ts/public/environment-map.png +0 -0
  94. /package/templates/{react-ts → _shared/interactive-sphere}/public/environment-map.png +0 -0
  95. /package/templates/{react-ts → engine/base}/_gitignore +0 -0
  96. /package/templates/{vanilla-ts → engine/base}/package.json +0 -0
  97. /package/templates/{react-ts → engine/base}/prettier.config.mjs +0 -0
  98. /package/templates/{react-ts → engine/base}/src/assets/playcanvas.png +0 -0
  99. /package/templates/{vanilla-ts → engine/base}/tsconfig.json +0 -0
  100. /package/templates/{vanilla-ts → engine/interactive-sphere}/index.html +0 -0
  101. /package/templates/{vanilla-ts → engine/interactive-sphere}/src/App.ts +0 -0
  102. /package/templates/{vanilla-ts → engine/interactive-sphere}/src/assets/typescript.svg +0 -0
  103. /package/templates/{vanilla-ts → react/base}/_gitignore +0 -0
  104. /package/templates/{react-ts → react/base}/package.json +0 -0
  105. /package/templates/{vanilla-ts → react/base}/prettier.config.mjs +0 -0
  106. /package/templates/{vanilla-ts → react/base}/src/assets/playcanvas.png +0 -0
  107. /package/templates/{react-ts → react/base}/tsconfig.json +0 -0
  108. /package/templates/{react-ts → react/base}/vite.config.ts +0 -0
  109. /package/templates/{react-ts → react/interactive-sphere}/index.html +0 -0
  110. /package/templates/{react-ts → react/interactive-sphere}/src/App.css +0 -0
  111. /package/templates/{react-ts → react/interactive-sphere}/src/App.tsx +0 -0
  112. /package/templates/{react-ts → react/interactive-sphere}/src/assets/react.svg +0 -0
  113. /package/templates/{react-ts → react/interactive-sphere}/src/index.css +0 -0
  114. /package/templates/{react-ts → react/interactive-sphere}/src/main.tsx +0 -0
@@ -0,0 +1,31 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/png" href="/src/assets/playcanvas.png" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>PlayCanvas + Web Components</title>
8
+ </head>
9
+ <body>
10
+ <!-- Antialiasing is disabled - splat rendering is fragment bound, so MSAA costs a lot and adds little -->
11
+ <pc-app antialias="false" high-resolution="false">
12
+ <!-- Hosted so the template stays small. Capture or edit your own splat at
13
+ https://superspl.at, then drop the .sog or .ply in public/ and point this at it instead -->
14
+ <pc-asset id="splat" src="https://developer.playcanvas.com/assets/toy-cat.sog"></pc-asset>
15
+
16
+ <pc-scene>
17
+ <!-- Camera. Orbit controls are attached in src/main.ts -->
18
+ <pc-entity name="camera" position="0 0 2.5">
19
+ <pc-camera></pc-camera>
20
+ </pc-entity>
21
+
22
+ <!-- Splats are captured in their own space, so this one needs offsetting and flipping upright -->
23
+ <pc-entity name="toy cat" position="0 -0.7 0" rotation="0 0 180">
24
+ <pc-gsplat asset="splat"></pc-gsplat>
25
+ </pc-entity>
26
+ </pc-scene>
27
+ </pc-app>
28
+
29
+ <script type="module" src="/src/main.ts"></script>
30
+ </body>
31
+ </html>
@@ -0,0 +1,14 @@
1
+ import { whenReady } from '@playcanvas/web-components';
2
+ import { CameraControls } from 'playcanvas/scripts/esm/camera-controls.mjs';
3
+
4
+ import './style.css';
5
+
6
+ // The camera is awaited as <pc-camera> rather than the <pc-entity> holding it - an entity becomes
7
+ // ready before its component children do, and CameraControls needs the camera component to exist
8
+ const cameraComponent = await whenReady('pc-camera');
9
+
10
+ // Engine scripts are resolved by the bundler, so they are attached through the entity rather than
11
+ // with <pc-script name="...">, which only resolves scripts fetched at runtime by <pc-asset>
12
+ const camera = cameraComponent.closestEntity;
13
+ camera?.entity?.addComponent('script');
14
+ camera?.entity?.script?.create(CameraControls);
@@ -0,0 +1,8 @@
1
+ body {
2
+ margin: 0;
3
+ overflow: hidden;
4
+ }
5
+
6
+ pc-app {
7
+ display: block;
8
+ }
@@ -1,3 +0,0 @@
1
- import typescriptConfig from '@playcanvas/eslint-config/typescript';
2
-
3
- export default typescriptConfig;
File without changes
File without changes
File without changes