> For the complete documentation index, see [llms.txt](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/phases/phase_32/session_03_effective_mode_wiring.md).

# Session 03: Effective Mode Wiring

**Session ID**: `phase32-session03-effective-mode-wiring` **Status**: Not Started **Estimated Tasks**: \~12-25 **Estimated Duration**: 2-4 hours

***

## Objective

Route the resolved effective input mode through Play and Runtime Canvas behavior.

***

## Scope

### In Scope (MVP)

* Derive `effectiveInputMode` in the mounted AI Rogue Play view.
* Pass effective mode into `AiRogueRuntimeCanvas` through a clear prop or runtime preferences object.
* Use effective mode for initial `mountAiRogueRuntime` preferences.
* Use effective mode for `controller.updatePreferences`.
* Use effective mode for compact-control enablement.
* Use effective mode for canvas pointer-input availability.
* Include effective mode in hook dependencies so capability changes update an already mounted runtime.
* Keep renderer, render model, and runtime mount options concrete.
* Add focused Runtime Canvas/component coverage for auto resolving compact and explicit keyboard overriding mobile capability.

### Out of Scope

* Settings UI copy and controls changes beyond what is necessary for wiring.
* Public-demo e2e smoke.
* Moving capability detection into runtime or renderer.
* Adding new gameplay commands.

***

## Prerequisites

* [ ] Session 02 delivers raw/effective types and resolver/hook.
* [ ] Runtime mount/update call sites are mapped.
* [ ] Existing Runtime Canvas tests are available for extension.

***

## Deliverables

1. Play view and Runtime Canvas raw-versus-effective mode contract.
2. Runtime mount and preference update calls using concrete effective mode.
3. Compact controls and canvas pointer input enabled from effective mode.
4. Component/runtime tests proving auto and explicit override behavior.

***

## Success Criteria

* [ ] Fresh auto on coarse/no-hover enables compact controls after Start.
* [ ] Fresh auto on coarse/no-hover allows canvas pointer movement after Start.
* [ ] Fresh auto on desktop remains keyboard-first.
* [ ] Explicit keyboard on mobile keeps compact controls disabled.
* [ ] Explicit compact on desktop keeps compact controls enabled.
* [ ] Runtime and render-model APIs never receive raw `"auto"`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/phases/phase_32/session_03_effective_mode_wiring.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
