Skip to content

fix(map): rooms face their screens, arms clamp at the back edge, Add on it lists things not on the map yet (#150, #151, #152) - #156

Merged
ibrahimroshdy merged 3 commits into
mainfrom
fix/map-gaps
Oct 17, 2026
Merged

ibrahimroshdy merged 3 commits into
mainfrom
fix/map-gaps

Conversation

@ibrahimroshdy

Copy link
Copy Markdown
Collaborator

Closes #150, closes #151, closes #152.

Three map follow-ups to #137, one commit each. Ships in 1.10.6.

What a person can do

  • Rooms open facing their screens (Map: open rooms facing the screens, not from behind #150). Open a room and the 3D view turns to the front of its monitor, TV or laptop, not their backs. Turn it another way inside the room and it opens that way next time on this device.
  • Arms clamp at the back (Map: monitor arms clamp at the desk's back edge #151). Put on… or Add on it stands a monitor arm at the desk's back edge, the side away from the chair: centred, or at a back corner when the middle is taken. Its monitors hang over the desk in front of the pole. Turning the desk keeps it at the back; dragging it slides it along the back.
  • Add on it reaches things not on the map (Map: Add on it lists things not on the map yet #152). A holder's Add on it also lists the room's things that aren't on the map yet, under Not on the map yet, with the shape each would get. Picking one puts it on the map and on the desk in one step: one Done, one Undo.

Try the map does all three (it shares the engine and the layout code).

How it works

  • Facing: the turn most of the room's edge-mounted models have (weighted by width), seen from the diagonal with fewer walls in the way (rooms draw walls on two sides only). No screen: the view keeps its turn. A turn made in a room is stored per room in kept.map.turns (local storage, newest 200, failures ignored) and wins next time; the camera takes the short way round.
  • Arms: freeSpot tries the back row first for an arm on a top (middle, nearest back corner, then anywhere along the back); dropOn snaps an arm to the back edge and turns it to the holder's way. Saved layouts load as saved.
  • Add on it: offMapFor builds each off-map thing as the item it would become (thingItem, the D249 shape: chosen, saved, else the first suggestion) and keeps it only if that shape could be carried and fits the holder. addOn puts both kinds on in one plan change. The empty states no longer say "put one on the map first".
  • Spec: one row, D237 (amendment, Map: open rooms facing the screens, not from behind #150–Map: Add on it lists things not on the map yet #152). Docs: a line each on the location map page. Four new strings, in all five catalogues.

Tested

  • Web map suites: 7 files, 96 tests passed (new: facing.test.ts; arm back-edge cases in holders.test.ts, including a turned desk, the corner fallback and dragging; Add on it with off-map things, the one-step placement and the saved body in put-on.test.tsx).
  • Try the map: sample.test.ts 6 passed; node scripts/check-try-kept.mjs: every walk passed; docs build OK.
  • ci-local.sh --only lint,typecheck,drift OK; check-i18n every message in; check-logical-css OK.
  • Screenshots (Try the map sample, desktop and phone, light): a turned office desk opening with the screen facing the view, a dual arm at the desk's back edge with two monitors, Add on it showing Not on the map yet.

A room opens with the camera on the front side of its screens (monitors,
TVs, laptops, weighted by width), at the map's usual half-quarter angle;
a room with none keeps the current turn. Turning inside a room (buttons
or two fingers) is remembered per room on this device and wins next time.
Try the map shares the engine, so it behaves the same.

Closes #150

Signed-off-by: Ibrahim Roshdy <22573766+ibrahimroshdy@users.noreply.github.com>
Put on... and Add on it stand an arm at the back edge of a top (the side
away from the chair, opposite the front its turn defines): centred, else
a back corner, else anywhere along the back. It faces the desk's way, so
its monitors hang over the desk in front of the pole; turning the desk
turns the stack and keeps it at the back. Dragging an arm onto a desk
snaps it to the back edge and slides it along it.

Closes #151

Signed-off-by: Ibrahim Roshdy <22573766+ibrahimroshdy@users.noreply.github.com>
…e step (#152)

Add on it also lists, under "Not on the map yet", the room's things that
aren't on the map, each with the shape it would get (D249) and only when
that shape could be carried and fits the holder. Picking one puts it on
the map and on the holder in the same change: one Done, one Undo.
Viewers are unchanged; Try the map does the same. The spec gets one
D237 amendment row for #150-#152.

Closes #152

Signed-off-by: Ibrahim Roshdy <22573766+ibrahimroshdy@users.noreply.github.com>
@ibrahimroshdy
ibrahimroshdy merged commit 2d7c473 into main Oct 17, 2026
21 checks passed
@ibrahimroshdy
ibrahimroshdy deleted the fix/map-gaps branch October 17, 2026 01:37
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Map: Add on it lists things not on the map yet Map: monitor arms clamp at the desk's back edge Map: open rooms facing the screens, not from behind

1 participant