@aethervtt/shard-terrain 0.0.1 → 0.2.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 (76) hide show
  1. package/dist/biomes.d.ts +1 -0
  2. package/dist/biomes.js +3 -0
  3. package/dist/chunk.d.ts +0 -44
  4. package/dist/chunk.js +2 -127
  5. package/dist/colliders.d.ts +16 -1
  6. package/dist/colliders.js +39 -24
  7. package/dist/components.d.ts +5 -0
  8. package/dist/components.js +7 -2
  9. package/dist/cube-sphere.d.ts +50 -0
  10. package/dist/cube-sphere.js +224 -0
  11. package/dist/grid-mesh.d.ts +49 -0
  12. package/dist/grid-mesh.js +208 -0
  13. package/dist/heightfield/bake.d.ts +120 -0
  14. package/dist/heightfield/bake.js +494 -0
  15. package/dist/heightfield/colliders.d.ts +39 -0
  16. package/dist/heightfield/colliders.js +152 -0
  17. package/dist/heightfield/component.d.ts +14 -0
  18. package/dist/heightfield/component.js +59 -0
  19. package/dist/heightfield/deflate.d.ts +11 -0
  20. package/dist/heightfield/deflate.js +484 -0
  21. package/dist/heightfield/heightmap.d.ts +27 -0
  22. package/dist/heightfield/heightmap.js +160 -0
  23. package/dist/heightfield/kernel.d.ts +277 -0
  24. package/dist/heightfield/kernel.js +1033 -0
  25. package/dist/heightfield/material.d.ts +13 -0
  26. package/dist/heightfield/material.js +394 -0
  27. package/dist/heightfield/methods.d.ts +104 -0
  28. package/dist/heightfield/methods.js +218 -0
  29. package/dist/heightfield/pack.d.ts +59 -0
  30. package/dist/heightfield/pack.js +127 -0
  31. package/dist/heightfield/pages.d.ts +91 -0
  32. package/dist/heightfield/pages.js +244 -0
  33. package/dist/heightfield/project.d.ts +40 -0
  34. package/dist/heightfield/project.js +55 -0
  35. package/dist/heightfield/queries.d.ts +48 -0
  36. package/dist/heightfield/queries.js +150 -0
  37. package/dist/heightfield/render.d.ts +108 -0
  38. package/dist/heightfield/render.js +727 -0
  39. package/dist/heightfield/root-grid.d.ts +38 -0
  40. package/dist/heightfield/root-grid.js +109 -0
  41. package/dist/heightfield/runtime.d.ts +105 -0
  42. package/dist/heightfield/runtime.js +312 -0
  43. package/dist/heightfield/source-asset.d.ts +39 -0
  44. package/dist/heightfield/source-asset.js +372 -0
  45. package/dist/heightfield/source.d.ts +151 -0
  46. package/dist/heightfield/source.js +402 -0
  47. package/dist/heightfield/stack.d.ts +29 -0
  48. package/dist/heightfield/stack.js +158 -0
  49. package/dist/heightfield/system.d.ts +22 -0
  50. package/dist/heightfield/system.js +165 -0
  51. package/dist/heightfield/testing.d.ts +317 -0
  52. package/dist/heightfield/testing.js +441 -0
  53. package/dist/heightfield/worker.js +47 -0
  54. package/dist/heights.d.ts +8 -3
  55. package/dist/heights.js +8 -4
  56. package/dist/index.d.ts +24 -7
  57. package/dist/index.js +158 -8
  58. package/dist/lod.d.ts +27 -0
  59. package/dist/lod.js +23 -1
  60. package/dist/material.js +2 -1
  61. package/dist/methods.js +64 -16
  62. package/dist/overlays.d.ts +2 -0
  63. package/dist/overlays.js +48 -6
  64. package/dist/planet.d.ts +2 -7
  65. package/dist/planet.js +8 -18
  66. package/dist/plugin.d.ts +10 -3
  67. package/dist/plugin.js +48 -8
  68. package/dist/quadtree.d.ts +61 -39
  69. package/dist/quadtree.js +44 -208
  70. package/dist/render.d.ts +7 -1
  71. package/dist/render.js +18 -8
  72. package/dist/test-planet.d.ts +39 -0
  73. package/dist/test-planet.js +41 -5
  74. package/dist/testing.d.ts +2 -0
  75. package/dist/testing.js +43 -3
  76. package/package.json +16 -16
package/dist/testing.js CHANGED
@@ -19,7 +19,7 @@ import {
19
19
  } from "@aethervtt/shard-transform";
20
20
  import { collidersOf } from "./colliders.js";
21
21
  import { Planet } from "./components.js";
22
- import { planetHeightAt, Terrain } from "./heights.js";
22
+ import { planetHeightAt, TerrainWorld } from "./heights.js";
23
23
  import { terrainPlugin } from "./plugin.js";
24
24
  const WALK_PLANET = {
25
25
  output: "h",
@@ -33,7 +33,7 @@ async function walkChecksum(characters = 4, seconds = 3) {
33
33
  const t0 = performance.now();
34
34
  await loadNoiseKernel();
35
35
  const graph = NoiseGraph.fromJson(WALK_PLANET);
36
- const app = new App().addPlugin(TransformPlugin, physics3dPlugin, terrainPlugin());
36
+ const app = new App().addPlugin(TransformPlugin, physics3dPlugin(), terrainPlugin());
37
37
  await app.init();
38
38
  const w = app.world;
39
39
  const R = 6371e3;
@@ -79,7 +79,7 @@ async function walkChecksum(characters = 4, seconds = 3) {
79
79
  f64.set(p, k * 3);
80
80
  w.despawn(c);
81
81
  }
82
- const colliders = collidersOf(w.resource(Terrain).planets.get(planet)).chunks.size;
82
+ const colliders = collidersOf(w.resource(TerrainWorld).planets.get(planet)).chunks.size;
83
83
  new DataView(bytes.buffer).setUint32(characters * 24, colliders, true);
84
84
  let hash = 2166136261;
85
85
  for (let i = 0; i < bytes.length; i++) hash = Math.imul(hash ^ bytes[i], 16777619);
@@ -90,7 +90,47 @@ async function walkChecksum(characters = 4, seconds = 3) {
90
90
  ms: performance.now() - t0
91
91
  };
92
92
  }
93
+ import {
94
+ capture,
95
+ heightfieldApp,
96
+ heightfieldWalk,
97
+ holes,
98
+ lookAt,
99
+ settleHeightfield,
100
+ sourceAsset,
101
+ untilStreaming,
102
+ VALLEY_HILLS,
103
+ valleySource
104
+ } from "./heightfield/testing.js";
105
+ import {
106
+ capture as capture2,
107
+ EARTH_HEIGHT,
108
+ earthDescent,
109
+ holes as holes2,
110
+ placeCamera,
111
+ planetApp,
112
+ settleTerrain,
113
+ sunOver
114
+ } from "./test-planet.js";
93
115
  export {
116
+ EARTH_HEIGHT,
117
+ VALLEY_HILLS,
94
118
  WALK_PLANET,
119
+ capture2 as capture,
120
+ capture as captureHeightfield,
121
+ earthDescent,
122
+ heightfieldApp,
123
+ holes as heightfieldHoles,
124
+ heightfieldWalk,
125
+ holes2 as holes,
126
+ lookAt as lookAtTerrain,
127
+ placeCamera,
128
+ planetApp,
129
+ settleHeightfield,
130
+ settleTerrain,
131
+ sourceAsset,
132
+ sunOver,
133
+ untilStreaming,
134
+ valleySource,
95
135
  walkChecksum
96
136
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aethervtt/shard-terrain",
3
- "version": "0.0.1",
3
+ "version": "0.2.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -20,20 +20,20 @@
20
20
  "README.md"
21
21
  ],
22
22
  "dependencies": {
23
- "@aethervtt/shard-assets": "0.0.1",
24
- "@aethervtt/shard-core": "0.0.1",
25
- "@aethervtt/shard-gpu": "0.0.1",
26
- "@aethervtt/shard-mesh": "0.0.1",
27
- "@aethervtt/shard-nav": "0.0.1",
28
- "@aethervtt/shard-noise": "0.0.1",
29
- "@aethervtt/shard-physics": "0.0.1",
30
- "@aethervtt/shard-platform": "0.0.1",
31
- "@aethervtt/shard-protocol": "0.0.1",
32
- "@aethervtt/shard-render": "0.0.1",
33
- "@aethervtt/shard-runtime": "0.0.1",
34
- "@aethervtt/shard-shader": "0.0.1",
35
- "@aethervtt/shard-texture": "0.0.1",
36
- "@aethervtt/shard-transform": "0.0.1"
23
+ "@aethervtt/shard-assets": "0.2.0",
24
+ "@aethervtt/shard-core": "0.2.0",
25
+ "@aethervtt/shard-gpu": "0.2.0",
26
+ "@aethervtt/shard-mesh": "0.2.0",
27
+ "@aethervtt/shard-nav": "0.2.0",
28
+ "@aethervtt/shard-noise": "0.2.0",
29
+ "@aethervtt/shard-physics": "0.2.0",
30
+ "@aethervtt/shard-platform": "0.2.0",
31
+ "@aethervtt/shard-protocol": "0.2.0",
32
+ "@aethervtt/shard-render": "0.2.0",
33
+ "@aethervtt/shard-runtime": "0.2.0",
34
+ "@aethervtt/shard-shader": "0.2.0",
35
+ "@aethervtt/shard-texture": "0.2.0",
36
+ "@aethervtt/shard-transform": "0.2.0"
37
37
  },
38
38
  "repository": {
39
39
  "type": "git",
@@ -45,6 +45,6 @@
45
45
  "provenance": true
46
46
  },
47
47
  "shard": {
48
- "buildSha": "d6c5c6aef4675575c878b02cf2c8f738b4190229"
48
+ "buildSha": "32c22a3944ed23f5d1baa90bf7cc9fae724f5fd8"
49
49
  }
50
50
  }