From 35e127e611d758c2d175ec51a324fab2ebc7d27d Mon Sep 17 00:00:00 2001 From: chris bell Date: Sat, 1 Aug 2026 10:17:34 -0500 Subject: [PATCH] Defining namespaces in the spec --- szds.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/szds.md b/szds.md index 78c87d4..e34b6ce 100644 --- a/szds.md +++ b/szds.md @@ -19,6 +19,23 @@ The flow goes as such: iv. Create a character from the system template +### File specifications +Namespaces and IDs: + +- There are 4 "namespaces" in the sz data pipeline; author, system, dataset, and 'template group' (working name, but essentialy is the data type which are grouped by folders in a dataset); in that order. +- Namespaces are accessed with a trailing `:`, ex. the 'szcore' system, made by 'sz' would be `sz:szcore` + +- All .sz, .szt, and .szo files are given IDs based on the file name when loaded into the local database, and must be unique to their scope. + +- For instance a data template in the `szcore` system with the file name `item.szt` will be identified as `szcore:item` +- And a data instance in a dataset called `data` with the name `item/coin.szo` (with the `item` template, designated by the folder name) will be identified in the database as `sz:szcore:data:item:coin` +- Top level .sz files (system.sz, dataset.sz, and game.sz) are identified by the parent folder, for instance a system named `sz.szcore/` will be identified as `sz:szcore` + +Fields: + +A field is found within a data object, defined by a template. + + ### System: - Character Template - Data templates @@ -208,7 +225,7 @@ The Game type glues everything together - Character Instances - Gamestate/Data -Example directory structure +Example directory structure: ```text game_name/ - game.sz @@ -223,3 +240,8 @@ game_name/ - game_data/ - (various game related data...) ``` + +Example `game.sz` file +```toml + +```