1
0
Fork 0
Commit graph

225 commits

Author SHA1 Message Date
be12d36014 fix(map): widen MapZoneInput type union for political zones 2026-09-17 16:28:38 -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
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
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
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
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
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
4d08122464 feat(voiceover): spoiler gate, pacing pattern, and recorder updates
Recorder and pages gain a spoiler gate; voiceover lib adds clause-pause pacing support.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:37:12 -04:00
982c33f4f3 feat(missions): lexical rich text editing, side-op narrative fields, briefing updates
Editor, toolbar, and button components with the lib they share, consumed by the mission briefing section and side-op dialogs.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-14 15:37:12 -04:00
7ad9320c02 feat(respawn-tickets): settle attendance-based respawn tickets per mission
Tickets collection, settlement service, arma-bridge API route, one-shot ticketsSettledAt marker on missions, migration, and 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:05 -04:00
1b0e4ed074 feat(poker): grade hand ranks on a progressive style ladder
Every made hand maps to a presentation tier from high card (no styling) through brass, silver, and gold pairs to a sapphire straight flush and a royal flush prismatic treatment. The live hand hint carries the tier, so the you-have placard glows with your hand's rank, and royals now read as royal flush.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 17:30:03 -04:00
19113e39c9 feat(awards): add award advancement series
Awards can now upgrade through a series: collection fields and migration, grant flow support, profile and account UI updates, and regression coverage.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 17:07:37 -04:00
16a44d3fc5 feat(poker): redesign felt as diegetic oval with toolbar and viewer cards
The table becomes a full oval racetrack with a center deck and pot plaque, perimeter seats as compact pills with stack-first readouts that flash on change, betting actions mounted on the felt near the viewer, your own cards dealt onto the bottom rail at community-card size, directional popups, and gated start and waiting-room polish.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 17:07:28 -04:00
f90d9348e7 fix(intel): require write permissions for wiki moderation qualification
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:59 -04:00
6169bf6ce6 feat(awards): add ribbon design studio, review queue and submission UI
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:59 -04:00
1fb0165c12 feat(poker): add sit-and-go tables UI, felt styles, realtime events and navigation
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-11 03:25:43 -04:00
f0af778713 feat(dashboard): customizable dashboard with personal widgets
- Drag-and-drop widget arrangement (main two-column zone + sidebar) with
  per-widget span resize, persisted to Users.preferences.dashboard.layout
  via saveDashboardLayout (migration included)
- New personal widgets: Wallet, Open Negotiations, My Tickets (View all),
  Recent Notifications (per-row mark as read)
- Widgets that are empty or not visible to the viewer are omitted so they
  never render as empty drag targets
- Registers both pending migrations and regenerates payload types/schema
2026-09-10 20:03:27 -04:00
365e8561ec feat(campaigns): extract CampaignsList with hide-completed toggle
The campaigns page now renders a client-side CampaignsList that keeps the
official/community sections and adds a hide-completed switch.
2026-09-10 20:03:16 -04:00
7180b0aa4c feat(missions): make code name optional, add UGC cover images
- Missions.codeName is now optional (still unique when set); migration included
- Campaign and side-op dialogs accept an optional cover image (uploadUgcImage)
- Reminder toasts, evaluation aggregates, calendar, cards and mission headers
  handle a null code name
- Mission read filter no longer hides drafts by status; visibility follows
  ownershipAndStatus.visibility only
2026-09-10 20:02:47 -04:00
f781e53dc1 feat(story): add chapter table of contents with hover reveal to chronicle page 2026-09-10 17:56:35 -04:00
c48fee4b4d fix(missions): accept plain-text mod lists and keep side op narrative collapsed
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:13:59 -04:00
0fa6d9abb5 fix(missions): enforce access control on dashboard and intel mission queries
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:13:55 -04:00
486fdca2a0 fix(missions): enforce access control on missions pages
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-10 16:13:51 -04:00
a7c50c5fd0 feat(campaigns): add one-shot glitch hover effects for official campaign cards 2026-09-09 19:42:50 -04:00
8668a59d06 feat(campaigns): split page into official and community sections with tactical official cards 2026-09-09 19:42:50 -04:00
fdf6da5c5b fix(missions): only accept html mod lists for side op uploads 2026-09-09 18:55:00 -04:00
dcaa8c9bbe fix(voiceover): award xp and notify on admin-panel review approvals via hooks 2026-09-09 18:54:58 -04:00
1b552b3a6d feat(voiceover): add admin audio preview for voice submissions 2026-09-09 18:54:58 -04:00
cbe88c141b feat(opord): track per-tier best times with leaderboard column and par backfill 2026-09-09 11:37:51 -04:00
285de3ac14 fix(flappy): stop deriving returnTo from x-invoke-path
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:03:18 -04:00
25975db23f refactor(minigames): move routes, components, and libs under minigames parents
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-09 00:02:59 -04:00
76fbaba293 refactor(minigames): derive custom-page unlock state from shared lib predicates
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 22:38:38 -04:00
bf491fc9cd feat(eod): add author exposure toggle and reduced-XP copy to custom play
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
efda519569 feat(eod): pay reduced XP with creator banking on custom minefield runs
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 15:57:01 -04:00
1cf11745fe feat(radio): add custom radio test authoring, play, and leaderboard
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00
52328da8f9 feat(eod): add custom minefield authoring, play, and leaderboard
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-09-08 14:41:18 -04:00