# Bone Flow #001 - Bone Core Guide

## 1. Bone Flowとは
Bone Flowは「意味・接続・表現・検証」を分離する情報フロー基盤です。

- **意味**: #001 Bone Core
- **接続**: #002 Joint
- **表現**: Text / Icon / Image / Shape / Input ...
- **検証**: Smoke Test / Validation / Completion

最初に覚える1行：**Boneは意味を持ち、Jointが意味をつなぎ、UIが見た目に変換し、Validationが正しく動ける状態かを確認します。**

## 2. #001 Bone Core
#001はBone Flow全体の最小データ構造とライフサイクルを定義する中核Runtimeです。

```json
{
  "id": "customer-name",
  "type": "text",
  "value": "山田 太郎"
}
```

#001はcreate / clone / update / replace / normalize / serialize / deserialize / destroy / isDestroyedを公開します。

## 3. #001と#002 Joint
#001がBoneを作り、#002 JointがEndpoint / Port / Compatibility / State / Deliveryを扱って次のComponentへ意味を流します。#001自身がJoint機能を持つわけではありません。

## 4. 表現Component
Text / Icon / Image / Shape等はBoneの意味を見た目として表現します。同じBoneを別表現へ渡しても、Boneの意味は変えません。

## 5. boneflow.js / boneflow.css
最終利用者向けの共通配布物です。編集元は`src/`で、`boneflow.js` / `boneflow.css`はbuildで生成します。

```text
public/
├─ index.html
└─ boneflow/
   ├─ boneflow.js
   ├─ boneflow.css
   ├─ src/js/001-core/
   ├─ src/css/001-core/
   ├─ tools/
   ├─ test/
   └─ docs/
```

## 6. Theme
Light / Dark / Neonを扱います。Neonは#002 Joint画面で使ってきた濃紺背景、暗いパネル、青/シアンの枠・選択、必要箇所の緑/赤/紫を使うBone Flow固有イメージです。

## 7. Test / Validation / Completion
Smoke TestとValidationを分離し、総数 / PASS / FAIL / 経過時間 / Versionを表示します。両方PASSするまで完了操作は有効にしません。ユーザーlocalhost確認前に正式Completed / Specification Frozenとは扱いません。
