Skip to content

feat(features): add the Brecilien portal as a temporary map feature - #67

Open
Maelstromeous wants to merge 2 commits into
mainfrom
claude/brazilian-portal-map-feature-03pld2
Open

feat(features): add the Brecilien portal as a temporary map feature#67
Maelstromeous wants to merge 2 commits into
mainfrom
claude/brazilian-portal-map-feature-03pld2

Conversation

@Maelstromeous

@Maelstromeous Maelstromeous commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Adds brecilienPortalPresent, a boolean node feature modelled directly on the crystal creature flag.

What it does

  • web/shared/src/types.ts — added to NodeFeatures and the Zod schema.
  • Toggled from the zone's Edit Map Features modal. The lone hardcoded Crystal Creature button became a TOGGLES list so both boolean features render from one place.
  • Shown as an icon on the node and in the Map History rows.
  • Summarised in the desktop Map Features tray and the mobile summary sheet, each with a click-to-navigate zone list ("Brecilien Portals").
  • Temporary. It is absent from the room_node_memory allowlist in update_node_positions.ts, so it is never written to memory — the flag lives only while the zone is on the map.

Icon

web/client/public/images/brecilien-portal.png, supplied by @Maelstromeous. It is 99×101, smaller than the other feature icons (crystal is 367²), so it looks slightly soft at the 56 px size used in the editor modal. Worth swapping for a larger crop later; nothing else depends on the dimensions.

Tests

Full suite green: shared 102, server 346, map-parser 64, client 373.

  • New web/client/test/BrecilienPortalFeature.test.ts (3 tests) covers the node icon rendering with and without the flag, and the modal emitting brecilienPortalPresent.
  • Extended the existing server memory-allowlist test to assert the new flag is excluded alongside crystalCreaturePresent and the timed chest.

Notes

  • The branch name still says "brazilian" — the feature was first built under a misspelling of Brecilien, corrected in bc84088. Only the branch name is left over.
  • docs/client.md updated for the new summary list.
  • pnpm --filter client lint fails on this branch, but it fails on main too — there is no eslint.config.js anywhere in the repo and ESLint 9 requires one. Not addressed here.

Adds `brazilianPortalPresent`, a boolean node feature that behaves like
the crystal creature flag: toggled from the zone's map-features editor,
shown as an icon on the node, and summarised in the desktop tray and the
mobile sheet with click-to-navigate zone lists.

It is transient, so it stays out of the `room_node_memory` allowlist in
update_node_positions — the feature exists only while the zone is on the
map.

Icon lives at web/client/public/images/brazilian-portal.png.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeivNnZKtp2k9qP6byTxF1
@vercel

vercel Bot commented Aug 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
albionroads Ready Ready Preview Aug 10, 2026 5:07pm

Request Review

It is the Roads city Brecilien, not "Brazilian". Renames the feature key,
the icon file, the UI labels and the test.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeivNnZKtp2k9qP6byTxF1
@Maelstromeous Maelstromeous changed the title feat(features): add the Brazilian portal as a temporary map feature feat(features): add the Brecilien portal as a temporary map feature Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants