Defining namespaces in the spec

This commit is contained in:
2026-08-01 10:17:34 -05:00
parent ea8f91db18
commit 35e127e611

24
szds.md
View File

@@ -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
```