feat(control): spawn session NPCs and resize tokens in preview
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -30,6 +30,7 @@ import type {
|
||||
SceneGrid,
|
||||
SceneId,
|
||||
SceneNpcToken,
|
||||
NpcMapSpawnDragState,
|
||||
SceneNpcTokensSessionEvent,
|
||||
SceneNpcTokensSessionState,
|
||||
ScenePlayerTokensSessionEvent,
|
||||
@@ -233,6 +234,14 @@ export const ipcChannels = {
|
||||
dispatch: 'sceneNpcTokensSession.dispatch',
|
||||
stateChanged: 'sceneNpcTokensSession.stateChanged',
|
||||
},
|
||||
npcMapSpawn: {
|
||||
beginDrag: 'npcMapSpawn.beginDrag',
|
||||
setHover: 'npcMapSpawn.setHover',
|
||||
commit: 'npcMapSpawn.commit',
|
||||
cancel: 'npcMapSpawn.cancel',
|
||||
getState: 'npcMapSpawn.getState',
|
||||
stateChanged: 'npcMapSpawn.stateChanged',
|
||||
},
|
||||
scenePlayerTokensSession: {
|
||||
getState: 'scenePlayerTokensSession.getState',
|
||||
dispatch: 'scenePlayerTokensSession.dispatch',
|
||||
@@ -319,6 +328,7 @@ export type IpcEventMap = {
|
||||
[ipcChannels.players.stateChanged]: { players: AppPlayer[]; teams: AppPlayerTeam[] };
|
||||
[ipcChannels.players.upsertProgress]: PlayersUpsertProgressEvent;
|
||||
[ipcChannels.sceneNpcTokensSession.stateChanged]: { state: SceneNpcTokensSessionState };
|
||||
[ipcChannels.npcMapSpawn.stateChanged]: { state: NpcMapSpawnDragState };
|
||||
[ipcChannels.scenePlayerTokensSession.stateChanged]: { state: ScenePlayerTokensSessionState };
|
||||
[ipcChannels.video.stateChanged]: { state: VideoPlaybackState };
|
||||
[ipcChannels.license.statusChanged]: { snapshot: LicenseSnapshot };
|
||||
@@ -875,6 +885,26 @@ export type IpcInvokeMap = {
|
||||
req: { event: SceneNpcTokensSessionEvent };
|
||||
res: { ok: true };
|
||||
};
|
||||
[ipcChannels.npcMapSpawn.beginDrag]: {
|
||||
req: { npcId: NpcId };
|
||||
res: { ok: true };
|
||||
};
|
||||
[ipcChannels.npcMapSpawn.setHover]: {
|
||||
req: { nx: number | null; ny: number | null };
|
||||
res: { ok: true };
|
||||
};
|
||||
[ipcChannels.npcMapSpawn.commit]: {
|
||||
req: Record<string, never>;
|
||||
res: { spawned: boolean };
|
||||
};
|
||||
[ipcChannels.npcMapSpawn.cancel]: {
|
||||
req: Record<string, never>;
|
||||
res: { ok: true };
|
||||
};
|
||||
[ipcChannels.npcMapSpawn.getState]: {
|
||||
req: Record<string, never>;
|
||||
res: { state: NpcMapSpawnDragState };
|
||||
};
|
||||
[ipcChannels.scenePlayerTokensSession.getState]: {
|
||||
req: Record<string, never>;
|
||||
res: { state: ScenePlayerTokensSessionState };
|
||||
@@ -929,6 +959,7 @@ export type LegacyIpcEventMap = {
|
||||
[ipcChannels.players.stateChanged]: { players: AppPlayer[]; teams: AppPlayerTeam[] };
|
||||
[ipcChannels.players.upsertProgress]: PlayersUpsertProgressEvent;
|
||||
[ipcChannels.sceneNpcTokensSession.stateChanged]: { state: SceneNpcTokensSessionState };
|
||||
[ipcChannels.npcMapSpawn.stateChanged]: { state: NpcMapSpawnDragState };
|
||||
[ipcChannels.scenePlayerTokensSession.stateChanged]: { state: ScenePlayerTokensSessionState };
|
||||
[ipcChannels.video.stateChanged]: { state: VideoPlaybackState };
|
||||
[ipcChannels.license.statusChanged]: Record<string, never>;
|
||||
|
||||
Reference in New Issue
Block a user