Other · dattheshshenoy.github.io

Roomwright

Room planner driven by an AI agent. Agents can set room size and openings, place, move, rotate and recolor furniture, and suggest spots.

Ask an agent to

  • Set my room to 4 by 5 meters with a window on the north wall
  • Place a sofa facing the window and a rug in front
  • Suggest where a bookshelf would fit

19 tools

  • roomwright_add_item

    Place a piece in the room. Give product_id (from list_catalog). Optional: variant_id, x and z in metres, rotation_degrees. With no position the piece is auto-placed — wall-hugging pieces against the emptiest wall…

    product_id: string, variant_id: string?, x: number?, z: number?, rotation_degrees: number?

  • roomwright_check_layout

    Evaluate the current arrangement: overlapping pieces, pieces that block a door or window, pieces that do not have their required free space, and walkways under 0.75 m. Returns an overall status (ok, warn, bad), each…

  • roomwright_create_custom_item

    Make a custom piece from a primitive and place it in the room. shape is box (cabinet, built-in, block), cylinder (column, round pouffe), panel (a thin room divider), or platform (a low step or podium).…

    shape: string, width: number, depth: number?, height: number, name: string?, color: string?, x: number?, z: number?, … (list cut; the site may define more)

  • roomwright_duplicate_item

    Add another copy of a placed piece — same product and variant. By default the copy is nudged clear of the original. Pass mirror to place it as a mirror image across the room's centre line instead: "east-west" for a…

    placement_id: string, mirror: string?

  • roomwright_get_room

    Return the room's dimensions and openings plus every placed piece with its id, product, variant, position (metres, origin at the near-left corner), and rotation. Call this first to learn what is in the room and to get…

  • roomwright_get_shopping_list

    The pieces currently in the room as a shopping list — each product with quantity, unit price, and line total, plus the grand total in USD.

  • roomwright_list_catalog

    List the furniture catalogue. Optionally filter by category. Each entry has product_id, dimensions (metres), colour/finish variants, price (USD), and the free space the piece needs in front of it.

    category: string?

  • roomwright_move_item

    Move a placed piece to a new centre position in metres. The position is clamped so the piece stays fully inside the room. Returns whether it was clamped and any clearance issues at the new spot.

    placement_id: string, x: number, z: number

  • roomwright_remove_item

    Remove a placed piece from the room by its placement_id.

    placement_id: string

  • roomwright_remove_opening

    Remove a door or window by its opening_id.

    opening_id: string

  • roomwright_reset_layout

    Clear everything and start over: removes every placed piece, every custom piece, and every opening you added, and restores the default room size and its original door and window. Undoable in the app. Use this when the…

  • roomwright_resize_item

    Override a placed piece's size — width (along its own left-right), depth (front-back), height, in metres. Give any subset; each is clamped to 0.15-8 m. The piece re-renders at the new size and its clearance is…

    placement_id: string, width: number?, depth: number?, height: number?

  • roomwright_rotate_item

    Rotate a placed piece about the vertical axis. degrees is relative by default; set absolute true to set the heading directly. Angles snap to 15-degree steps.

    placement_id: string, degrees: number, absolute: boolean?

  • roomwright_select_item

    Highlight a placed piece in the 3D view and open its Inspector panel, so the user can see which piece you are talking about or about to change. Pass no placement_id to clear the selection.

    placement_id: string?

  • roomwright_set_opening

    Add or change a door or window. Omit opening_id to ADD one — give kind (door or window) and wall (north, south, east, west); it starts centred, and you may also pass offset_m, width_m, sill_m or height_m to place it…

    opening_id: string?, kind: string?, wall: string?, offset_m: number?, width_m: number?, sill_m: number?, height_m: number?

  • roomwright_set_room_dimensions

    Resize the room. Any of width, length, height in metres (width 1.5-20, length 1.5-20, height 2.2-4.5). Pieces that fall outside the new bounds are pulled back inside and reported.

    width: number?, length: number?, height: number?

  • roomwright_set_variant

    Change a placed piece's colour or material. variant_id comes from list_catalog's variants list for that product.

    placement_id: string, variant_id: string

  • roomwright_set_view

    Switch the camera between 'orbit' (an angled 3D view of the room) and 'plan' (looking straight down at the floor plan). Use plan to let the user judge the layout, orbit to show the room.

    view: string

  • roomwright_suggest_spot

    Ask where a piece could go. Optionally pass product_id (so the spots actually fit that piece) and near (a wall, the centre, the window, or the door) to bias the result. Returns the total open floor, the longest clear…

    product_id: string?, near: string?

Tools
19
Registered with
JavaScript
Scan finished
Oct 19, 2026

Tool names and descriptions are what dattheshshenoy.github.io/roomwright/ registered when we loaded it in Chrome 154 on Browser Use Cloud. The summary and the “ask an agent” lines are AI-written from them. To call the tools yourself, see Chrome’s WebMCP docs. How we found it.

More other sites

All 452 other sites →