diff --git a/szds.md b/szds.md index e34b6ce..35ad5a4 100644 --- a/szds.md +++ b/szds.md @@ -2,7 +2,7 @@ ## Layout -Data is seperated into 3 main chunks; systems, games, and datasets. Each of these work together but hold varying information. +Data is separated into 3 main chunks: systems, games, and datasets. Each of these work together but hold varying information. The flow goes as such: @@ -10,33 +10,39 @@ The flow goes as such: i. Define a character template ii. Define data templates 2. Create a Dataset - i. Reference an existing system for availible templates - ii. Create data instances based on the availible templates + i. Reference an existing system for available templates + ii. Create data instances based on the available templates 3. Create a Game i. 'Install' an existing system ii. 'Install' various datasets that use the same system iii. Install plugins (future feature) iv. Create a character from the system template - -### File specifications -Namespaces and IDs: +## File Specifications -- 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` +### Namespaces and IDs -- 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. +There are 4 "namespaces" in the sz data pipeline: author, system, dataset, and 'template group' (working name, but essentially is the data type, which are grouped by folders in a dataset), in that order. -- 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` +Namespaces are accessed with a trailing `:`, ex. the 'szcore' system, made by 'sz', would be `sz:szcore`. -Fields: +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: +## System + +Holds: - Character Template - Data templates @@ -166,7 +172,11 @@ formula = 'base_damage + $PLAYER.stats.modifiers.{skill}' ``` -### Datasets: +--- + +## Datasets + +Holds: - Reference to a System and its templates - Data Instance @@ -215,9 +225,13 @@ value = "10" ``` -### Games: -The Game type glues everything together +--- +## Games + +The Game type glues everything together. + +Holds: - System - Plugins - Datasets