Configuration hardening
This commit is contained in:
@@ -66,12 +66,23 @@ music:
|
||||
envi/music/westgate: mus_wg_
|
||||
|
||||
# Explicit dataset config (replaces prefixes above).
|
||||
tools:
|
||||
ffmpeg: tools/ffmpeg
|
||||
ffprobe: tools/ffprobe
|
||||
defaults:
|
||||
stage_root: "{paths.cache}/music"
|
||||
credits_root: "{paths.cache}/credits"
|
||||
credits_overlay: CREDITS.md
|
||||
max_stem_length: 16
|
||||
naming_scheme: nwn_bmu
|
||||
output_extension: .bmu
|
||||
convert_extensions: [.mp3, .ogg]
|
||||
datasets:
|
||||
westgate:
|
||||
source: envi/music/westgate
|
||||
output: envi/music/westgate
|
||||
prefix: mus_wg_
|
||||
package_mode: hak_asset
|
||||
```
|
||||
|
||||
Resolved configuration can be inspected without scanning or building:
|
||||
@@ -112,6 +123,12 @@ inventory:
|
||||
asset_extensions: [] # empty means built-in NWN asset extensions
|
||||
source_json_pattern: "{resref}.{extension}.json"
|
||||
|
||||
validation:
|
||||
profile: nwn_module
|
||||
builtin_script_prefixes: [nw_, x0_, x1_, x2_, x3_, ga_, gc_, gen_, gui_, nwg_, ta_]
|
||||
required_fields:
|
||||
ifo: [Mod_Name]
|
||||
|
||||
scripts:
|
||||
source_dir: scripts
|
||||
cache: "{paths.cache}/ncs"
|
||||
@@ -169,11 +186,34 @@ music:
|
||||
credits_root: "{paths.cache}/credits"
|
||||
credits_overlay: CREDITS.md
|
||||
max_stem_length: 16
|
||||
naming_scheme: nwn_bmu
|
||||
output_extension: .bmu
|
||||
convert_extensions: [.mp3, .ogg]
|
||||
```
|
||||
|
||||
Music datasets define individual music collections with independent sources and
|
||||
naming prefixes. The legacy `music.prefixes` shorthand is automatically normalized
|
||||
into a dataset.
|
||||
naming prefixes. `source` is the authored input root under `paths.assets`;
|
||||
`output` is the generated HAK asset root matched by HAK include globs. If
|
||||
`output` is omitted, it defaults to `source`. `package_mode: hak_asset` converts
|
||||
configured source extensions into generated HAK resources; `package_mode: none`
|
||||
scans and writes credits without adding generated HAK resources. The legacy
|
||||
`music.prefixes` shorthand is automatically normalized into datasets.
|
||||
|
||||
Music can also be run directly:
|
||||
|
||||
```bash
|
||||
sow-toolkit music list-datasets
|
||||
sow-toolkit music scan --dataset westgate
|
||||
sow-toolkit music build --dataset westgate --dry-run
|
||||
sow-toolkit music build --dataset westgate
|
||||
sow-toolkit music credits --dataset westgate --check
|
||||
sow-toolkit music validate --dataset westgate --json
|
||||
```
|
||||
|
||||
`build-haks` uses the same music pipeline. Use `--plan-only` or music
|
||||
`--dry-run` to compute mappings without transcoding. Use `build-haks
|
||||
--skip-music` to package authored assets only, or `build-haks --music-dataset
|
||||
westgate` to limit conversion to a configured dataset.
|
||||
|
||||
Generated and machine-readable artifacts remain JSON, including HAK manifests,
|
||||
topdata datasets, caches, credits inventories, build reports, and canonical GFF
|
||||
|
||||
Reference in New Issue
Block a user