会計講座の動画にフィードバックを反映した記録:IB配色は数字だけに、財務諸表講座は縦の画と台本の横並びへ

開発eurekapu-nuxt4

会計講座の動画にフィードバックを反映した記録

午後は、会計講座の dev 画面にフィードバックを書き込み、それを Claude Code に読ませて直させる作業を続けた。 対象は2つある。 Excel の操作を再現する画面(excel-scene)と、財務諸表の画面(fs-scene)だ。 片方では色のルールの線を引き直し、もう片方では一度自分で決めた見せ方をひっくり返した。

Excel講座の困りごとの回で、色が合っていない

最初に開いたのは、困りごとを扱う回(trouble-top)だった。 ここに入れたフィードバックを読ませ、ほかの回にも同じ症状がありそうなので点検して直すよう頼んだ。

IB の配色ルールは、セルの値の出どころを文字色で示す決まりだ。 打ち込んだ値は青、同じシートの計算は黒、ほかのシートから引いてきた値は緑になる。 動画の描画エンジンは、この色付けを持っていなかった。

Claude Code には、IB の文字色を描画エンジンの既定に入れさせた。 色そのものを題材にしている回まで塗り替えると語りと合わなくなる。 そこで、色を付けて見せる13本と CF精算表の World、青のボタンを押す回には ink: 'as-is' を付けて除外した。 全シーンを検査するテストは931件が通った。 色付けを一時的に外すと176件が落ちたので、テストが違反を拾えることも確かめられた。

別の困りごとの回(trouble-sum)を静止画で見ると、ピボットの集計値が青になっていた。 ピボットの出力は手入力ではないので、青は誤りだ。 シート単位の除外を足させて、933件が通った。 配布用ワークブックの書き出しにも、同じ色付けを通している。

日付まで青になっていた

上がってきた画面では、日付が青で描かれていた。 IB のルールで色を付けるのは数字だけでいい。 日付も中身は数字だが、見た目が日付なら、それは日付だ。 色で示したいのは、計算のもとになる数字がどこから来たのか(値貼り付けなのか、計算値なのか)である。 日付は基本黒でいい。 そう伝えながら、ルールにもそう書いてなかったかと聞いた。

書いてあった。 ルールファイル(ib-format.md)の §0 で日付は文字列として書くと決めてあり、§1 の「テキストラベルは色を変えない」に当たるので、日付は黒になる。 ルールは合っていて、外れていたのは実装のほうだった。 動画のエンジンは日付を通し番号(数値)で持っている。 新しい色付けは、それを手入力の数値と見なして青にしていた。

直し方は、表示形式から日付と時刻を見分けて黒にするものだ。 日付を明示的に青で書いていた回もテストが拾ったので、その色も外させた。 計算モジュールのブック生成も日付を青や緑にする作りだったので、同じ判定にそろえさせた。 同じ取り違えを繰り返さないよう、プロジェクトの Excel 生成ルールにも日付の扱いを1行足している。

続けて文字列のセルを見ると、台本側で青を手書きした文字列のセルが19本あった。 ほかの回は黒なので、表記ゆれになっている。 最終的に、ルールは次のように決めた。

  • 文字は基本黒
  • ほかのシートから引いてくる式は、文字でも緑
  • 打ち替える入力だけ青

演習Excelの差し替えで、音声の話と混ざりかけた

動画の色だけそろえても、受講者がダウンロードする演習 Excel が別の色のままでは食い違う。 元の演習 xlsx も、IB の色になっていなかった。 Claude Code には Excel 本体で書き換えるスクリプトを作らせ、書き出し先は元ファイルではなくコピーにした(計画の時点で126冊、33,490セル)。 146本を処理した結果、130本を書き換え、16本は変更なしで終わった。 FILTER のスピルが書き換えの後も生きていることも確かめさせた。

差し替えてよいかと聞かれて、最初は音声の話をしていた。 生成した音声は WAV をすべて MP3 に置き換えて容量を減らしているので、それで差し替えてもらって構わない、と。 話しながら、これは Excel の話で音声ではないと気づき、そのまま入れ替えてもらうことにした。 並行して動いている音声の作業とぶつからないよう、触る範囲は files/excel/ だけに絞って進めてもらった。

R2 には、中身の分からない名前のファイル(aaa.xlsx)が1本あった。 そんな名前のファイルは消してよいと判断し、中身を確かめさせてから削除した。

配信には CDN のキャッシュ(4時間)が付いている。 手順書どおり全消しはせず、差し替えた130 URL だけを5回に分けて消させた。 キャッシュ削除の後に配信中の129本を全数ダウンロードさせ、直した版と1本残らず一致することを確かめている。

コミットの段階で、Codex のレビューから2件の指摘が出た(スピル先の色を元の数式で決める部分)。 単体テストを足させ、直す前の挙動に戻すと落ちることも確かめた。 ところが文字列の扱いを直したら、入れ替え済みの Excel に食い違いが168セル出た。 最終的には、残りが元どおりの白文字とスピルのセルだけに戻り、テストは1232件通った。

コミットは2つに分けた(cb5231c3 が動画の文字色で38ファイル、71d6f3b7 が Excel の道具とサイト用コピー)。 続けてプルとプッシュも頼んだが、この2つは待っている間に、別のセッションの push ですでに上がっていた。

財務諸表講座は、PCなら横長にできる

2本目のセッションでは、財務諸表の画面再現(fs-scene)をストーリー版にする計画書を作らせた。 判断が要る3点を計画書のボタンで選び、判断2にはコメントを付けた。 戻ってきた案は、PC でも左にスマホ版の縦の画を置き、右に台本の文を1文ずつ並べる形だった。

それを見て、CF精算表と同じように、PC の見せ方なら横長にできるのだと気づいた。 そっちのほうがいいと答え、CF と同じ形(横の画を上、字幕の帯を下)に戻させた。

実装では、CF の島から共通の部品(StoryScroller.vue)を切り出させた。 CF の講座は、共通部品に置き換えても本番と同じ動き(→ で1文、自動で進むの ON と OFF)をすることをブラウザで確かめている。 財務諸表の島を作り、dev の見比べページで、まず A の形を動かした。 見比べ用には、左に縦の画、右に台本の文を並べる B の部品(FsStorySideBySide.vue)も作らせた。

見比べページでAとBを並べる

途中でコンテキストが切れ、要約から続きを始めた。 見比べページで B を開いて、これはいいと思った。 A は、なんとなく想像がつく。 B は、計画書の段階で自分が一度退けた、左右に並べる形と同じだ。 一度は横長を選んでいたが、B のパターンで全部やってもらうことにした。

1つだけ指摘を付けた。 PL の当期純利益が SS へつながるくだりで、左の画が引きすぎていた。 ここでは ⑥ 財務諸表の話しかしていないので、そこまで引く必要はない。 ⑥ 全体を縦いっぱいに広げればよく、ほかの同じような場面も全部そうしてほしいと伝えた。

Claude Code にはカメラの計算を直させ、財務諸表の段の各文で ⑥ がいっぱいに映るかを順に確かめさせた。 そのうえで、B を講座の島に組み込ませた。 スマホ幅では、いま読む文が上の画の裏に隠れる不具合が見つかったので、本文の枠だけを動かすよう直している。

36回すべてが講座の中で開けるかの確認では、二度つまずいた。 全数確認のスクリプトは長すぎてタイムアウトしたので、結果をページに貯めて小分けに読む形でやり直させた。 iframe で読もうとすると埋め込み禁止で読めなかったので、同じページの中で「次へ」を押して36回をたどる方法に変えた。 これで36回(マインドマップ10回、机26回)すべてが開けた。

最後に、まとめの回で財務諸表の下(BS の後半と SS)が切れていた。 まとめの回は取引ごとに机を作り直していて、そのときに縦の画の指定(bare)が引き継がれていなかった。 台本のファイルを直すと完了の署名が変わるので、机の計算側で引き継ぐように直させた。 財務諸表のテストは625件すべて通った。

コミットしてよいと伝え、7152d796(88ファイル)で入った。 いまは、36回すべてを B の形で、下書きとして dev で見られるところまで来ている。 残りは R2 への音声アップロード、最後の検証、公開の3つだ。 音声を公開する4回分だけ上げるのか、36回分すべて上げるのかは、まだ返事をしていない。

学び

  • 日付は中身が数値でも、色付けの判定では見た目で分ける。ルールは日付を文字列として扱うと決めていたのに、エンジンが通し番号で持っていたせいで青になった
  • 見せ方は、想像がつく案より実物を並べて決める。横長を選んだ後でも、見比べページに B が並んでいたから切り替えられた

明日やること

  • R2 へ上げる音声を「公開する4回分だけ」にするか「36回分すべて」にするか決めて返事をする
  • 財務諸表講座の最後の検証と公開
#動画講座#Excel#IBフォーマット#財務諸表#Claude Code#Cloudflare R2#レイアウト