feat(extract): build containment tree and traverse all containers

Add buildTree to mirror how TTS nests objects, with a display label
(Nickname or class Name). Generalize traverseMod to descend into any
object with ContainedObjects, not just bags, and add Nickname to
TTSObject.
This commit is contained in:
2026-08-08 12:19:39 +08:00
parent e2d87df1a4
commit d8a698986a
5 changed files with 75 additions and 12 deletions
+3
View File
@@ -3,7 +3,10 @@
* Mirrors the structure produced by BSON-deserializing a TTS save.
*/
export interface TTSObject {
/** The object's class/type, e.g. `Card`, `Bag`, `Custom_Model`. */
Name: string;
/** The display name; often empty in saves, so fall back to `Name`. */
Nickname?: string;
GUID: string;
Description: string;
/** Set by `markParent` during traversal; not present in the raw save. */