Repository navigation
TypeSafe Place 0.1.5 (River Oaks)
TypeSafe Place 0.1.5 (River Oaks) for Apple Silicon Macs.
Changes
- Walking actions behave predictably.
- An action that is still running (sitting down, watering, stepping through a door) keeps its place, so a second press can't trigger something else.
- A clicked or tapped action no longer stays pinned as the main one. Keyboard focus still holds its place.
- Clearer messages. Refused trips, doorways and meetings explain themselves instead of showing internal codes. A meeting refused by the travel cooldown now says to wait a moment, not that there's no clear place.
- Commands search opens Places or People when you type their names, instead of hiding the sidebar. "rail", "sidebar" and "play" find the panel toggles.
- Seating: one Stand up control. The seats panel no longer duplicates it, and the two can't send overlapping commands.
- Photo mode:
- One share sheet at a time.
- The quality hint no longer suggests switching to Sharpest when you're already on it.
- Slider values are no longer read out as part of each slider's name.
- No per-frame work while the photo panel is open.
- Boutiques: doorways keep their full width clear inside room layouts.
- Reliability: more of the game is now checked automatically on every change: shared-town journeys, CPU-rendered contextual, photo and command journeys, and three journeys updated for the shared town.
Desktop installation
Download TypeSafe-Place-0.1.5-macOS-arm64.zip, unzip it, and move TypeSafe Place.app to Applications. This is an ad-hoc-signed build, not Apple notarized. It needs an internet connection, GitHub sign-in through the system browser, and waitlist approval.
The desktop app loads https://typesafe.place/play. It is a thin hosted-game client; the archive doesn't contain an offline renderer.
SHA-256: 2f400a292009c88ac43d2b43868396cb1b38eaedcd3c75daff31d19672895485
Verification
Built from a clean worktree at the release merge commit, with its own npm ci:
npm test: 2,501 pass, 0 fail.npm run test:server: 267 pass, with 101 Redis-only cases skipped.npm run test:desktop: 9 of 9.npm run buildandnpm run desktop:packagesucceed.- The desktop end-to-end test with the loopback acceptance fixture passed. It covers assets and a playable character, sandbox and renderer isolation, keyboard movement, shop entry and exit, a resident conversation, graphics persistence and fullscreen.
The packaged app:
- reports 0.1.5
- passes
codesign --verify --deep --strict - has Electron fuses matching
desktop/fuses.js - holds only the desktop modules and package metadata in its ASAR
Production is deployed at the release commit.
Not verified: live authenticated play in the packaged app (it needs an approved account and an interactive sign-in), human accessibility, and Windows, Linux or native Unreal packages.
Delivery
Version bump #189, merged as 9b25e188dfcbf12c7d9fe061450b5a3032fb754a after all checks passed. The tag v0.1.5 is signed. Changes since v0.1.4: #180–#186 and #188.