feat: add React card renderer and interactive UML

This commit is contained in:
user
2026-07-16 13:19:22 +02:00
parent da06a2b81c
commit 41804a8ad1
9 changed files with 2143 additions and 37 deletions
+71
View File
@@ -260,6 +260,10 @@
"html_tree_inspector": {
"type": "boolean"
},
"react_app": {
"type": "boolean",
"description": "Generuje komponentowy podgląd React oraz jawny view-model card-data.json."
},
"bibliography": {
"type": "string"
},
@@ -575,6 +579,16 @@
"type": "string",
"minLength": 1
},
"html_path": {
"type": "string",
"minLength": 1,
"description": "Opcjonalny wariant zasobu dla HTML, np. SVG zamiast PNG używanego w TeX."
},
"source_path": {
"type": "string",
"minLength": 1,
"description": "Opcjonalne edytowalne źródło rysunku, np. plik PlantUML."
},
"caption": {
"type": "string",
"minLength": 1
@@ -596,6 +610,63 @@
},
"full_size_link": {
"type": "boolean"
},
"interactive": {
"$ref": "#/$defs/interactiveAsset"
}
},
"additionalProperties": false
},
"interactiveAsset": {
"type": "object",
"required": ["kind"],
"properties": {
"kind": {
"enum": ["allocator-memory-flow", "uml-sequence"]
},
"storage_key": {
"type": "string",
"minLength": 1
},
"arena_size": {
"type": "integer",
"minimum": 1
},
"allocations": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
}
},
"symbols": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "area", "declaration", "description"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"area": { "enum": ["compile", "bss", "stack", "registers", "text"] },
"declaration": { "type": "string", "minLength": 1 },
"description": { "type": "string", "minLength": 1 }
},
"additionalProperties": false
}
},
"stages": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["id", "label", "description"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"label": { "type": "string", "minLength": 1 },
"description": { "type": "string", "minLength": 1 },
"code_ref": { "type": "string" }
},
"additionalProperties": false
}
}
},
"additionalProperties": false