task icon Task

Visualize Floor Plan

Requirements
Floor plan image or room description, optional interior style preference.
Instructions
You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).
2

Ask the user for their floor plan. Options: upload an image of a floor plan or sketch, describe the room layout verbally (dimensions, window/door positions), or provide a rough hand-drawn sketch. Also ask for style preference: modern, Scandinavian, industrial, mid-century modern, minimalist, bohemian, contemporary, or Japandi.

5

Craft a detailed visualization prompt. Follow the style guide: respect window/door placement, appropriate furniture scale, functional layout, consistent style throughout. Include the user's room type, style choice, and any specific requests. If the user provided a floor plan image, this becomes an edit prompt to transform the sketch into a furnished render.

7

Show the user where their visualization was saved. Offer adjustments: different interior style, alternative furniture arrangement, change color palette, swap flooring/wall materials, add or remove specific furniture pieces, or render a different room from the same plan.

                    To run this task you must have the following required information:

> Floor plan image or room description, optional interior style preference.

If you don't have all of this information, exit here and respond asking for any extra information you require, and instructions to run this task again with ALL required information.

---

You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).

Add all steps to your todo list now and begin executing.

## Steps

1. [Run Code: Verify Gemini Connection]: Call `run_script` with:

```json
{
  "file": {
    "path": https://sk.ills.app/code/media.gemini.verify/preview,
    "args": [

    ]
  },
  "packages": null
}
```

2. Ask the user for their floor plan. Options: upload an image of a floor plan or sketch, describe the room layout verbally (dimensions, window/door positions), or provide a rough hand-drawn sketch. Also ask for style preference: modern, Scandinavian, industrial, mid-century modern, minimalist, bohemian, contemporary, or Japandi.

3. [Read Floor Plan Visualization Guide]: Read the documentation in: `./skills/sauna/[skill_id]/references/media.floorplan.style.md` (Load interior visualization guidance)

4. [Read Image Prompting Guide]: Read the documentation in: `./skills/sauna/[skill_id]/references/media.image.prompts.md` (General image prompting patterns)

5. Craft a detailed visualization prompt. Follow the style guide: respect window/door placement, appropriate furniture scale, functional layout, consistent style throughout. Include the user's room type, style choice, and any specific requests. If the user provided a floor plan image, this becomes an edit prompt to transform the sketch into a furnished render.

6. [Gather Arguments: Generate or Edit Image] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `prompt`: the interior visualization prompt
- `imagePath`: path to floor plan image if provided, or empty string for description-based generation
- `outputDir`: ./documents/floorplans/*

7. [Run Code: Generate or Edit Image]: Call `run_script` with:

```json
{
  "file": {
    "path": https://sk.ills.app/code/media.image.generate/preview,
    "args": [
      "prompt",
      "imagePath",
      "outputDir"
    ]
  },
  "packages": null
}
```

8. Show the user where their visualization was saved. Offer adjustments: different interior style, alternative furniture arrangement, change color palette, swap flooring/wall materials, add or remove specific furniture pieces, or render a different room from the same plan.