• #日記
  • #eurekapu-nuxt4
  • #mdx-playground
  • #Vue 3
  • #i18n
  • #ElevenLabs
  • #VOICEVOX
daily-log

2026年5月8日の開発日記

財務諸表コクピットを4表構成に拡張し、Excel講座のプレースホルダーをリッチHTMLモックに置き換え、簿記アプリ全体を多言語化し、将棋盤インタラクティブデモまで作った1日。Codexに4回叩いてもらい、Geminiに局面を読ませ、agent-browserで棋譜DBから75手を復元した。形容詞だけで進むセッションが減って、画面の挙動と数字で詰める動きが増えた1日でもあった。

今日のタイムライン

タイムライン


今日やったこと

1. 財務諸表コクピットを4表化(S/S追加)

3表(BS/PL/CS)構成だったコクピットに、株主資本等変動計算書(S/S)を追加して4表に拡張。SVGコネクターを矢印から塗りつぶし丸に置き換え、純資産合計同士を線でつなぎ直し、当期純利益のリンク先をPLからS/Sの繰越利益剰余金に切り替えた。VOICEVOX辞書に「株主資本等変動計算書」を登録し、SS関連16ファイル+全134音声を再生成してR2にアップロード。BS左右の合計行揃えはpaddingの手調整からgrid-template-areas分割に方針転換し、資産合計と負債純資産合計のY位置差をゼロに揃えた。

主な成果:

  • SS(株主資本等変動計算書)コンポーネント追加、純資産関連の取引no-01/no-23/no-25のガイドにSS連動ステップを反映
  • BSの利益剰余金3行を削除しS/Sで代替表現
  • SVGコネクターのelbow midX計算バグ修正(同一サイド時)、矢印→●、z-index 45→60
  • 取引アニメーション任意トグル化、localStoragecurrentEntryId 永続化(モーダル別キー対応)
  • 取引23(決算)を「決算を確定する」ボタンに変更、closing時はアニメスキップで即時実行
  • topics.tsのdraftタグを外して公開化、SEO descriptionにS/S言及追加

詳細: 財務諸表コクピットを4表化 — 株主資本等変動計算書(S/S)追加とSVG接続修正


2. Excel講座のプレースホルダーをリッチHTMLモックに置き換え

/lessons/excel/basic-functions の各セクションで、placeholder.svgをExcelダイアログの忠実HTML再現に置き換え。「形式を選択して貼り付け」ダイアログ(緑のラジオ・dotted枠・OK/キャンセル)の上に解説カード①②③をオーバーレイし、6セクションで②だけセクション固有にハイライト。検索/置換ダイアログ、ワイルドカード演習データもHTMLで再現し、TheaterViewerのexercise/videoでも stageHtml をレンダリングできるよう改修した。readable-sheets 講座にはCh11「IBフォーマット早見表」を末尾追加し、Markdownコピペ+ダウンロードリンクで配布できる形に。

主な成果:

  • 全6セクション(値のみ/加算減算/数式のみ/書式のみ/行列入れ替え/乗算除算)に共通のフルダイアログ展開
  • ショートカット装飾を kbd スタイルに統一、ブロックを薄いグレー点線で囲んで境界明確化
  • ChatMessagedataHtml フィールド追加、boss発言の直下にExcel風データを配置
  • readable-sheets Ch3リフレーミング、Ch9(DB設計)・Ch11(IBフォーマット早見表)末尾追加、対応章の章名を内部リンク化
  • 動画圧縮スクリプトのFFmpeg NVENC p1p7プリセット対応(既存バイナリで十分だったのでスクリプト修正のみ)

詳細: Excel貼り付けダイアログをHTMLで忠実再現 — 解説カードオーバーレイで操作を可視化


3. eurekapu-nuxt4 を多言語化(@nuxtjs/i18n + ElevenLabs英語音声)

簿記アプリ全体を多言語対応。計画書をCodexに4回叩いてもらい、致命指摘ゼロまで詰めてからPhase 1(基盤)を着手→「全部いこう」の判断でPhase 2-4を一気実行。accountsMasterlabelKey を追加して Account.name を維持しつつ翻訳キー対応に切り替え、BS/PL/CS/SS/JournalCard/JournalExampleコンポーネントの全 t() 化。取引25件・ガイド29件・SVG 22件・アニメーション22件をサブエージェント並列で英訳。試しにElevenLabs APIでNo.01の英語音声を生成し、preprocessで -30 minus 30 対応、P&L→Income Statement、CS→Cash Flow Statement、SS→Statement of Changes in Equityへの正式英語表記変換を段階的に詰めた。

主な成果:

  • @nuxtjs/i18n 9.5.6 導入、317ページの route name 対応表をスクリプト自動生成
  • LangSwitcher+ useLocaleHead で hreflang/canonical/og:locale 自動生成
  • ElevenLabs No.01〜No.09の英語音声52ファイル(11MB / 8,951文字消費 / 月クレジット制約で10問打ち止め)
  • getGuideAudioPath をlocale連動、dev配信ミドルウェアは無変更
  • 来月分の続き対応を memo/2026-06-01/ に積み残しメモとして保存

詳細: Nuxt 3 簿記アプリを多言語化 — Codex 4thレビューと ElevenLabs 英語音声生成


4. 将棋盤インタラクティブデモを実装(鬼手1棋譜DB連携)

apps/web/app/pages/shogi-board-demo.vue で将棋の指し手をインタラクティブに進められるコンテンツを作成。SVG駒を木目グラデーション・立体感のある縁・書道風フォントの縦長五角形でリッチ化。鬼手1(藤井八冠 vs 広瀬八段 2021/4/9)の局面読み取りでCodex CLI(GPT-5.5、--image)に画像を投げたところ△桂と読まれ、Geminiの「8四=後手の飛車」判定を採用しなかったミスが発生。書籍の実戦譜手順がルール上整合せず、agent-browserでGoogle/Bing(bot検知でブロック)を諦め、shogidb2から直接KIF/SFENを取得して75手を完全復元。SFEN差分→指し手変換ロジックで全棋譜コンテンツを実装した。

主な成果:

  • 駒移動アニメーションは <TransitionGroup> のFLIPがinline transformを上書きする問題で頓挫→アニメ削除して移動先・移動元を先手青/後手赤でハイライト
  • shogidb2から60-75手目のSFENを差分解析、書籍の表記と将棋ルールの整合性を完全取得
  • コンテンツ切替UIで「相居飛車序盤5手」「鬼手1参考図」「鬼手1全棋譜75手」を提供
  • 7コミットを意味単位で分割(_redirects自動生成 / VOICEVOX辞書 / measure-deploy / 日記 / 計画書メモ / .claude設定 / 将棋デモ)

詳細: 将棋盤インタラクティブデモを Vue で実装 — Codex/Gemini で局面読み取り、shogidb2 から75手復元


5. ゴール×評価関数の戒めとCloudflare 2026Q1決算

「人に求められる能力は、いかに解像度高くゴールと評価関数を提示できるかになった感」というツイートを公開メモに残した。AIに任せた瞬間、評価関数を持っていない作業は消化不良で終わる。同日、Cloudflareの2026Q1決算分析(決算ビートしながら株価18%急落した「Good news, Bad reaction」構造)を公開記事化。「人間1人=1課金」から「エージェント1体=1課金」への転換が時代を象徴している。Claude Code自体の自己アップデート(mise管理外、irm https://claude.ai/install.ps1 | iex で更新)の小ネタも併記。

主な成果:

詳細: ゴールと評価関数の提示が人間の仕事になった日 — Cloudflare決算とエージェント経済


今日の試行錯誤

#テーマ試したこと結果気づき
1SVGコネクターの線が斜めにセル貫通from-side="left"/to-side="left" 指定でも midX が startX + 28 でセル内側に出ていた修正(同一サイド時のelbow midX計算が反対符号)同一サイド時は外側に逃がす条件分岐が必要
2BS現金行の塗りつぶし丸が背面に隠れるz-index競合(ガイド対象セルが52、オーバーレイが45)オーバーレイz-indexを60に引き上げガイド演出のz-indexを把握しないとオーバーレイが負ける
3BS左右の合計行が下揃いにならないpadding/marginを手で詰めて揃える試みgrid-template-areas分割に方針転換、Y差ゼロにExcel的グリッド構造を最初から想定すれば手調整不要
4SS表の配当金行に値が入る(no-04時点で発生していないのに35表示)テストファイル作成して再現-0 問題を計算側で正規化、全17テストpass集計の中間値で -0 が出るパターン要警戒
5VOICEVOX「行(ぎょう)」誤読SS関連16ファイルのみ再生成で済むと想定「行」を含む全134ファイル再生成に拡大辞書登録だけでなく文章全体に揺れがないか先に検査すべき
6i18n計画書のCodexレビュー1stで7点指摘→2ndで3点→3rdで1点→4thでゼロ4thで「Phase 1着手可能」判定致命指摘ゼロまで再帰すると設計の穴が露呈する
7ElevenLabs英語音声で -30 が変な発音短いテストフレーズで検証(138文字消費)preprocessで minus 30 置換、▲も対応TTS投入前のスクリプト置換が「英語版ユーザー辞書」相当
8局面読み取りでCodex採用→Geminiが正しかったCodex CLI --image 投げて△桂と判定後で気づいて△飛に修正1モデルの結果だけで突き進まず、先に渡された結果を読む
9書籍の実戦譜が将棋ルールに整合しない各手をシミュレーションするとルール違反agent-browserでshogidb2から75手SFEN取得→差分復元書籍の手順表記と実譜は別物の場合がある
10TransitionGroupのFLIPがtransform上書きCSS変数経由・left/topへ切替・:style明示上書きアニメ諦めて配色ハイライトに転換Vue 3のFLIPは :style transform と本質的に競合する
11Claude Code自身のバージョン推定アップデート前起動→「119のまま」と推定環境変数 AI_AGENT で2.1.132と判明推測で言わずに事実を確認する手段を持つ

今日の学び

  • 画面で違和感を拾う係、AIが実行する係: SVG接続の貫通、BS左右の合計ズレ、SS配当金行の誤値、いずれも画面側の違和感が起点。修正ロジックや再生成はAIが順次実行で片付ける構図が今日も繰り返し効いた
  • AI同士の判定が割れたら、先に渡された結果を尊重する: Geminiの結果を渡されたのに別途Codexで再解析した結果を採用してミスった。情報源の上書きは意識して避ける
  • 致命指摘ゼロまで再帰レビュー: Codex 4thレビューまで回すと、1stでは見えなかった設計の穴が3rd・4thで出てくる。瑣末な指摘を切り捨てる指示と組み合わせて使うと効率がいい
  • TTSのpreprocessは「英語版ユーザー辞書」: ElevenLabsには外部辞書機能がないので、API投入前のスクリプト置換が等価な役割を果たす。-30、P&L→Income Statementなどは全部preprocessに集約
  • 評価関数を持たない作業はAI時代でも一生終わらない: ゴールだけ提示してAIに丸投げすると、終了条件がないので「もう一声」が止まらない。最初に評価関数を切り出せた作業だけが終わる

明日やること

  • Codex担当のExcel講座音声プレイヤー × ページ表示の双方向同期(5/7積み残し)
  • eurekapu-nuxt4のi18n、ElevenLabs残クレジットで来月分の続き(No.10以降)

関連記事