gradeNot graded
wadi_wdl_referenceAction
A self-contained primer for Wadi's .wdl design language and the authoring loop. Call this FIRST before writing WDL.
View tool JSON
{
"name": "wadi_wdl_reference",
"kind": "act",
"impl": "imperative",
"description": "A self-contained primer for Wadi's .wdl design language and the authoring loop. Call this FIRST before writing WDL.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}wadi_get_wdlAnswer
Return the current live house as editable .wdl source. Read this before modifying an existing design.
View tool JSON
{
"name": "wadi_get_wdl",
"kind": "answer",
"impl": "imperative",
"description": "Return the current live house as editable .wdl source. Read this before modifying an existing design.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}wadi_set_wdlAction
Compile .wdl and load it into the live 3D model. STRONGLY PREFER EDITING A TEMPLATE over building from scratch: wadi_list_homes -> wadi_choose_home (closest match) -> wadi_get_wdl -> edit -> wadi_set_wdl. Authoring a whole house from a blank .wdl is error-prone (wall alignment, roof sizing, cantilever support, staircase); only do it if no template fits. On a compile/schema error the model is unchanged and errors are returned; on success returns the structural check — READ IT AND FIX WARNINGS before telling the user it is ready. Loop: get -> edit -> set -> fix -> repeat.
View tool JSON
{
"name": "wadi_set_wdl",
"kind": "act",
"impl": "imperative",
"description": "Compile .wdl and load it into the live 3D model. STRONGLY PREFER EDITING A TEMPLATE over building from scratch: wadi_list_homes -> wadi_choose_home (closest match) -> wadi_get_wdl -> edit -> wadi_set_wdl. Authoring a whole house from a blank .wdl is error-prone (wall alignment, roof sizing, cantilever support, staircase); only do it if no template fits. On a compile/schema error the model is unchanged and errors are returned; on success returns the structural check — READ IT AND FIX WARNINGS before telling the user it is ready. Loop: get -> edit -> set -> fix -> repeat.",
"inputSchema": {
"type": "object",
"properties": {
"wdl": {
"type": "string",
"description": "The full .wdl source."
}
},
"required": [
"wdl"
]
},
"page": "/app/"
}wadi_check_wdlAction
Compile-check .wdl WITHOUT loading it (dry run). Returns errors, or ok.
View tool JSON
{
"name": "wadi_check_wdl",
"kind": "act",
"impl": "imperative",
"description": "Compile-check .wdl WITHOUT loading it (dry run). Returns errors, or ok.",
"inputSchema": {
"type": "object",
"properties": {
"wdl": {
"type": "string",
"description": "The full .wdl source."
}
},
"required": [
"wdl"
]
},
"page": "/app/"
}wadi_list_modulesAction
List the custom component modules registered for the current model (import ref + source size). These reusable component .wdl files are saved inside the .wadi. Inbuilt packs (std-furniture, konkan/base) are always available and are not listed.
View tool JSON
{
"name": "wadi_list_modules",
"kind": "act",
"impl": "imperative",
"description": "List the custom component modules registered for the current model (import ref + source size). These reusable component .wdl files are saved inside the .wadi. Inbuilt packs (std-furniture, konkan/base) are always available and are not listed.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}wadi_add_moduleAction
Register (or replace) a reusable component module by its import ref, then recompile the live model. The module is a .wdl holding `component Name { … }` definitions in LOCAL coords (no `house` block). After adding, `import "ref" as ns` in the main WDL (wadi_set_wdl) and place it with `use ns.Name at (x,y)`. Saved inside the .wadi so the design is self-contained. Returns the structural check.
View tool JSON
{
"name": "wadi_add_module",
"kind": "act",
"impl": "imperative",
"description": "Register (or replace) a reusable component module by its import ref, then recompile the live model. The module is a .wdl holding `component Name { … }` definitions in LOCAL coords (no `house` block). After adding, `import \"ref\" as ns` in the main WDL (wadi_set_wdl) and place it with `use ns.Name at (x,y)`. Saved inside the .wadi so the design is self-contained. Returns the structural check.",
"inputSchema": {
"type": "object",
"properties": {
"ref": {
"type": "string",
"description": "the import ref, e.g. \"dining-set\""
},
"wdl": {
"type": "string",
"description": "the module's .wdl source (component definitions only)"
}
},
"required": [
"ref",
"wdl"
]
},
"page": "/app/"
}wadi_remove_moduleAction
Remove a custom component module by its import ref and recompile. Also remove its `import` line from the main WDL if the component is no longer used.
View tool JSON
{
"name": "wadi_remove_module",
"kind": "act",
"impl": "imperative",
"description": "Remove a custom component module by its import ref and recompile. Also remove its `import` line from the main WDL if the component is no longer used.",
"inputSchema": {
"type": "object",
"properties": {
"ref": {
"type": "string",
"description": "the import ref to remove"
}
},
"required": [
"ref"
]
},
"page": "/app/"
}wadi_list_homesAction
List the ready-made home designs to start from (id, title, meta).
View tool JSON
{
"name": "wadi_list_homes",
"kind": "act",
"impl": "imperative",
"description": "List the ready-made home designs to start from (id, title, meta).",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}wadi_choose_homeAction
Load one ready-made home by id (from wadi_list_homes) as your STARTING POINT — pick the one closest to what the user wants, then read it with wadi_get_wdl and edit it. This is the recommended way to begin; it is far more reliable than authoring from scratch.
View tool JSON
{
"name": "wadi_choose_home",
"kind": "act",
"impl": "imperative",
"description": "Load one ready-made home by id (from wadi_list_homes) as your STARTING POINT — pick the one closest to what the user wants, then read it with wadi_get_wdl and edit it. This is the recommended way to begin; it is far more reliable than authoring from scratch.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "template id, e.g. family_home"
}
},
"required": [
"id"
]
},
"page": "/app/"
}wadi_read_homeAnswer
Return a ready-made home's .wdl source WITHOUT loading it — study an example (how it does a roof, staircase, grid, etc.) without disturbing the user's current model. Use this to look things up; use wadi_choose_home only when you actually want to start from that home. Ids come from wadi_list_homes.
View tool JSON
{
"name": "wadi_read_home",
"kind": "answer",
"impl": "imperative",
"description": "Return a ready-made home's .wdl source WITHOUT loading it — study an example (how it does a roof, staircase, grid, etc.) without disturbing the user's current model. Use this to look things up; use wadi_choose_home only when you actually want to start from that home. Ids come from wadi_list_homes.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "template id, e.g. family_home"
}
},
"required": [
"id"
]
},
"page": "/app/"
}wadi_describe_houseAnswer
The whole house as structured data (floors, rooms with sizes/positions in feet, connections, roof, plot, variables, staircases, and a structural summary). Read this to understand the current design. The `staircases` array reports each stair's flight count, climb direction, the top-landing rectangle (where you step onto the floor) with its facing, and the min box length for 1 and 2 flights — use it to size and orient stairs.
View tool JSON
{
"name": "wadi_describe_house",
"kind": "answer",
"impl": "imperative",
"description": "The whole house as structured data (floors, rooms with sizes/positions in feet, connections, roof, plot, variables, staircases, and a structural summary). Read this to understand the current design. The `staircases` array reports each stair's flight count, climb direction, the top-landing rectangle (where you step onto the floor) with its facing, and the min box length for 1 and 2 flights — use it to size and orient stairs.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}wadi_checkAction
Run the C1-C12 structural linter over the live house and return errors + warnings.
View tool JSON
{
"name": "wadi_check",
"kind": "act",
"impl": "imperative",
"description": "Run the C1-C12 structural linter over the live house and return errors + warnings.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}wadi_capture_viewAction
Render the current 3D model to a PNG image so you can see the result.
View tool JSON
{
"name": "wadi_capture_view",
"kind": "act",
"impl": "imperative",
"description": "Render the current 3D model to a PNG image so you can see the result.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}wadi_undoAction
Undo the last change.
View tool JSON
{
"name": "wadi_undo",
"kind": "act",
"impl": "imperative",
"description": "Undo the last change.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}wadi_redoAction
Redo the last undone change.
View tool JSON
{
"name": "wadi_redo",
"kind": "act",
"impl": "imperative",
"description": "Redo the last undone change.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/app/"
}