Closed JPMeehan closed 2 months ago
In theory DataConfig
and SourceConfig
still serve a purpose for systems that have a template.json
but go without a data model.
We could just roll it into DataModelConfig
but DataConfig
and SourceConfig
are backwards compatible... but I'm not sure how valuable that is anymore.
In theory
DataConfig
andSourceConfig
still serve a purpose for systems that have atemplate.json
but go without a data model.We could just roll it into
DataModelConfig
butDataConfig
andSourceConfig
are backwards compatible... but I'm not sure how valuable that is anymore.
Currently, TypeDataField doesn't leverage those two setups. My inclination is that this project should focus on supporting Foundry's intended runtime validation, data models.
As far as I understand it, TypeDataField
will never leverage those two because TypeDataField
is inherently for when a system actually sets up a data model. This is for the case where they have a template.json
but not data models.
It honestly doesn't add much complexity to keep supporting. Some systems don't want to use data models, I say let them. If it were more complex I'd possibly be swayed by the argument that we're trying to maintain high quality and robustly typed code anyways but it's about as complex as adding something like DataConfig extends { readonly [_ in DocumentName]: { [_ in DocumentType]: infer DataModel } } ? DataModel : EmptyObject
or something similar.
TypeDataField
is where the template.json
gets used - see getInitialValue
and _cleanType
. On the server backend, where community packages can't register data models, they're functionally identical,
Anyways, if we want to keep supporting those I'm fine with that but we'll need to update the definition of the field to re-use DataConfig/SourceConfig. We may also want to double check how those are implemented because of the structural changes for documents.
common/abstract/data
andcommon/abstract/document
) nor files currently subject to PRs (prosemirror, shaders)client
Sidebar: Should we just... delete DataConfig and SourceConfig since those are from the v8/v9 configuration setup, pre-data models?