Documentation
¶
Overview ¶
Package level defines the bounded, versioned data envelope stored in a Karty level cartridge. It is shared contract code, not generated project output.
Index ¶
Constants ¶
const ( EnvelopeVersion = uint16(1) HeaderSize = 32 EntryHeaderSize = 12 MaxEnvelopeSize = 16 * 1024 * 1024 MaxMetadataSize = 16 * 1024 MaxEntryCount = 4096 MaxEntryNameSize = 1024 MaxEntrySize = 8 * 1024 * 1024 )
Variables ¶
var ( ErrEnvelopeSize = errors.New("level envelope size is invalid") ErrHeader = errors.New("level envelope header is invalid") ErrVersion = errors.New("level envelope version is unsupported") ErrMetadata = errors.New("level metadata is invalid") ErrEntry = errors.New("level data entry is invalid") ErrEntryOrder = errors.New("level data entries are not in canonical order") ErrEntryRange = errors.New("level data entry range is invalid") )
Functions ¶
func Encode ¶
func Encode(metadata []byte, source []SourceEntry) ([]byte, error)
Encode creates a deterministic envelope. Entries are ordered by logical name; callers do not control table or payload order.
func TextureAssetID ¶
TextureAssetID recognizes a reserved texture payload name.
func TextureEntryName ¶
TextureEntryName returns the reserved envelope name for a nonzero, level-local texture ID.
func WrapModule ¶
WrapModule places a validated KTYL envelope in a minimal passive core-Wasm module exposing the three level-cartridge ABI functions and memory.
Types ¶
type Envelope ¶
type Envelope struct {
Raw []byte
Metadata []byte
Entries []Entry
// contains filtered or unexported fields
}
Envelope is a validated view over immutable envelope bytes. Metadata and payload slices alias Raw and remain valid only while Raw is retained.
type SourceEntry ¶
SourceEntry is an authoring-time named payload passed to Encode.