@guinetik/gcanvas 1.0.1 → 1.0.2

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 (42) hide show
  1. package/demos/coordinates.html +698 -0
  2. package/demos/cube3d.html +23 -0
  3. package/demos/demos.css +17 -3
  4. package/demos/dino.html +42 -0
  5. package/demos/gameobjects.html +626 -0
  6. package/demos/index.html +17 -7
  7. package/demos/js/coordinates.js +840 -0
  8. package/demos/js/cube3d.js +789 -0
  9. package/demos/js/dino.js +1420 -0
  10. package/demos/js/gameobjects.js +176 -0
  11. package/demos/js/plane3d.js +256 -0
  12. package/demos/js/platformer.js +1579 -0
  13. package/demos/js/sphere3d.js +229 -0
  14. package/demos/js/sprite.js +473 -0
  15. package/demos/js/tde/accretiondisk.js +3 -3
  16. package/demos/js/tde/tidalstream.js +2 -2
  17. package/demos/plane3d.html +24 -0
  18. package/demos/platformer.html +43 -0
  19. package/demos/sphere3d.html +24 -0
  20. package/demos/sprite.html +18 -0
  21. package/docs/concepts/coordinate-system.md +384 -0
  22. package/docs/concepts/shapes-vs-gameobjects.md +187 -0
  23. package/docs/fluid-dynamics.md +99 -97
  24. package/package.json +1 -1
  25. package/src/game/game.js +11 -5
  26. package/src/game/objects/index.js +3 -0
  27. package/src/game/objects/platformer-scene.js +411 -0
  28. package/src/game/objects/scene.js +14 -0
  29. package/src/game/objects/sprite.js +529 -0
  30. package/src/game/pipeline.js +20 -16
  31. package/src/game/ui/theme.js +123 -121
  32. package/src/io/input.js +75 -45
  33. package/src/io/mouse.js +44 -19
  34. package/src/io/touch.js +35 -12
  35. package/src/shapes/cube3d.js +599 -0
  36. package/src/shapes/index.js +2 -0
  37. package/src/shapes/plane3d.js +687 -0
  38. package/src/shapes/sphere3d.js +75 -6
  39. package/src/util/camera2d.js +315 -0
  40. package/src/util/index.js +1 -0
  41. package/src/webgl/shaders/plane-shaders.js +332 -0
  42. package/src/webgl/shaders/sphere-shaders.js +4 -2
package/demos/index.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
-
6
+
7
7
  <!-- Primary Meta Tags -->
8
8
  <title>GCanvas Demos - Interactive Examples & Documentation</title>
9
9
  <meta name="title" content="GCanvas Demos - Interactive Examples & Documentation">
@@ -12,7 +12,7 @@
12
12
  <meta name="author" content="GCanvas">
13
13
  <meta name="robots" content="index, follow">
14
14
  <link rel="canonical" href="https://gcanvas.guinetik.com/">
15
-
15
+
16
16
  <!-- Open Graph / Facebook -->
17
17
  <meta property="og:type" content="website">
18
18
  <meta property="og:url" content="https://gcanvas.guinetik.com/">
@@ -24,7 +24,7 @@
24
24
  <meta property="og:image:alt" content="GCanvas interactive demos and examples">
25
25
  <meta property="og:site_name" content="GCanvas">
26
26
  <meta property="og:locale" content="en_US">
27
-
27
+
28
28
  <!-- Twitter -->
29
29
  <meta name="twitter:card" content="summary_large_image">
30
30
  <meta name="twitter:url" content="https://gcanvas.guinetik.com/">
@@ -33,12 +33,12 @@
33
33
  <meta name="twitter:image" content="https://gcanvas.guinetik.com/og_image.png">
34
34
  <meta name="twitter:image:alt" content="GCanvas interactive demos and examples">
35
35
  <meta name="twitter:creator" content="@guinetik">
36
-
36
+
37
37
  <!-- Favicon -->
38
38
  <link rel="icon" type="image/svg+xml" href="./logo.svg">
39
39
  <link rel="apple-touch-icon" href="./logo.svg">
40
40
  <meta name="theme-color" content="#000000">
41
-
41
+
42
42
  <!-- Structured Data (JSON-LD) -->
43
43
  <script type="application/ld+json">
44
44
  {
@@ -59,7 +59,7 @@
59
59
  }
60
60
  }
61
61
  </script>
62
-
62
+
63
63
  <link rel="stylesheet" href="demos.css" />
64
64
 
65
65
  <!-- Google Analytics -->
@@ -135,7 +135,7 @@
135
135
  title="View on GitHub"
136
136
  style="
137
137
  display: inline-block;
138
- background: white;
138
+ background: #1F1F1F;
139
139
  border-radius: 50%;
140
140
  width: 36px;
141
141
  height: 36px;
@@ -171,6 +171,8 @@
171
171
  <hr />
172
172
  <h2 style="margin-bottom: 0.3em">Docs</h2>
173
173
  <a href="pipeline.html" target="demo-frame">Rendering Pipeline</a>
174
+ <a href="gameobjects.html" target="demo-frame">Game Objects</a>
175
+ <a href="coordinates.html" target="demo-frame">Coordinate System</a>
174
176
  <a href="fluent.html" target="demo-frame">Fluent API</a>
175
177
  <hr />
176
178
  <h2>Demos</h2>
@@ -201,6 +203,7 @@
201
203
  <a href="animations.html" target="demo-frame">Animations</a>
202
204
  <a href="easing.html" target="demo-frame">Easing</a>
203
205
  <a href="tween.html" target="demo-frame">Tween</a>
206
+ <a href="sprite.html" target="demo-frame">Sprite Timeline</a>
204
207
  <a href="particles-showcase.html" target="demo-frame"
205
208
  >Particle System</a
206
209
  >
@@ -211,6 +214,11 @@
211
214
  <a href="isometric.html" target="demo-frame">Isometric</a>
212
215
  <a href="scenes.html" target="demo-frame">Scene Transforms</a>
213
216
  <hr />
217
+ <h2 style="margin-bottom: 0.3em">3D</h2>
218
+ <a href="sphere3d.html" target="demo-frame">Sphere3D Showcase</a>
219
+ <a href="plane3d.html" target="demo-frame">Plane3D Showcase</a>
220
+ <a href="cube3d.html" target="demo-frame">Rubik's Cube</a>
221
+ <hr />
214
222
  <h2 style="margin-bottom: 0.3em">Generative Art</h2>
215
223
  <a href="genart.html" target="demo-frame">Hypnotic Mandala</a>
216
224
  <a href="mondrian.html" target="demo-frame">Mondrian</a>
@@ -233,6 +241,8 @@
233
241
  <h2 style="margin-bottom: 0.3em">Games</h2>
234
242
  <a href="blob.html" target="demo-frame">Bezier Blob</a>
235
243
  <a href="space.html" target="demo-frame">Space Invaders</a>
244
+ <a href="dino.html" target="demo-frame">Dino Run</a>
245
+ <a href="platformer.html" target="demo-frame">Tron Platformer</a>
236
246
  <a href="penrose-game.html" target="demo-frame"
237
247
  >Penrose Spacetime</a
238
248
  >