Release v0.1.21 2026-07-19

This commit is contained in:
Warren H
2026-07-19 18:48:28 -04:00
parent 018e060cdd
commit 0e36ca1a41
30 changed files with 4701 additions and 120 deletions
+10 -2
View File
@@ -11,6 +11,7 @@ import { useForcedThorDisplays } from "./useThorDualScreen";
import { createRateLimitedPublisher } from "./rateLimitedPublisher";
import { DEFAULT_CONTROLLER_GLYPHS } from "../input/controllerGlyphs";
import type { HockeyPvpMatchConfig } from "../game/hockeyHealingPvp";
import type { RoguelikePvpMatchConfig } from "../game/roguelikePvp";
const BottomScreen = lazy(() => import("../components/BottomScreen").then((module) => ({ default: module.BottomScreen })));
const CONTROLLER_MOTION_SYNC_INTERVAL_MS = 33;
@@ -70,8 +71,8 @@ export function BottomDisplayApp() {
channelRef.current?.postMessage({ type: "frontend-command", command } satisfies DualScreenMessage);
}, []);
const launchGame = useCallback((bossIds: readonly BossId[], difficultySlug?: DifficultySlug, hockeyPvpMatch?: HockeyPvpMatchConfig) => {
postFrontendCommand({ name: "launchGame", bossIds, difficultySlug, hockeyPvpMatch });
const launchGame = useCallback((bossIds: readonly BossId[], difficultySlug?: DifficultySlug, pvpMatch?: HockeyPvpMatchConfig | RoguelikePvpMatchConfig) => {
postFrontendCommand({ name: "launchGame", bossIds, difficultySlug, pvpMatch });
}, [postFrontendCommand]);
useEffect(() => {
@@ -195,6 +196,13 @@ export function BottomDisplayApp() {
},
setEndlessChoiceSelection: (selection) => postCommand({ name: "setEndlessChoiceSelection", selection }),
setHockeyPvpPostMatchSelection: (selection) => postCommand({ name: "setHockeyPvpPostMatchSelection", selection }),
selectRoguelikePvpBuff: (buffId) => postCommand({ name: "selectRoguelikePvpBuff", buffId }),
selectRoguelikePvpCurse: (curseId) => postCommand({ name: "selectRoguelikePvpCurse", curseId }),
setRoguelikePvpDraftStep: (step) => postCommand({ name: "setRoguelikePvpDraftStep", step }),
submitRoguelikePvpDraft: () => {
postCommand({ name: "submitRoguelikePvpDraft" });
return false;
},
dispatchRpgAction: (action) => {
postCommand({ name: "dispatchRpgAction", action });
return false;