---
name: 2026-06-01-wic-chart-phase1-lightweight-charts-deploy-events-resize-nav
description: "WIC chart Phase 1 deliverable — /chart + /ja/chart Lightweight Charts minimal sample (synthetic random walk, no real prices, no orders) + Events popover ⤢/⤡ resize + Nav 📈 Chart (Demo) link. 5-phase plan for future expansion (preset / no-code rule builder / real API). Honest scope: chat Claude pyramid design + display Layer 0 (TV widget) / analytical Layer 1 (Lightweight Charts) 物理分離"
metadata: 
  node_type: memory
  type: project
  originSessionId: 8a10cb42-0759-481b-ad2f-2456d94aea31
---

# WIC chart Phase 1 — 2026-06-01 deploy

## TL;DR

**`https://world-investment-center.pages.dev/chart/`** (英語) + **`/ja/chart/`** (日本語) で Lightweight Charts minimal sample 公開。 Synthetic random walk OHLC のみ (実価格・broker API・発注・助言 全て無し)。 同時に Events popover の ⤢/⤡ resize toggle + Nav に 📈 Chart (Demo) link 追加。 Cloudflare Pages public deploy 完了。

## Phase 1 deliverables (本日 deploy 済)

### 1. `/chart` + `/ja/chart` Lightweight Charts page

| 要素 | 内容 |
|---|---|
| **library** | TradingView Lightweight Charts v4.2.3 (unpkg CDN, ~45 KB gzip, Apache 2.0) |
| **chart** | candlestick + line series 切替 / pan / zoom / hover crosshair |
| **data** | deterministic random walk (seed=42 default), 100-15,000 points 切替可 |
| **controls** | 時間足 (D/H/M) / Style (Candles/Line) / データ点数 / Regenerate button |
| **status line** | 生成 + 合計 ms 表示 (250 点で 0.3 ms / 1.6 ms 実測 — comfort zone の 8%) |
| **honest scope panel** | 「本ページが行わないこと」 4 件明示 (demo data / no broker / no orders / no advice) |
| **technical notes panel** | Library / Size / Performance / Data source / Architecture 5 行 |

**Files**:
- `src/pages/chart.astro` (~210 行 英語)
- `src/pages/ja/chart.astro` (~210 行 日本語)
- `src/i18n/en.json` + `src/i18n/ja.json` (`nav.chart` + `chart.*` 各 33 keys 追加)

**Commit**: `5b4d291 chart: add /chart and /ja/chart Lightweight Charts minimal sample`

### 2. Events popover ⤢/⤡ resize toggle (mid-session 追加)

| 状態 | 仕様 |
|---|---|
| **compact (default)** | max-width 340px / 8 行 + 「+N more」 footer / title ellipsized |
| **expanded** | max-width 640px / 50 行まで / max-height 72vh + scrollable / title 折り返し可 |
| **persistence** | localStorage `wic-events-popup-expanded` (true/false) |
| **re-render** | document-level click 委譲 (`data-action="ev-toggle-expand"`) で同 lng/lat 即時 re-render |

**Files**:
- `src/components/WorldGlobe.astro` (`buildEventsPopupHtml` 拡張 + `showEventsPopup` 新 wrapper + ⤢/⤡ button HTML + CSS `.ev-resize` + `.ev-pop-expanded`)

**Commit**: `3c7bc90 events-popover: add ⤢/⤡ resize toggle to event-currency popups`

### 3. Nav menu 📈 Chart (Demo) link

`src/layouts/Base.astro` の top nav に Macro と Underserved 195 の間に追加:

```astro
<a href={lang === 'ja' ? '/ja/chart' : '/chart'}>{lang === 'ja' ? '📈 チャート (デモ)' : '📈 Chart (Demo)'}</a>
```

「(Demo)」 / 「(デモ)」 を nav label に含めて honest expectations 設定。

**Commit**: `ecc0eaf nav: add 📈 Chart (Demo) link to main nav`

## ★ Architecture (chat Claude pyramid design + honest 規律)

WIC chart は **chat Claude 提案の 5-layer pyramid** (前 session 整理) を念頭に Phase 1 を minimal sample として実装:

| Layer | 内容 | 本日 Phase 1 |
|---|---|---|
| **0 (display)** | TradingView widget (既存 home Live Rates dock, ~3.5M 銘柄 visual 専用, redistribution 禁止) | 既存稼働継続 |
| **1 (basic chart)** | Lightweight Charts + preset 指標 (MA/RSI/MACD/Bollinger 等) | ★ 本日 `/chart` 公開 (synthetic data, preset 指標は次 phase) |
| **2 (no-code rule builder)** | dropdown UI で指標 × 条件 × 出力 → 矢印 marker | 未着手 |
| **3 (optional scripting)** | Pine Script 風独自 DSL (sandbox JS or Rei-PL backend 接続) | 未着手 |
| **4 (sharing)** | rule JSON export/import (発注機能なし, market 化しない) | 未着手 |

## ★ honest 規律 enforce (構造的安全弁)

| 規律 | 実装 status |
|---|---|
| ❌ NO 発注機能 | FIEA §28 媒介取次ぎ回避 (本日 page で発注 endpoint 一切なし) |
| ❌ NO 海外無登録 broker 送客 | 金融庁警告対象 (本日 page で IB / 送客 一切なし) |
| ❌ NO API key フロント露出 | 現状 API なし (synthetic data のみ) / 将来追加時は server proxy 経由を明記 |
| ❌ NO 投資助言 | 一般公開無料 / 断定なし / IB なし (page で 4 件 NOT-claim 明示) |
| ❌ NO TV widget data 再配信 | display Layer 0 と analytical Layer 1 物理分離 |
| ✅ Display only / user 自己責任 | 本日 page は EU MiFID 準拠 framework 内 (display + disclaimer のみ) |
| ✅ `.ex4` 互換主張なし | 独自 layer 明示 (技術的に MT4 binary は browser で動かない 3 walls 確認済) |

## 性能 verify (本日 deploy 確認)

| metric | 期待値 (公式) | 実測 (deploy 後) |
|---|---|---|
| candle smooth | 50k+ at 60 FPS | 250 点 0.3 / 1.6 ms (target 20 ms の 8%) |
| library size | ~45 KB gzip | (CDN 経由) |
| pan / zoom / hover | 動作 | ✅ user 確認済 (本日 screenshot) |
| marker overlay limit | ~15k で性能低下 | 未テスト (markers 未実装) |

## 重要な fact-check 記録 (本 session 中)

| topic | result |
|---|---|
| TradingView 銘柄数 | **約 3.5 million** (公式 2026 stats, user quoted 1.3M は旧値) |
| Twelve Data 銘柄数 | **約 100,000 consolidated** (内訳: stocks 160k+ / ETF 25k+ / crypto 4.8k+ / forex 2k+ / commodity 60+ / 250+ exchanges / 90+ countries) |
| Alpha Vantage 銘柄数 | **約 200,000 stocks** + FX + crypto + commodity + US economic indicators / 20+ exchanges |
| TradingView vs API providers | TV 3.5M は **display 専用 (再配信禁止)** / API 経由で 100k-200k が現実的最広 |
| Lightweight Charts performance | **50k+ candles 60+ FPS smooth** / 45 KB gzip / marker overlay ~15k 上限 |
| `.ex4` browser 動作 | **不可能** (3 walls: TV widget no custom / Charting Library still need port / MetaTrader-only binary) |

## 次の選択肢 (Phase 2 = (D/E/C step)

### Phase 2-A: preset 指標 (D step 第一号)

Moving Average overlay (SMA20 / EMA50 等) を `/chart` に追加。 UI で 指標 ON/OFF + period 調整。 工数 ~1-2 hour。

### Phase 2-B: 矢印 marker (E step prototype)

固定 demo signal (e.g., 「終値が 5 本前平均を上回ったら ▲ marker」) を chart 上に描画。 chat Claude pyramid Layer 2 prototype。 工数 ~1-2 hour。

### Phase 2-C: ノーコード rule builder (E step 本体)

dropdown UI ([指標] × [条件] × [出力] → 矢印 marker, JSON spec で save/load)。 chat Claude pyramid Layer 2 本体。 工数 ~2-3 hour。

### Phase 2-D: 実 API 接続 (C step, 最複雑)

OANDA / Twelve Data / Alpha Vantage いずれか 1 つを backend Cloudflare Pages Function (proxy) 経由で接続。 API key は env var で server-side のみ保持 (browser 露出禁止)。 工数 ~5-8 hour (data source 選定 + ToS verify + proxy 実装 + chart 統合 + cache 戦略)。

★ 推奨 sequential: Phase 2-A → 2-B → 2-D (C step) → 2-C (D step) ─ proxy + 実 data が動いてから rule builder 着手が筋。

## /stock/ + /fx/ page の現状 (Phase 2 完了後に populate)

両 page は現状 placeholder:
- `/stock/`: 「Phase 2 で J-Quants / public exchange RSS / 公的市場 data source 追加予定 (ToS verify 必須)」
- `/fx/`: 「Phase 2 で 公的中央銀行 / public FX API 追加予定 (ToS verify 必須)」

「News loading...」 bridge (rei-aios.pages.dev RSS) も未配線 → Phase 2 の subset 作業。

## 関連 memory cross-link

- `[[project_session_2026-06-01_dense_day_paper160_v02_wic_chart_seed_approval]]` — 親 session summary
- `[[project_wic_session_2026-05-26]]` — WIC repo deploy convention (wrangler 直接 upload, git push でない)
- `[[project_wic_economic_indicator_stack_2026-05-30]]` — Stage 1 Honest Surprise Lens + Events badges
- `[[project_wic_economic_indicator_stack_session2_2026-05-30]]` — Stage 2-α D1 history + Calendar resize precedent
- `[[reference_finnhub_economic_calendar_actuals_2026-05-30]]` — Events data source
- `[[feedback_indicator_policy_lift_independent_fx_researcher_2026-05-28]]` — EA/インジ開発 解除前提
- `[[feedback_money_topic_full_lift_only_illegal_is_redline_2026-05-29]]` — 違法行為のみ red line
- `[[reference_japan_legal_line_fx_monetization_2026-05-29]]` — FIEA / 金商法 安全/グレー/違法 map
- `[[project_fx_chart_no_registration]]` — サイト直接投資不可
- `[[project_pending_honest_confluence_mt4_ea_step1181]]` — HonestConfluence_JP.mq4 別 repo precedent

## 関連 Rei artifact (本日新規)

- `src/pages/chart.astro` (英語版)
- `src/pages/ja/chart.astro` (日本語版)
- `src/i18n/{en,ja}.json` (nav.chart + chart.* 33 keys each)
- `src/components/WorldGlobe.astro` (Events popover resize logic + CSS)
- `src/layouts/Base.astro` (Nav 📈 Chart link)
- 公開 URL: `https://world-investment-center.pages.dev/chart/` (英語) + `/ja/chart/` (日本語)
