Files
craft-anything/docs/schemas/mechanics.schema.json
Brandon Thomas f64ae3bf3c Craft Anything
A native, pure-Rust app that shows anyone how a piece of software works, with
evidence-backed answers, then helps them rebuild it. It ships a desktop app, a
CLI and an MCP server, all driven by one engine.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:52:14 -04:00

73 lines
1.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Mechanics",
"description": "Every value that shapes how the rebuild plays.",
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"$ref": "#/$defs/Mechanic"
}
},
"version": {
"type": "integer",
"format": "uint32",
"default": 1,
"minimum": 0
}
},
"required": [
"values"
],
"$defs": {
"Mechanic": {
"description": "One value: \"walk speed\" is 4.5 m/s, from a function in the original.",
"type": "object",
"properties": {
"estimated": {
"description": "Guessed rather than found (from pictures, play or documentation).",
"type": "boolean"
},
"group": {
"description": "What it belongs to (\"movement\", \"rifle\"), or empty.",
"type": "string"
},
"name": {
"description": "What it is, as `MECHANICS.md` names it (\"walk speed\", \"rifle damage\").",
"type": "string"
},
"source": {
"description": "Where it came from: a file in the original's folder, a function address or an evidence\nid. Empty for an estimate.",
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"$ref": "#/$defs/MechanicValue"
}
},
"required": [
"name",
"value"
]
},
"MechanicValue": {
"description": "A number, a piece of text (\"hold to crouch\") or a switch.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "number",
"format": "double"
},
{
"type": "string"
}
]
}
}
}