@certe/atmos-terrain 0.1.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.
- package/LICENCE +674 -0
- package/README.md +155 -0
- package/dist/chunk-key.d.ts +10 -0
- package/dist/chunk-key.d.ts.map +1 -0
- package/dist/chunk-key.js +27 -0
- package/dist/chunk-key.js.map +1 -0
- package/dist/chunk.d.ts +36 -0
- package/dist/chunk.d.ts.map +1 -0
- package/dist/chunk.js +128 -0
- package/dist/chunk.js.map +1 -0
- package/dist/density-field.d.ts +34 -0
- package/dist/density-field.d.ts.map +1 -0
- package/dist/density-field.js +68 -0
- package/dist/density-field.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/lod-chunk.d.ts +20 -0
- package/dist/lod-chunk.d.ts.map +1 -0
- package/dist/lod-chunk.js +256 -0
- package/dist/lod-chunk.js.map +1 -0
- package/dist/lod-extract.d.ts +21 -0
- package/dist/lod-extract.d.ts.map +1 -0
- package/dist/lod-extract.js +178 -0
- package/dist/lod-extract.js.map +1 -0
- package/dist/marching-cubes-tables.d.ts +28 -0
- package/dist/marching-cubes-tables.d.ts.map +1 -0
- package/dist/marching-cubes-tables.js +344 -0
- package/dist/marching-cubes-tables.js.map +1 -0
- package/dist/marching-cubes.d.ts +17 -0
- package/dist/marching-cubes.d.ts.map +1 -0
- package/dist/marching-cubes.js +200 -0
- package/dist/marching-cubes.js.map +1 -0
- package/dist/register-builtins.d.ts +2 -0
- package/dist/register-builtins.d.ts.map +1 -0
- package/dist/register-builtins.js +34 -0
- package/dist/register-builtins.js.map +1 -0
- package/dist/terrain-editor.d.ts +15 -0
- package/dist/terrain-editor.d.ts.map +1 -0
- package/dist/terrain-editor.js +85 -0
- package/dist/terrain-editor.js.map +1 -0
- package/dist/terrain-normals.d.ts +13 -0
- package/dist/terrain-normals.d.ts.map +1 -0
- package/dist/terrain-normals.js +96 -0
- package/dist/terrain-normals.js.map +1 -0
- package/dist/terrain-volume.d.ts +42 -0
- package/dist/terrain-volume.d.ts.map +1 -0
- package/dist/terrain-volume.js +146 -0
- package/dist/terrain-volume.js.map +1 -0
- package/dist/terrain-world.d.ts +67 -0
- package/dist/terrain-world.d.ts.map +1 -0
- package/dist/terrain-world.js +344 -0
- package/dist/terrain-world.js.map +1 -0
- package/dist/types.d.ts +65 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +23 -0
- package/dist/types.js.map +1 -0
- package/package.json +29 -0
- package/src/index.ts +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;AAEtF,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErG,sFAAsF;AACtF,MAAM,MAAM,aAAa,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAEnF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,aAAa,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAMpC,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,0BAAkB,UAAU;IAC1B,MAAM,IAAI;IACV,IAAI,IAAI;CACT;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,sCAAsC;IACtC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0BAAkB,UAAU;IAC1B,KAAK,IAAI;IACT,OAAO,IAAI;IACX,MAAM,IAAI;IACV,KAAK,IAAI;CACV;AAED,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,kBAAkB,EAAE,SAEhC,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const DEFAULT_TERRAIN_CONFIG = {
|
|
2
|
+
chunkSize: 16,
|
|
3
|
+
voxelSize: 1,
|
|
4
|
+
isoLevel: 0,
|
|
5
|
+
smoothNormals: true,
|
|
6
|
+
normalEpsilon: 0.5,
|
|
7
|
+
};
|
|
8
|
+
export var BrushShape;
|
|
9
|
+
(function (BrushShape) {
|
|
10
|
+
BrushShape[BrushShape["Sphere"] = 0] = "Sphere";
|
|
11
|
+
BrushShape[BrushShape["Cube"] = 1] = "Cube";
|
|
12
|
+
})(BrushShape || (BrushShape = {}));
|
|
13
|
+
export var ChunkState;
|
|
14
|
+
(function (ChunkState) {
|
|
15
|
+
ChunkState[ChunkState["Empty"] = 0] = "Empty";
|
|
16
|
+
ChunkState[ChunkState["Sampled"] = 1] = "Sampled";
|
|
17
|
+
ChunkState[ChunkState["Meshed"] = 2] = "Meshed";
|
|
18
|
+
ChunkState[ChunkState["Dirty"] = 3] = "Dirty";
|
|
19
|
+
})(ChunkState || (ChunkState = {}));
|
|
20
|
+
export const DEFAULT_LOD_CONFIG = {
|
|
21
|
+
lodDistances: [3, 6],
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,GAAG;CACnB,CAAC;AASF,MAAM,CAAN,IAAkB,UAGjB;AAHD,WAAkB,UAAU;IAC1B,+CAAU,CAAA;IACV,2CAAQ,CAAA;AACV,CAAC,EAHiB,UAAU,KAAV,UAAU,QAG3B;AAgBD,MAAM,CAAN,IAAkB,UAKjB;AALD,WAAkB,UAAU;IAC1B,6CAAS,CAAA;IACT,iDAAW,CAAA;IACX,+CAAU,CAAA;IACV,6CAAS,CAAA;AACX,CAAC,EALiB,UAAU,KAAV,UAAU,QAK3B;AAOD,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CACrB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@certe/atmos-terrain",
|
|
3
|
+
"description": "Voxel terrain with marching cubes and LOD streaming for the Atmos Engine",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/certesolutions-cyber/atmos.git",
|
|
8
|
+
"directory": "packages/terrain"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/certesolutions-cyber/atmos",
|
|
11
|
+
"license": "GPL-3.0-or-later",
|
|
12
|
+
"keywords": ["terrain", "voxel", "marching-cubes", "game-engine", "lod", "atmos"],
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "src/index.ts",
|
|
15
|
+
"types": "src/index.ts",
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"main": "dist/index.js",
|
|
18
|
+
"types": "dist/index.d.ts"
|
|
19
|
+
},
|
|
20
|
+
"files": ["dist", "!dist/__tests__", "package.json", "README.md", "LICENCE"],
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@certe/atmos-core": "^0.1.0",
|
|
23
|
+
"@certe/atmos-math": "^0.1.0",
|
|
24
|
+
"@certe/atmos-renderer": "^0.1.0"
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"test": "vitest run"
|
|
28
|
+
}
|
|
29
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Types
|
|
2
|
+
export type { DensityFn, DensityWithWeightsFn, DensitySample, SplatWeightFn, SplatTextures } from './types.js';
|
|
3
|
+
export type { ChunkCoord, TerrainConfig, MeshData, TerrainEdit, LODConfig } from './types.js';
|
|
4
|
+
export { BrushShape, ChunkState, DEFAULT_TERRAIN_CONFIG, DEFAULT_LOD_CONFIG } from './types.js';
|
|
5
|
+
|
|
6
|
+
// Chunk key utilities
|
|
7
|
+
export { chunkKey, fromChunkKey, worldToChunk } from './chunk-key.js';
|
|
8
|
+
|
|
9
|
+
// Marching cubes
|
|
10
|
+
export { extractSurface, computeTriplanarUVs } from './marching-cubes.js';
|
|
11
|
+
|
|
12
|
+
// Normals
|
|
13
|
+
export { computeGradientNormals, computeTriangleNormals } from './terrain-normals.js';
|
|
14
|
+
|
|
15
|
+
// Density primitives & CSG
|
|
16
|
+
export {
|
|
17
|
+
adaptDensityFn,
|
|
18
|
+
sphereDensity,
|
|
19
|
+
planeDensity,
|
|
20
|
+
boxDensity,
|
|
21
|
+
unionDensity,
|
|
22
|
+
intersectDensity,
|
|
23
|
+
subtractDensity,
|
|
24
|
+
noiseTerrain,
|
|
25
|
+
} from './density-field.js';
|
|
26
|
+
|
|
27
|
+
// Chunk
|
|
28
|
+
export { TerrainChunk } from './chunk.js';
|
|
29
|
+
|
|
30
|
+
// Editor (brush system)
|
|
31
|
+
export { applyEdit } from './terrain-editor.js';
|
|
32
|
+
|
|
33
|
+
// LOD
|
|
34
|
+
export { extractSurfaceLOD } from './lod-extract.js';
|
|
35
|
+
export { buildLODMesh, buildLODSplatMesh } from './lod-chunk.js';
|
|
36
|
+
|
|
37
|
+
// Components
|
|
38
|
+
export { TerrainVolume } from './terrain-volume.js';
|
|
39
|
+
export { TerrainWorld } from './terrain-world.js';
|
|
40
|
+
|
|
41
|
+
// Registration
|
|
42
|
+
export { registerTerrainBuiltins } from './register-builtins.js';
|