Expand description
Cardinal Codex Pack System
This module provides functionality for creating, loading, and managing .ccpack files - single-file distributable bundles of card definitions and Rhai scripts.
§Overview
A .ccpack file is a deterministic, compressed archive containing:
pack.toml: Pack metadata (ID, version, dependencies)cards/*.toml: Card definition filesscripts/*.rhai: Rhai script filesmanifest.toml: Auto-generated file list with hashes
§Format
The pack format is:
- Deterministic: Same input → same output
- Portable: Single file, no extraction needed
- Inspectable: Can list contents without extraction
- Verifiable: Includes SHA-256 hashes for all files
§Example Usage
use cardinal::pack::{build_pack, load_pack, list_pack};
// Build a pack from a directory
build_pack("./my-pack", "./output/my-pack.ccpack").unwrap();
// List pack contents
list_pack("./output/my-pack.ccpack").unwrap();
// Load pack into memory
let (manifest, files) = load_pack("./output/my-pack.ccpack").unwrap();Re-exports§
pub use metadata::PackMeta;pub use metadata::FileEntry;pub use metadata::Manifest;pub use builder::build_pack;pub use loader::load_pack;pub use loader::list_pack;pub use loader::unpack_pack;