1
0
Fork 0
Commit graph

692 commits

Author SHA1 Message Date
f8ce3f3dcc feat(logistics): timestamp shipment lifecycle with client relay
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-20 02:43:29 -04:00
7a0f997f70 feat(base): production, modules, adjacency auras, compounds, and crew speed
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-20 02:43:23 -04:00
07eb8aa22e v0.2.44 - fix blackjack leaver timers, duplicate join seats, force-end lobby return, dealer upcard label, leaderboard refresh 2026-09-19 17:39:32 -04:00
c2dc0fd593 fix(blackjack): show ten-value upcards correctly and auto-refresh the leaderboard 2026-09-19 17:39:18 -04:00
40b7cbb025 fix(blackjack): return players to the lobby when a table is force-ended 2026-09-19 17:39:18 -04:00
27b5b4537f fix(blackjack): resolve leaver turns, dedupe pending joins, terminate spectators 2026-09-19 17:39:18 -04:00
fad3d8399b v0.2.43 - add Friday open-slot notice, roll-call embed links and summaries 2026-09-18 14:53:26 -04:00
8104b500b9 docs: document the Friday open-slot notice and roll-call embed updates 2026-09-18 14:52:39 -04:00
fd9f36fc46 test(int): cover the Friday open-slot notice
Notice-day gating in Eastern time across DST, upcoming-Friday range,
stable dedup token, slot-open semantics (drafts hold the slot,
cancelled do not, other days do not count), and claimant resolution
(superuser exclusion, earliest-created wins, cancel reverts the
claim).
2026-09-18 14:52:39 -04:00
4fad7cd259 feat(bot): link roll-call embeds to the mission page with a summary
The embed title links to the mission page and an 'Open the op' field
carries the URL; the mission summary is shown under the title,
truncated to 300 characters with an ellipsis. The attendance hash gains
an embed schema version so live roll-calls re-render exactly once.
2026-09-18 14:52:39 -04:00
efae94c8a9 feat(bot): add Friday open-slot notice with claim credit and revert
At 8 PM Eastern on Wednesday, if no non-cancelled mission starts on that
week's upcoming Friday, post once in #side-ops pinging the Community
Zeus role (DISCORD_COMMUNITY_ZEUS_ROLE_ID, or the role resolved by
name): the slot is open, hosting is welcome, and otherwise the slot
stays empty or Jason hosts it himself. Dedup uses a stable per-Friday
timestamp token scanned from recent channel messages, so no DB state.
When a non-superuser later claims the slot the notice is edited to
credit them; a cancelled or deleted claim reverts the notice, and a
between-polls claim swap re-credits the new claimant.
2026-09-18 14:52:39 -04:00
7ccd825b8c v0.2.42 - add imminent-op reminder thread and attendee pings to the bot 2026-09-18 13:11:07 -04:00
8926cd182b docs: document the imminent-op reminder flow
design.md section + env row, bot AGENTS.md feature flow, root
AGENTS.md env list and services line.
2026-09-18 13:09:44 -04:00
8f7573f742 test(int): cover imminent reminder query boundaries
Window edges, post-start grace zone, and exclusions for marked
missions, missing roll-call, non-unit visibility, and draft status.
2026-09-18 13:09:35 -04:00
35769ea0f6 feat(bot): add imminent-op reminder thread with attendee pings
15 minutes before a posted op starts, the bot opens a thread on the
roll-call message and pings everyone who RSVP'd yes, as a last-call
nudge that the op is imminent. One-shot per mission via a new
imminentReminderSentAt marker on Missions (migration included); the
cancel flow clears it so a rescheduled op re-reminds for its new start
time. Poll cadence via DISCORD_IMMINENT_POLL_MS (default 60s).
2026-09-18 13:09:35 -04:00
308a522764 v0.2.41 - searchable site dropdowns, map ribbons and vertex snapping, political zone types 2026-09-17 16:28:45 -04:00
be12d36014 fix(map): widen MapZoneInput type union for political zones 2026-09-17 16:28:38 -04:00
947a5c1bbf feat(ui): searchable combobox across data-driven dropdowns
- new ui/combobox primitive (popover plus cmdk): search input, scrolling
  list, trigger-width popover, per-option disabled and hint lines
- converts every data-driven single-value select site-wide (blueprints,
  factions, accounts, assignments, NPCs, structures, locker items, seats,
  missions, ranks, resources, mod lists, event targets, sprints)
- long multi-select checkbox menus (event log types, kanban labels) gain
  search inputs following the resource picker pattern
- static short enum selects stay as plain selects
2026-09-17 16:28:17 -04:00
2bc61fe211 feat(map): zoom-tiered pins with info ribbons, vertex editing UI, attribution
- structure pins step 26px to 32px to 38px as you zoom in; at the close tier
  an info ribbon extends from the pin (name plus one status line: blueprint
  purpose, minute-bucketed build ETA, or first needed material)
- ribbons claim screen-space rectangles greedily by cluster priority so they
  never overlap other pins or ribbons; losers fall back to hover tooltips
- hovered structure jumps above all markers via a leaflet icon z-index rule
- authoring clicks and draft-vertex drags snap to existing geometry
  (vertices plus road/zone edges, closing segments included) with a live
  snap preview; draggable handles, right-click delete, midpoint insert
- distant roads render one straight midpoint label, close roads curve text
  along the path
- structure popover footer shows a live ETA countdown, status line shows a
  friendly estimated completion timestamp
- attribution control credited to the unit and game, restyled to match
2026-09-17 16:28:05 -04:00
cc0a7facd0 feat(map): political zone types, road label tri-state, authoring snapping lib
- map-zones type gains territory and country border (informational political
  boundaries that never gate placement, default fills amber 0.1 / violet 0.06)
- map-roads labelVisible is tri-state: unset means auto, where paved roads
  always label and dirt/trail only label at 4 m/px or finer (roadLabelShown)
- migration clears the old implicit label default on non-paved roads
- new pure snapping lib: findSnap (vertices own their neighborhood, edges must
  be twice as close), closestPointOnSegment, segmentMidpoints
- tests for label angles, tri-state rule, snapping, political zones
2026-09-17 16:27:55 -04:00
9ca85fce9b v0.2.40 - add game map system with road routing, timestamp construction model, nav refactor 2026-09-16 23:14:49 -04:00
b5925b7633 chore(generated): regenerate types and schema, register map migrations
Regenerated payload types and db schema; register the game map system, construction timestamp, map labels, and node/zone resources migrations.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:14:24 -04:00
8cab545b9d docs: document the game map system and construction timestamp model
Add docs/map-system.md with the mapping table and update AGENTS.md plus sub-AGENTS files for the map collections, routing, placement, and construction model.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:14:20 -04:00
a770c62d6f fix(ui): raise dialog and sheet z-indexes above map panes
Leaflet panes paint over body-level portals with z-50, so dialogs and sheets open invisibly on /map. Bump overlay and content layers to z-[1300].

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:14:20 -04:00
ad2fbb167a refactor(nav): sidebar minigames group, inline admin link, hidden map entry
Move minigame links from the user dropdown into a NavMinigames sidebar group, inline the admin link in AppSidebar via a new canAccessAdminPanel helper, guard NavCore against empty groups, drop the feedback secondary link, and add an empty navMap slot with a restore comment so the World Map ships hidden while /map stays live.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:14:16 -04:00
fcf220b961 feat(map): /map world map with authoring, placement, and feature APIs
Add the Leaflet map page and client (markers, labels, layer toggles, shipment interpolation), the placement and authoring server actions, the map-features and map-import API routes, and the map styles including leaflet pane isolation so portals stack correctly.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:14:12 -04:00
5be390012a feat(base): timestamp-based construction lifecycle with progress panel
Blueprints declare constructionDurationMinutes instead of tick counts. Delivering the last material starts construction at delivery time via maybeStartConstruction, setting constructionStartedAt/CompletesAt on the site; the game tick only sweeps completed sites. Structure detail page extracts server data helpers and shows a ConstructionPanel with a literal ETA countdown.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:14:07 -04:00
c64c9da0da feat(map): road-network routing for shipments with transport modes
Add pure routing, placement, point, and style libs plus map-system tests. Shipments gain a map relationship and routePath snapshot; ground vehicles route over the road network via Dijkstra while air and sea travel straight-line. Vehicle types declare a ground/air/sea transportMode and transit math works in meters.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:14:01 -04:00
5f06039697 feat(world): game map collections with basemaps, map permissions, and meter proximity
Add maps basemap config (world size, image/tiles mode, zoom defaults, isActive), map-roads, map-zones, and resource-nodes collections with maps:* permissions. Track game-structures map placement, meter coordinates, and label visibility/priority. Bump proximityThreshold to meters and adapt side-op map creation plus test fixtures to the new required fields.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:13:57 -04:00
28816b7084 chore(deps): add leaflet, react-leaflet, and type packages for the world map
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:13:49 -04:00
24d707a68a chore(events): add structure placed and construction-complete event types
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-16 23:13:49 -04:00
dce6f8f2ee fix(poker): dev panel card pickers ignored the first selection
CardPicker propagated null into onChange when no card was selected yet,
so the board picker's parent coerced every first pick to 2 of spades and
the hole-card pickers could never hold a value, keeping Queue hand
disabled forever. Picks now build a complete card, preserving any
already-chosen half, with regression tests on the extracted helper.

Co-authored-by: Sisyphus <sisyphus@ohmyopencode.dev>
2026-09-16 19:10:37 -04:00
074fdb02bf v0.2.39 - poker felt transformation with chip piles and chip flights, blackjack multiplayer fixes 2026-09-15 00:13:45 -04:00
2691bb05ec feat(poker): real chip piles on every seat's bet, the pot, and the console readout
Co-authored-by: Sisyphus <sisyphus@ohmyopencode.dev>
2026-09-14 23:02:13 -04:00
f81d978f88 feat(chips): sm size variant for chip piles on dense felt surfaces
Co-authored-by: Sisyphus <sisyphus@ohmyopencode.dev>
2026-09-14 23:00:54 -04:00
169f938b05 feat(poker): chip-flight animation between pot and viewer on hand settle
Co-authored-by: Sisyphus <sisyphus@ohmyopencode.dev>
2026-09-14 19:26:30 -04:00
0ddc090acb fix(poker): top-anchor activity log below the turn clock, cap visible lines
Co-authored-by: Sisyphus <sisyphus@ohmyopencode.dev>
2026-09-14 19:25:43 -04:00
df90a34c99 feat(poker): move action toolbar below the felt on narrow screens
Co-authored-by: Sisyphus <sisyphus@ohmyopencode.dev>
2026-09-14 19:25:34 -04:00
90070abb2e feat(poker): contain-fit 4:3 felt sizing and fullscreen portal parity with blackjack
Co-authored-by: Sisyphus <sisyphus@ohmyopencode.dev>
2026-09-14 19:24:59 -04:00
c4b19bf8e5 fix(blackjack): multiplayer seat overlaps, log above time bar, mobile toolbar clipping
Seat commit pill renders in the panel row (was painting over the bankroll on poker-shared absolute offsets), cardless hand reveals no longer render, corner-seat reveals shift outward clear of the dealer block, the action log tops out below the time bar, and on 640px-and-narrower screens the toolbar renders below the felt in flow instead of clipped inside it. Ships the v0.2.38 changelog entry.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 19:17:26 -04:00
618f884527 v0.2.38 - add blackjack and chip pool economy, poker upgrades, respawn tickets, rank promotions, lexical briefing editor, voiceover spoiler gate 2026-09-14 15:38:55 -04:00
4583596903 feat(chips): felt, chip, and popup styles plus win sound asset
Felt table, chip stack, delta popup, spinner, and flash styles for the card minigames; chaching.mp3 win sound.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:38:49 -04:00
17f3cc6f47 feat(profile): promote action and blackjack stats in profile XP
Server action pairing the GM promote button with the promotion service, plus the blackjack minigame stats block counted into profile XP totals.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:38:49 -04:00
77034a8e67 refactor(missions): render comms body with lexical-content class
Replaces inline prose utility stack with the shared lexical-content class from the rich text editor work.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:38:49 -04:00
4d9edb3dbe feat(chips): credit chip bank from non-card minigame XP
Each minigame action credits chipBank with chipsForXp on profile update, feeding the card-game buy-in pool.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:38:26 -04:00
be1e120727 chore(generated): regenerate types and import map, register migrations
Generated artifacts mirror the new collections and fields across the previous commits; the migration registry registers all four new migrations as one batch, matching the dev migrate flow.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:38:13 -04:00
a2ab066645 chore(infra): static AI compose prompts, sync-prod refresh, and deps
Payload config seeds AI Compose instructions statically so wiped prompt tables rebuild without LLM calls; sync-prod pairs with that per the config comment. Adds lexical deps and changelog entries.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:38:13 -04:00
67971dd7e6 feat(chips): persistent chip pool economy with shared balance card
Chip service and actions, fixed ChipBankCard with delta popup, sounds, spinner, and arena integration; chip bank migration and tests. Arena diffs are the chip-card mounts and join/leave spinner dispatches.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:38:05 -04:00
474aff734d feat(blackjack): add blackjack minigame with realtime table wiring
Engine, felt, controls, sounds, card skins, and dev popups; SSE events in the realtime hook, nav and command palette entries, stats migration, and the six blackjack test suites.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:38:05 -04:00
34dcefec54 feat(poker): felt UI popups, named table display, and dev controls
Table components, popup system, dev panel, and the actions/page wiring, with popup, table, and dev-control tests.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:37:19 -04:00