Structure
{
"variables": {
"@override": true,
"[variable_name]": {
"type": "number",
"default": 10
"expose": {
"label": {
"en": "Setting Label"
},
"description": {
"en": "description"
}
}
}
},
"style": {
"wrapper": {
"@override": false,
"style": "asdf"
}
},
"render": {
"type": "wrapper",
"children": [
{
"type": "Lyric",
},
// ...
]
}
}
@override: override field
Render
interface BaseRenderElement<Type extends string> {
type: Type;
children?: RenderElement[];
}
type WrapperRenderElement = BaseRenderElement<'wrapper'>;
type LyricGroupRenderElement = // ...
type LyricRenderElement = // ...
type RenderElement = WrapperRenderElement | LyricGroupRenderElement | // ...;
Structure
{ "variables": { "@override": true, "[variable_name]": { "type": "number", "default": 10 "expose": { "label": { "en": "Setting Label" }, "description": { "en": "description" } } } }, "style": { "wrapper": { "@override": false, "style": "asdf" } }, "render": { "type": "wrapper", "children": [ { "type": "Lyric", }, // ... ] } }@override: override fieldRender