@ue-too/board / index / KmtIdleState
クラス: KmtIdleState
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:233
IDLE state - default state waiting for user input.
Remarks
This is the default state of the KMT input state machine. It handles scroll events for panning and zooming, and transitions to pan-ready states when the user presses spacebar or middle-click.
Responsibilities:
- Process scroll events (pan or zoom depending on device and modifiers)
- Detect spacebar press to enter pan mode
- Detect middle-click to enter pan mode
- Distinguish between mouse and trackpad input modalities
Scroll Behavior:
- Ctrl + Scroll: Always zoom (both mouse and trackpad)
- Scroll (no Ctrl): Pan (trackpad) or Zoom (mouse, determined by modality detection)
Input Modality Detection: The state tracks horizontal scroll deltas to distinguish trackpads (which produce deltaX) from mice (which typically only produce deltaY). This affects zoom behavior.
拡張
TemplateState<KmtInputEventMapping,KmtInputContext,KmtInputStates,KmtInputEventOutputMapping>
コンストラクター
コンストラクター
new KmtIdleState():
KmtIdleState
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:239
戻り値
KmtIdleState
上書き
TemplateState< KmtInputEventMapping, KmtInputContext, KmtInputStates, KmtInputEventOutputMapping >.constructor
プロパティ
_defer
protected_defer:Defer<KmtInputContext,KmtInputEventMapping,"IDLE"|"READY_TO_PAN_VIA_SPACEBAR"|"READY_TO_PAN_VIA_SCROLL_WHEEL"|"PAN"|"INITIAL_PAN"|"PAN_VIA_SCROLL_WHEEL"|"DISABLED",KmtInputEventOutputMapping> |undefined
定義: packages/being/dist/interface.d.ts:493
継承元
TemplateState._defer
_delay
protected_delay:Delay<KmtInputContext,KmtInputEventMapping,"IDLE"|"READY_TO_PAN_VIA_SPACEBAR"|"READY_TO_PAN_VIA_SCROLL_WHEEL"|"PAN"|"INITIAL_PAN"|"PAN_VIA_SCROLL_WHEEL"|"DISABLED",KmtInputEventOutputMapping> |undefined
定義: packages/being/dist/interface.d.ts:492
継承元
TemplateState._delay
_eventGuards
protected_eventGuards:Partial<EventGuards<KmtInputEventMapping,KmtInputStates,KmtInputContext,Guard<KmtInputContext>>> ={}
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:247
上書き
TemplateState._eventGuards
_eventReactions
protected_eventReactions:EventReactions<KmtInputEventMapping,KmtInputContext,KmtInputStates,KmtInputEventOutputMapping>
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:318
上書き
TemplateState._eventReactions
_guards
protected_guards:Guard<KmtInputContext,"isIdle">
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:243
上書き
TemplateState._guards
アクセッサー
delay
署名を取得する
get delay():
Delay<Context,EventPayloadMapping,States,EventOutputMapping> |undefined
定義: packages/being/dist/interface.d.ts:498
戻り値
Delay<Context, EventPayloadMapping, States, EventOutputMapping> | undefined
継承元
TemplateState.delay
eventGuards
署名を取得する
get eventGuards():
Partial<EventGuards<EventPayloadMapping,States,Context,Guard<Context>>>
定義: packages/being/dist/interface.d.ts:496
戻り値
Partial<EventGuards<EventPayloadMapping, States, Context, Guard<Context>>>
継承元
TemplateState.eventGuards
eventReactions
署名を取得する
get eventReactions():
EventReactions<EventPayloadMapping,Context,States,EventOutputMapping>
定義: packages/being/dist/interface.d.ts:497
戻り値
EventReactions<EventPayloadMapping, Context, States, EventOutputMapping>
継承元
TemplateState.eventReactions
guards
署名を取得する
get guards():
Guard<Context>
定義: packages/being/dist/interface.d.ts:495
戻り値
Guard<Context>
継承元
TemplateState.guards
handlingEvents
署名を取得する
get handlingEvents(): keyof
EventPayloadMapping[]
定義: packages/being/dist/interface.d.ts:494
戻り値
keyof EventPayloadMapping[]
継承元
TemplateState.handlingEvents
メソッド
beforeExit()
beforeExit(
context,stateMachine,to):void
定義: packages/being/dist/interface.d.ts:500
パラメータ
context
stateMachine
StateMachine<KmtInputEventMapping, KmtInputContext, "IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", KmtInputEventOutputMapping>
to
"TERMINAL" | "IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED"
戻り値
void
継承元
TemplateState.beforeExit
handles()
handles<
K>(args,context,stateMachine):EventResult<"IDLE"|"READY_TO_PAN_VIA_SPACEBAR"|"READY_TO_PAN_VIA_SCROLL_WHEEL"|"PAN"|"INITIAL_PAN"|"PAN_VIA_SCROLL_WHEEL"|"DISABLED",Kextends keyofKmtInputEventOutputMapping?KmtInputEventOutputMapping[K<K>] :void>
定義: packages/being/dist/interface.d.ts:501
型パラメーター
K
K extends string
パラメータ
args
EventArgs<KmtInputEventMapping, K>
context
stateMachine
StateMachine<KmtInputEventMapping, KmtInputContext, "IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", KmtInputEventOutputMapping>
戻り値
EventResult<"IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", K extends keyof KmtInputEventOutputMapping ? KmtInputEventOutputMapping[K<K>] : void>
継承元
TemplateState.handles
middlePointerDownHandler()
middlePointerDownHandler(
context,payload):void
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:358
パラメータ
context
payload
戻り値
void
scrollHandler()
scrollHandler(
context,payload):KmtOutputEvent
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:295
パラメータ
context
payload
戻り値
scrollPan()
scrollPan(
context,payload):KmtOutputEvent
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:257
パラメータ
context
payload
戻り値
scrollWithCtrlHandler()
scrollWithCtrlHandler(
context,payload):KmtOutputEvent
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:311
パラメータ
context
payload
戻り値
scrollZoom()
scrollZoom(
context,payload):KmtOutputEvent
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:271
パラメータ
context
payload
戻り値
spacebarDownHandler()
spacebarDownHandler(
context,payload):number
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:350
パラメータ
context
payload
EmptyPayload
戻り値
number
uponEnter()
uponEnter(
context):void
定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:346
パラメータ
context
戻り値
void
上書き
TemplateState.uponEnter