Design a side table from a description
The agent reads how Mortise works, loads what it needs to know, then builds the table one board and one cut at a time. Every call runs the editor’s own action, so it lands on the undo history and saves to the account as it goes.
Design a white oak side table, 24 inches tall, with mortise and tenon aprons.
get_workflowUnits, axes and every operation’s parameters. Lengths are inches, angles degrees.get_skillHeights and overhangs for a table, one section at a time.{ "name": "furniture-ergonomics", "section": "Tables" }get_skillThe tested calls for a leg and apron, with the numbers worked out.{ "name": "joinery-recipes", "section": "Leg and apron" }new_projectA fresh project. The one open before is saved and kept.{ "name": "Oak side table" }add_boardsReal stock: 8/4 white oak is 1¾″ thick. A leg stands up with a face to the front.{ "boards": [{ "name": "Front left leg", "stock": "8/4x6", "species": "whiteoak", "length": 23.25, "position": [-7.5, 11.625, -7.5], "orient": { "length": "+y", "thickness": "-z" } }, …] }apply_operationRip the leg square, then put it back with place_boards: a rip moves the wood’s centre.{ "board": "<front left leg>", "operation": "rip", "params": { "edge": "near", "width": 1.75 } }add_boards13¼″ between the legs plus a 1″ tenon at each end.{ "boards": [{ "name": "Front apron", "stock": "1x4", "species": "whiteoak", "length": 15.25, "position": [0, 21.5, -7.5], "orient": { "length": "+x", "thickness": "-z" } }] }apply_operationAnd again on end B.{ "board": "<front apron>", "operation": "tenon", "params": { "end": "A", "thickness": 0.25, "width": 3, "length": 1 } }apply_operationOn the face that looks at the apron, 1⁄16″ deeper than the tenon is long.{ "board": "<front left leg>", "operation": "mortise", "params": { "face": "far", "pos": 21.5, "width": 3, "height": 0.25, "depth": 1.0625 } }joinGlue covers the whole joint. The boards now move as one.{ "a": "<front apron>", "b": "<front left leg>", "fastener": "glue" }inspect_detailsClose-ups of each joint, and the tenon pulled out of its mortise.cut_listWhat to cut and what to buy.