Skip to content
Arthur031221Public

About

Plan and replay furniture turning routes in a measured floor plan.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Live demo | Traditional Chinese | Simplified Chinese | Japanese | Korean | Spanish | French | German | Brazilian Portuguese

Unwedged

Unwedged mark

Node.js 22.12+ MIT

Find a turning route before the sofa arrives.

A local measurement tool to check whether a rigid rectangular item can turn through a measured floor plan on one level.

A real browser recording of a furniture route around a wall

Try it: open the live demo and choose Corner landing. Find and play the route at 74 cm, then change Width to 75 cm. Finding no route doesn't prove passage is impossible.

Quick start

Install Node.js 22.12 or newer and Git, then run the app locally:

npx github:Arthur031221/Unwedged#v1.3.0

This downloads the app and serves it on your computer at 127.0.0.1. On your first visit, wait for "Offline ready" before using it offline. Measurements stay in browser storage or files you save.

Unwedged models a rigid rectangle moving on one floor. It doesn't model 3D, stairs, tilting, carriers or deformation. The search has limits and can miss a route. It can't prove passage is impossible.

X and Y are center positions. The origin is at the lower left. X increases right and Y increases up. Positive angles rotate counterclockwise. See Usage for an example.

The drawing is the model. Measure what you put in it.

First use

  1. Choose Apartment hallway, Corner landing or Blocked corridor, then enter measured room and obstacle dimensions.
  2. Enter furniture length, width, fixed carry height and safety margin. Set the start and destination positions and angles.
  3. Find a route, then play or scrub through the returned poses. Warnings mark endpoint collisions or clearance at or below the required margin.
  4. Save the measurements and checked route as JSON, share a project link, or export a dimensioned SVG route sheet.

See Usage for coordinates and editing details, and Accuracy and limits for geometric checks and search limits.

Example project file

Save this as room.json, open it in the app, then choose Find route. Dimensions are in centimetres. Angles are in radians.

{"format":"unwedged","schemaVersion":1,"project":{
  "schemaVersion":1,"name":"Small room","floor":{"width":500,"height":300},
  "furniture":{"length":150,"width":70,"height":70},"margin":2,"rects":[],
  "start":{"x":100,"y":150,"angle":0},"goal":{"x":400,"y":150,"angle":0}
}}

Install by host

Install Node.js 22.12 or newer and Git. Run the command below in Terminal, a Linux terminal or PowerShell, then open the printed address. Stop the server with Ctrl+C.

macOS
npx github:Arthur031221/Unwedged#v1.3.0
Linux
npx github:Arthur031221/Unwedged#v1.3.0
Windows
npx github:Arthur031221/Unwedged#v1.3.0

Project files

  • src/core/geometry.ts computes oriented footprints, doorway gaps and physical clearance.
  • src/core/verify.ts certifies each motion interval with adaptive continuous bounds.
  • src/core/search.ts runs a deterministic A* search with finite state and time limits.
  • src/worker.ts runs search and imported-route verification off the interface thread.
  • src/locales contains nine interface translations.
  • docs/accuracy.md covers geometric checks and solver limits.

Development

From a checkout, run npm ci, npm run dev, npm test and npm run build. See CONTRIBUTING.md for browser, offline, package and independent Shapely checks. Font files and their OFL notices are included.

Assisted by Claude/Codex.

About

Plan and replay furniture turning routes in a measured floor plan.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages