feat(topdata): anchor autogen lock identity on model path with cutover remap
Lock identity for accessory VFX rows is now the model source path (dataset:group/subgroup/file.mdl) rather than the config-derived presentation key. Config-only edits (key_format, delimiter, case, strip_prefixes) no longer reshuffle row IDs. Adds: accessoryVisualeffectLockKey, hasKey helper, stale pruning loop (managed keys with no live entry are freed), and one-time cutover remap (old config-derived key in historical lock → new model-path key, with the old key pruned). autogenConsumerManagedLockKeyMatcher is now config-independent (dataset prefix + first path segment ∈ policy groups). Updates autogen_manifest_file_test.go and topdata_test.go lock-key assertions to match the new model-path scheme.
This commit is contained in:
@@ -7706,13 +7706,13 @@ func TestApplyAutogenConsumersAugmentsAccessoryVisualeffectsFromLocalOverride(t
|
||||
t.Fatalf("unexpected head feature defaults: %#v", hair)
|
||||
}
|
||||
|
||||
if _, ok := got[0].LockData["visualeffects:head_accessories/hat/bandana"]; !ok {
|
||||
if _, ok := got[0].LockData["visualeffects:head_accessories/hat/hfx_bandana.mdl"]; !ok {
|
||||
t.Fatalf("expected head accessory lock id, got %#v", got[0].LockData)
|
||||
}
|
||||
if _, ok := got[0].LockData["visualeffects:head_decorations/laurel/laurel"]; !ok {
|
||||
if _, ok := got[0].LockData["visualeffects:head_decorations/laurel/hfx_laurel.mdl"]; !ok {
|
||||
t.Fatalf("expected head decoration lock id, got %#v", got[0].LockData)
|
||||
}
|
||||
if _, ok := got[0].LockData["visualeffects:head_features/hair/hair_bangs"]; !ok {
|
||||
if _, ok := got[0].LockData["visualeffects:head_features/hair/hfx_hair_bangs.mdl"]; !ok {
|
||||
t.Fatalf("expected head feature lock id, got %#v", got[0].LockData)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user