> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ploterr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What you can build

> Choose a Floorkit workflow for AI floor-plan generation, browser CAD, architectural drawings, or editable property plans.

Floorkit is a browser-based TypeScript SDK for building design applications. Your app owns its interface and storage. Floorkit supplies the building model, geometry, editing, and drawings.

Start with the [quickstart](/floorkit/quickstart), then choose a workflow below. Each path uses the public package and the same saved building data.

<CardGroup cols={2}>
  <Card title="AI floor-plan apps" icon="sparkles" href="#ai-floor-plan-generation">
    Turn an agent's proposed JSON into a design that people can edit.
  </Card>

  <Card title="Browser CAD" icon="cube" href="#browser-cad">
    Add building authoring to your own Three.js scene.
  </Card>

  <Card title="Architecture and BIM tools" icon="file-lines" href="#architecture-and-bim-tools">
    Make plans, sections, and scaled drawing sheets from one building.
  </Card>

  <Card title="Property and space planning" icon="house" href="#property-apps-and-space-planning">
    Edit a floor plan, label supplied room outlines, and read their areas.
  </Card>
</CardGroup>

## AI floor-plan generation

**Input:** a user request and building JSON proposed by your AI model.

**Result:** a checked building model, editable geometry, and a saved project file.

1. Define the model contract with [Building model](/floorkit/concepts/building-model) and [Coordinates and units](/floorkit/concepts/coordinates-and-units).
2. Follow the [agent building workflow](/floorkit/agents/agent-building-workflow) to check unknown JSON and return errors for correction.
3. Open the project and mount a [plan editor](/floorkit/guides/add-a-plan-editor) or [3D editor](/floorkit/guides/add-a-3d-editor).
4. Let the agent propose supported commands and let the person review the result. Keep the same project and undo history.
5. [Save and reopen](/floorkit/guides/save-and-reopen) the design. Add sheets when you need a PDF.

Floorkit does not supply the AI model or produce a plan from a text prompt by itself. Your app handles inference and design requirements. Model validation and geometry checks do not certify building-code compliance.

## Browser CAD

**Input:** your scene, camera, renderer, and typed building data.

**Result:** building elements in your scene, with supported 2D and 3D edits.

1. [Use your Three.js scene](/floorkit/guides/use-your-threejs-scene). Await kernel initialization before creating geometry.
2. Use `ProjectManager` for one project with building data, views, sheets, and history. Use `BuildingSession` when your app owns the project structure separately.
3. Mount a [plan editor](/floorkit/guides/add-a-plan-editor) and connect a [3D editor](/floorkit/guides/add-a-3d-editor) to that same project.
4. Use [edit commands](/floorkit/concepts/editing-and-history) for saved changes. Your own Three.js objects can remain in your scene.
5. Dispose the editors and project when the view closes. Your app disposes its own renderer and controls.

You supply the toolbar, storage, and application workflow. For general solid modelling without building elements, consider the [OpenGeometry kernel](https://docs.opengeometry.io/OpenGeometry/what-is-opengeometry).

## Architecture and BIM tools

For early site feasibility, follow the [Site massing playbook](/floorkit/playbooks/site-massing) to compare building footprints, heights, floor area and supplied zoning controls before modelling walls and rooms.

**Input:** storeys, building elements, saved view definitions, and a sheet layout.

**Result:** plans, straight sections, exterior elevations, and PDF drawing sheets.

1. [Start a building](/floorkit/guides/start-a-building), add [walls](/floorkit/guides/draw-a-wall), [doors](/floorkit/guides/add-a-door), and [storeys](/floorkit/guides/add-a-storey).
2. [Create a plan view](/floorkit/guides/create-a-plan-view), then [cut a section or create an elevation](/floorkit/guides/cut-a-section).
3. [Compose a sheet](/floorkit/guides/compose-a-sheet) with scales, dimensions, notes, and a title block.
4. [Export a PDF](/floorkit/guides/export-a-pdf) or [GLB model](/floorkit/guides/export-a-glb).
5. Save the JSON project too. A PDF or GLB is not an editable Floorkit project.

IFC and DXF exports are coming in the next release. Use the currently available outputs when your app needs to ship now. Sections use straight cuts; other drawing limits are in [Views and sheets](/floorkit/concepts/drawings). Floorkit supplies geometry and drawings, not structural or MEP certification.

## Property apps and space planning

**Input:** a building model and room outlines supplied by your app or user.

**Result:** an editable property plan, room labels and areas, and a design that can be reopened.

1. Create a project with a [plan view](/floorkit/guides/create-a-plan-view).
2. [Add a plan editor](/floorkit/guides/add-a-plan-editor) so people can move walls, doors, and windows.
3. [Define a room](/floorkit/guides/define-a-room) with its name, number, and outline. Read its area in square metres.
4. Keep the room outline current when the design changes. Floorkit does not detect rooms automatically from walls.
5. [Save the project](/floorkit/guides/save-and-reopen), then [compose a sheet](/floorkit/guides/compose-a-sheet) and export a PDF when the user asks.

Your app decides what an area means for its property or planning workflow. Check measurements and drawings against that workflow before sharing them as official records.

## Try the workflows

The [live examples](https://floorkit-examples.ploterr.com/floorkit) show modelling, editing, saving, and drawing exports. Each guide with a live frame links to its corresponding example.

For a coding agent, start with [Build with agents](/floorkit/agents/index). For a new developer, start with the [quickstart](/floorkit/quickstart). Local development is free; any deployed hostname needs a valid license key. See [Licensing](/floorkit/licensing).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.