Automated parts sorting
This commit is contained in:
@@ -181,6 +181,19 @@ generated_assets:
|
||||
derive:
|
||||
kind: trailing_numeric_suffix
|
||||
group_from: first_path_segment
|
||||
parts_rows:
|
||||
row_defaults:
|
||||
COSTMODIFIER: "0"
|
||||
acbonus:
|
||||
default:
|
||||
strategy: descending_row_id_sort_key
|
||||
max_row_id: 999
|
||||
divisor: 100
|
||||
format: "%.2f"
|
||||
datasets:
|
||||
chest:
|
||||
strategy: fixed
|
||||
value: "0.00"
|
||||
|
||||
inventory:
|
||||
source_extensions: [] # empty means built-in NWN source extensions
|
||||
@@ -255,6 +268,13 @@ native-topdata subset packaged as HAK resources. It builds only `.2da` output,
|
||||
injects those generated files into `build-haks`, and rejects TLK-backed text
|
||||
because this path does not produce TLK packages.
|
||||
|
||||
For `parts_rows` generated assets, `parts_rows.acbonus` can normalize final
|
||||
ACBONUS values before module overrides are applied. The
|
||||
`descending_row_id_sort_key` strategy writes toolset ordering values from row
|
||||
IDs, and per-dataset policies such as `chest: fixed 0.00` can override that
|
||||
default. Authored source ACBONUS values are not authoritative when this policy
|
||||
is configured; files under `parts/modules` remain the final override layer.
|
||||
|
||||
Extraction is deliberately guarded because it writes source files from binary
|
||||
archives. `extract.archives` is a list of glob patterns relative to
|
||||
`paths.build`; the default is only the configured module `.mod`. HAK extraction
|
||||
@@ -401,7 +421,7 @@ The current ownership split is:
|
||||
- owns the user-facing module and topdata wrapper commands
|
||||
- `sow-assets`
|
||||
- owns canonical binary asset source under `assets/`
|
||||
- owns generated HAK manifests and parts manifests under `staging/`
|
||||
- owns generated HAK manifests and HAK-side parts 2DA assets
|
||||
- owns the user-facing asset wrapper commands
|
||||
|
||||
Consumer wrapper resolution is intentionally aligned:
|
||||
|
||||
Reference in New Issue
Block a user