# Bone Flow #035 - Switch v1.0.6

Status: Development  
Browser Runtime: NOT RUN

#035 Switch is the Input UI following #034 Radio. The Development Order names the Component but does not add detailed Switch-specific Property requirements, so v1.0.6 is an implementation candidate using the completed common Input UI structure without changing #033 or #034.

## Runtime API

- `BoneSwitch.create(bone, options)`
- `getValue()` / `getOn()`
- `getEditingValue()` / `getCommittedValue()`
- `setValue()` / `setOn()` / `setEditingValue()`
- `toggle()` / `commit()` / `reset()` / `validate()`
- `applyBone()` / `applyJointInput()`
- `buildOutput()`
- `connectOutput()` / `setTargetReady()` / `clearOutputBlock()` / `getOutputState()` / `getOutputQueue()`
- `getInput()` / `getLabel()` / `getState()` / `getOptions()` / `setOptions()`

## Visual / accessibility

The rendered control is a track + thumb Switch. The native binary input remains `type="checkbox"` for browser behavior, but exposes `role="switch"`; public Bone/OUT semantics use `value` and `on`, not a Checkbox-specific public contract. Active Border Effect follows the focused/active state and is independent of the ON/OFF value. Border rendering is delegated to #022 Bone Hover Border Effect v1.0.1.

## Test page

`http://localhost/boneflow/test/bone-switch.html`

Run Smoke, Validation, WAIT and BLOCKED checks in the browser. Completion remains unavailable until Runtime ALL PASS plus the required WAIT/BLOCK visual confirmations.


## v1.0.3 表示パターン

Property `displayPattern` を追加。`standard`（従来表示）を既定値とし、`soft-rounded` / `text` / `icon` / `button` を選択可能。


## v1.0.3 修正

- `appearance` Property を削除。
- ON時の丸Thumb位置を全Track系パターンで共通計算に統一。
- ボタン型は丸Thumbを持たず、状態に応じて `OFF` / `ON` を常時表示。


## v1.0.4 修正

- Neon Theme + `button` 表示パターンのON時に、ボタン背景がOFF色のまま残ってON文字と同系色になっていた不具合を修正。
- ON時はTrack/ボタン背景をNeon accentにし、`ON` 文字を視認可能に維持する。

## v1.0.5 修正

- Browser Smoke `S16B` は現在選択値ではなく `standard` option の `defaultSelected` を確認するよう修正。
- Browser Validation `V13` は破棄済みinstanceを参照せず、`defaults()` / `normalizeOptions({})` で `appearance` 非公開を確認するよう修正。
- Runtime本体のSwitch挙動・Property・CSSは変更しない。


## v1.0.6 修正

- Active Border Effect の描画責務を #022 Bone Hover Border Effect v1.0.1 へ委譲。
- Switch の Active 判定は従来どおり focus / `.is-focused`。ON / OFF、`checked`、`value=true` とは連動しない。
- Effect は `normal` / `neon` / `spin` / `cross` / `blink` の5種。Effect色・方向・速度を #022 へ渡す。
- boolean ON/OFF、5表示パターン、#020 Label、Security、#002 WAIT/BLOCKED、接続イメージ、Completion の契約は変更しない。
