# #123 Particle

## 1. Overview
#123 Particle provides particle expressions. In v1.0.12 this package supports Snow / Rain / Sakura / Leaves / Smoke / Spark / Fire / Bubble. The page follows the whole-page layout of #017 Text so Property, Preview, Connection Image, Security, OUT WAIT / BLOCKED, Smoke Test, Validation, Completion, and HTML Functional Class can be checked in one flow.

## 2. Formal Responsibility
#123 owns only the choice of particle expression. The public value stays as `{"type":"Snow"}`. It does not own #117 Animation timing, #120 Trigger start conditions, #121 Timeline control, #124 Filter, or #125 Blend.

## 3. Public Data
`type` accepts only the eight formal values: Snow, Rain, Sakura, Leaves, Smoke, Spark, Fire, and Bubble. Unknown values, lower-case aliases, arrays, null, and accessor-backed objects are rejected.

## 4. Property Editor
The Property Editor exposes Property Language and Particle Type only. Particle Type contains eight values. Apply Particle or change the selection to update Preview.

## 5. Preview
Leaves shows falling autumn leaves. Spark shows a thunder strike whose main channel zigzags left and right and branches while it falls. Fire shows a campfire made from one large teardrop flame, one smaller inner teardrop flame animated at a different speed, and small glowing dot sparks around it. Bubble remains a bubble expression.

## 6. Connection Image
Connection Image uses the official #002 BoneJoint 1.1.36 runtime for the normal path and the four abnormal paths.

## 7. OUT WAIT / BLOCKED
WAIT → READY → FIFO delivery and BLOCKED non-delivery are verified with the official #002 delivery channel.

## 8. Security
Unknown types, arrays, null, and accessor-backed objects are rejected without breaking the current Preview.

## 9. Smoke Test
Smoke Test checks runtime identity, the exact eight formal types, create / setType, bf-particle Functional Class, Preview mount, #002 Joint 1.1.36, Connection Image, WAIT → READY → FIFO, BLOCKED, Security, I18N, DOC wiring, and the #017 whole-page structure.

## 10. Validation
Validation checks boundary ownership, no duplicate IDs, completion gates, and the WAIT/BLOCKED visual confirmation controls.

## 11. Completion
Completion requires Smoke Test, Validation, and four user visual confirmations. Before localhost confirmation the package stays Development / Candidate.

## 12. HTML Functional Class
The only normal-use class is `bf-particle`, for example `<div class="bf-particle" data-particle-type="Leaves"></div>`.

## 13. After Installation
Verify the Top #123 card, the #123 page, all eight previews, Connection Image, WAIT/FIFO, BLOCKED, Security, Smoke, Validation, Completion, and the HTML Functional Class entry.

## 14. Notes
Spark is fixed as zigzag branching lightning, Fire is fixed as a dual-drop campfire flame with small glowing dot sparks, and Leaves is fixed as falling leaves.
