The successor to the original Datasworn repository and Dataforged package, which provide game rules from the Ironsworn and Ironsworn: Starforged TTRPGs in JSON.
Tools like @effortlessmountain's asset workbench create assets as standalone objects. User-created moves and assets in VTT environments generally work this way, too. Dealing with the entire hierarchy, ID generation, and so on is outside of their scope... for good reason!
There should be a way to produce portable JSON data for moves and assets. other types would be a nice addition.
Goals
schema + typings that are automatically generated from the standard JSON schema, similar to how DataswornSource is generated from the master Datasworn schema (really, DataswornSource could be used close to as-is...)
these should be distributed as part of @datasworn/core, and JSON TypeDefs should be provided for other languages
should each type be a separate schema document, or should the root schema be a discriminated union?
standalone assets/moves should readily integrate into the tree hierarchy if someone wishes to package them for distribution
ideally, this schema should be friendly to libraries that generate forms from JSON schema.
if/then-based discriminated unions may be rewritten as normal unions.
patternProperties seems to be a sticking point of many libraries. is there a specific tool that i can target?
would it make sense to write custom tooling for this?
Tools like @effortlessmountain's asset workbench create assets as standalone objects. User-created moves and assets in VTT environments generally work this way, too. Dealing with the entire hierarchy, ID generation, and so on is outside of their scope... for good reason!
There should be a way to produce portable JSON data for moves and assets. other types would be a nice addition.
Goals
DataswornSource
is generated from the masterDatasworn
schema (really,DataswornSource
could be used close to as-is...)@datasworn/core
, and JSON TypeDefs should be provided for other languagesif
/then
-based discriminated unions may be rewritten as normal unions.patternProperties
seems to be a sticking point of many libraries. is there a specific tool that i can target?