CLI & AI toolsCommand reference
helix terrain
Author the ground a scene world stands on: generate or import a landform, bake its splats, inspect the result
CLI version 0.1.27-helix3.551. Run
helix terrain --help for the text your installed build prints.helix terrain
Author the ground a scene world stands on: generate or import a landform, bake its splats, inspect the result
helix terrain <command>helix terrain generate
Generate a deterministic landform and write a terrain source folder (heights, splats, terrain.json)
helix terrain generate [options]| Option | Description |
|---|---|
--out <dir> | terrain source folder to write (required) |
--preset <id> | built-in preset id, or a path to a preset JSON file (required) |
--seed <n> | landform seed; the same seed and options always produce the same bytes (default "1") |
--tiles <WxH> | grid size in 256 m tiles, e.g. 4x4 (default 4x4 = 1 km x 1 km) |
--size-km <n> | square extent in kilometres, rounded to whole 256 m tiles |
--sea-level <m> | flood the landform to this height in metres |
--holes <mask.png> | greyscale mask; pixels above mid-grey become holes in the ground |
helix terrain import
Import a heightmap into a terrain source folder, resampled onto the authoring grid
helix terrain import [options] <file>| Argument | Required | Description |
|---|---|---|
file | yes | 16-bit PNG, raw R16, or raw float32 heightmap |
| Option | Description |
|---|---|
--out <dir> | terrain source folder to write (required) |
--preset <id> | built-in preset id, or a path to a preset JSON file, to paint it with (required) |
--metres-per-sample <n> | the SOURCE's ground resolution in metres (required) |
--height-range <MIN,MAX> | metres the darkest and brightest sample stand for, e.g. 0,900; png16 and r16 only |
--output-metres-per-sample <n> | metres per sample of the authoring grid: 0.5, 1, 2, 4 or 8 (default 1) |
--height-offset <m> | metres added to every decoded height, e.g. -507 to put that sea level on zero |
--origin <X,Z> | world metres of sample (0, 0); omitted, the grid is centred on the origin |
--samples <W|WxH> | samples per row of a raw r16/f32 file; omitted, the file must be square |
--tiles <WxH> | grid size in 257-sample tiles; omitted, the source extent picks it |
--format <format> | png16, r16 or f32; omitted, the file extension picks it |
--resample <mode> | cubic (default: the slope stays continuous across the source samples) or bilinear |
--splat <png> | RGBA8 splat covering the grid extent; its channels replace the preset rules they are bound to |
--splat-roles <map> | which role each splat channel carries, e.g. R=base,G=low,B=slope |
helix terrain bake
Re-paint an existing terrain source folder in place: same heights, new splats from the preset
helix terrain bake [options] <dir>| Argument | Required | Description |
|---|---|---|
dir | yes | terrain source folder holding terrain.json |
| Option | Description |
|---|---|
--preset <id-or-path> | built-in preset id, or a path to a preset JSON file (required) |
--seed <n> | seed of the bake's per-role noise, not the landform's |
helix terrain inspect
Report what a terrain source folder would ship: extent, tiles, bytes, layer folding and every warning
helix terrain inspect [options] <dir>| Argument | Required | Description |
|---|---|---|
dir | yes | terrain source folder holding terrain.json |
| Option | Description |
|---|---|
--json | machine-readable report |