Pack / unpack a create_preset_morph slot set to a vault JSON
morph_packPack create_preset_morph container slots into verified JSON files; unpack to rebuild containers.
Instructions
Export an existing create_preset_morph container's slots ('looks') to a portable, sha256-verified JSON file in the Obsidian vault (action=pack), or re-hydrate a pack file back into a (newly built if missing) create_preset_morph container (action=unpack). Reuses the create_preset_morph engine — does not invent a new morph topology. Requires TDMCP_VAULT_PATH unless inline 'looks' are supplied on unpack.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | pack: read an existing create_preset_morph container and serialise its slots to a vault JSON. unpack: re-hydrate a pack file into a (newly built if missing) create_preset_morph container, optionally rebinding to a new target. | |
| name | Yes | Pack name. Used as the JSON filename (<folder>/<name>.morphpack.json) and the morph container default name on unpack. | |
| parent | No | (pack) Parent COMP holding the existing morph container (defaults to /project1, matches create_preset_morph). (unpack) Parent COMP where the container is (re)built. | /project1 |
| container | No | (pack) Name of the existing morph container inside `parent` to read from. Defaults to `name`. (unpack) Name to (re)build; defaults to `name`. | |
| target_path | No | (unpack) Override the target_path stored in the pack provenance (use when the pack came from a different show file and the target's path is different here). Omit to reuse pack provenance.target_path. | |
| looks | No | (unpack, advanced) Inline-supply the slot set instead of reading vaultPath. Mutually exclusive with vaultPath on unpack; ignored on pack. | |
| vault_path | No | Vault-relative path to the pack file. Defaults to `MorphPacks/<name>.morphpack.json`. Resolved through Vault.resolve (cannot escape the vault root). | |
| overwrite | No | (pack) Overwrite an existing pack file at vault_path. | |
| merge | No | (unpack) replace: wipe presets and write only the pack's slots. union: keep existing slots and add/overwrite the pack's slots by id. | replace |