# DOC-0120 — Bone Flow #120 Trigger

Status: Development Candidate  
Runtime: BoneTrigger 1.0.0  
HTML Functional Class: `bf-trigger` / Functional Class Runtime 1.0.4

## Responsibility fixed from 000-Development-Order_v1.1.1

#120 Trigger manages the condition that starts Motion.

Formal examples are exactly:

- Mouse Enter
- Mouse Leave
- Click
- Double Click
- Focus
- Blur
- Change
- Parent Event
- Runtime Event
- Command

## Responsibility boundary

- #119 State: semantic/current state.
- #120 Trigger: what occurrence starts Motion.
- #121 Timeline: Delay / Duration / Loop / Repeat / Sequence / Parallel.
- #122 KeyFrame: values at intermediate times.
- #118 Transition: one visual interpolation between states.

This #120 candidate does not absorb those responsibilities.


## Trigger 操作テスト — 画面での確認方法

正式テストページは、次の4列を常時表示する。

| Trigger | 実際に操作する場所 | ユーザー操作 | 成功判定 |
| --- | --- | --- | --- |
| Mouse Enter | Mouse Enter テスト領域 | 枠の外から領域内へマウスを入れる | Fired +1 / Last Trigger = Mouse Enter / Motion Start = START |
| Mouse Leave | Mouse Leave テスト領域 | 領域内へ入れてから外へ出す | Fired +1 / Last Trigger = Mouse Leave / Motion Start = START |
| Click | Click Sourceボタン | 1回クリック | Fired +1 / Last Trigger = Click / Motion Start = START |
| Double Click | Double Click Sourceボタン | ダブルクリック | Fired +1 / Last Trigger = Double Click / Motion Start = START |
| Focus | Focus Source入力欄 | 入力欄をクリックしてFocus | Fired +1 / Last Trigger = Focus / Motion Start = START |
| Blur | Blur Source入力欄 + 移動先ボタン | Focus後に隣のボタンへFocusを移す | Fired +1 / Last Trigger = Blur / Motion Start = START |
| Change | Change Source Select | A/Bを変更 | Fired +1 / Last Trigger = Change / Motion Start = START |
| Parent Event | Parent Event発生ボタン | 親Componentイベントを通知 | Fired +1 / Last Trigger = Parent Event / Motion Start = START |
| Runtime Event | Runtime Event発行ボタン | Runtimeイベントを通知 | Fired +1 / Last Trigger = Runtime Event / Motion Start = START |
| Command | Command実行ボタン | Command開始条件を通知 | Fired +1 / Last Trigger = Command / Motion Start = START |

各行の成功判定は初期状態「未実行」。実際のBoneTrigger callbackが到達した時だけPASSへ変わる。Parent Event / Runtime Event / Commandのボタンはlogical signalの発生器であり、Click Triggerとして判定しない。

Smoke Testもこの操作表の実DOM / logical signal経路を実行し、画面上の成功判定とRuntime stateの両方を確認する。

## Runtime path

DOM trigger types are attached to an actual EventTarget and fire only through the corresponding actual DOM event. Parent Event / Runtime Event / Command use `BoneTrigger.signal()`.

#120 only emits a start-condition event to its consumer. It does not execute #116/#117/#118 Motion itself.

## Joint integration on the formal test page

Relation / Connection Image, Security rejection display, and OUT WAIT/FIFO/BLOCKED presentation use the installed canonical #002 Bone Joint v1.1.36. The Trigger Runtime itself does not duplicate Joint delivery or rendering logic.

## HTML Functional Class

```html
<button class="bf-trigger" data-trigger-type="Click" data-trigger-ui-no="UI-120-001">Run</button>
```

The mounted element dispatches `boneflow-trigger-start` when its formal trigger condition occurs.

For logical conditions:

```js
BoneTriggerFunctionalClass.signal(element, "Command", payload);
```

## Completion

The test page starts as NOT RUN / Development Candidate. Formal Completed / Specification Frozen must not be claimed before user localhost confirmation.


## Package v1.0.4 common UI correction

- Restored the formal `コンポーネント完了管理` section.
- Completion requires Smoke + Validation ALL PASS and explicit localhost visual confirmations for Trigger operation, all 10 Trigger types, Property/Preview, Joint, Security, WAIT/FIFO/BLOCKED, and Guide.
- Completion state is `Completion Flag=true / Status=Release Ready`; Reopen returns to `Development` and the same DOM completion path can be executed again.
- Restored the common `OUT WAIT / BLOCKED - #002 Joint v1.1.36 Integration` presentation. The normal user controls are `WAIT / FIFO 実行`, `BLOCKED 実行`, and `リセット`; manual Queue A/B and manual Target READY controls are not exposed.
