財務諸表ストーリー版の動画プレイヤーを直す:字幕領域の拡張、区切り付き進捗バー、フィードバックの観点化

開発eurekapu-nuxt4

財務諸表ストーリー版の動画プレイヤーを直す

財務諸表講座のストーリー版(36回)を、朝のうちに本番へ公開した。 そのあと dev の画面を開くと、画の下に灰色の帯が居座っていた。 もともとは字幕が出る領域だったと思われる場所が、何も映さないまま画面の下を占めていた。

この日は、その帯を消すところから始まり、進捗バー、ヘッダーの音声操作、午後のフィードバック対応へと続いた。 途中で一度、変更のたびに回している全数検証の量に引っかかった。

前のセッションから持ち越した R2 アップロード

前のセッションで、「36回分すべて R2 に上げてください」と頼んでいた。 対象は mp3 252本、約86 MiB で、欠けはなかった。 アップロード用のスクリプトに --all を足させてから、裏で流した。 完了を待つあいだに計画書の進み具合を更新させ、引き継ぎをダウンロードフォルダにテキストで書き出させた。

次のセッションで引き継ぎを読ませると、アップロードは途中で落ちていた。 ログの末尾は fork の失敗で終わり、done: の行がなかった。 R2 の実在を全数 HEAD で確かめさせると、252本中152本があり、100本(18回分)が届いていなかった。 その18回分(107本)だけを上げ直させ、もう一度全数 HEAD をかけた。 252本すべてが 200 と audio/mpeg を返したので、計画書を更新してコミットした。 落ちたことに気づけたのは、全数 HEAD で確かめさせたからだ。

公開前の全数検証と、朝の公開

公開の前に、Playwright の検証スクリプトを書かせた。 36回を2つの幅で開き、回またぎ、自動で進む、JS なしの表示までを確かめるものだ。 結果は180項目すべて OK、コンソールエラーは0件だった。 制作画面との見比べも、No01、No06、No20、まとめの回で同じ時刻の画を並べ、一致を確かめた。 そのうえで、36回を 07:43 に本番へ公開した。

灰色の余白に押し込められていた画

もったいないので、灰色の帯をやめて画面いっぱいに広げてほしいと頼んだ。 あわせて、取引の回にある「取引、5要素、仕訳」のステッパーのように、説明の回でも話の区切りを画面の外に切り出したいと伝えた。

説明の回の画は、マインドマップの部品に見出しと余白が付いた形で描かれていた。 そこで、部品に見出しと余白を外す指定(bare)を足させた。 話の区切りは、取引の回と同じように右の文の列へ見出しとして付ける、という解釈で進めさせた。 10本の説明の回で文ごとの見出しを書き出すと、basics-02 だけ25文が見出しなしになると分かった。

dev で見ると、見出しと灰色の余白は消え、画は列いっぱいに映った。 ところが、根から右下へ伸びる曲線が出ていた。 原因は枝の線を描く処理にあった。 portrait の指定だけを見て向きを決めていたため、bare のときに横向きの曲線で描いていたのだ。 向きの判定を直させると、線は下へ伸びる縦のツリーに戻った。

狭い幅(390、844×390)を測ろうとすると、画面の部品が起動していないように見えた。 コンソールを見ると、起動が遅かっただけだった。 測り直すと、はみ出しはなかった。 Codex でレビューすると、「図に寄るときのカメラが、固定の縦長の範囲で倍率を計算している」という指摘が high で出た。 狭い幅と広い幅で図に寄る場面を撮らせ、枠に収まっていることを確かめてからコミットした(2ce6e716)。

PC版(横)と、膨らむ全数検証

続けて、説明の回の画を縦(スマホ版)と横(PC版)の2つの版に分けることにした。 ミラーカラムの共有部品には、チャプターの左に親の列を出す仕組みがまだなかった。 そこで、先頭へ1列足せる任意の指定(leadColumn)を加えさせた。 渡さなければ何も出ないので、ほかの約70ページの見た目は変わらない。

PC版を足したあと、PC版36回とスマホ版の全数検証を裏で流させた。 ここで、どれを対象にしているのかを聞いた。 「また膨大な量を検証していないか」という確認である。

返ってきた答えは、PC版は最後まで流し、スマホ版の再確認は止めるというものだった。 スマホ版は、チャプターの境目をまたぐ1チャプター分だけを確かめる。 しばらくして「順調なのか」と聞いた。 途中で止まった検証は終わらせ、残りの108件(→、←、自動で進む)を1件ごとに時間切れを付けて流し直しているところだった。 PC版は108件すべて通り、スマホ版も1チャプター分の20件がすべて通った。 PC版は 990a4591 としてコミットし、10:15 に本番へ出した。

変更に関わらない範囲まで毎回全数を回すと、待ち時間だけが増える。 変えた版は全数、変えていない版は境目の1チャプター、という切り分けに落ち着いた。

区切りの見える進捗バー

PC版の画には、帯の中に短い再生位置のつまみがあった。 各回の動画は、どこで文が切れるか(→ ← で止まる位置)が分かっている。 それにしては、つまみが短すぎる。 そこで、字幕の帯のすぐ下(外側)に、コンテンツの幅いっぱいの進捗バーを出してほしいと頼んだ。

バーには文の区切りに線を入れ、「何文目/全何文」と時刻を添えさせた。 CF 講座とほかの講座の見た目は変更前と一致し、PC版の操作23件も通った。 ボタンを押したあとに ← → が効かなくなる経路がないかも、ミラーカラムのキー処理まで見させた。

あわせて、ストーリー版でも制作中の「完了」とフィードバックを記録できるようにした(7d0da6e6)。 この欄は dev のときだけ出て、本番の講座には出ない。

ヘッダーの音声操作が消えていた

フィードバック欄を足したあと、ヘッダーにあった音声の操作が見当たらなくなった。 確かめさせ、ヘッダーには速度のボタンを小さくした形で戻させた。 フィードバック欄は、共通の部品に足した差し込み口(タイムラインの下に中身を入れ、画はそのぶん縮める)から渡す形にした。 これらを含む3点をコミットした(c83e0ea9)。

ここで自分のレビューに入るため、計画書の §4 に「2026-10-15 12:20 時点の進み具合」を足させた(1d23af87)。 本番に出ているもの、dev だけのもの、これから行うフィードバック、残りの作業を分けて書いてある。 引き継ぎはダウンロードフォルダにテキストで置き、セッションを替えた。

午後のフィードバックと「横向きはあるはず」

講座のページから書き込むのはやりにくかったので、フィードバックはターミナルで伝えることにした。 最初の指摘は、説明の回の冒頭にある「活動、取引、簿記、報告」のマインドマップだった。 これは要らないと思った。 次のコマにある「会計の流れ」の図をいきなり出して、そこから説明すればよい。 そして、この図には横向きの版があるはずだと伝えた。

リポジトリの中を探させると、縦長の版(1200×1233)と横長の版(1200×649〜755)が見つかった。 見比べ用のスクショを撮る道具で手間取り、書き直させる場面もあった。 見比べた結果、「会計の流れ」の横向きはリポジトリ内には無く、縦長しかないと分かった。 昔の講座フォルダを探させ、次に旧サイトのスライドを当たらせた。 すると、横長のスライド(1680×1050)が9枚見つかり、語りと同じ順でコマが積み上がっていた。 横向きの図は、やはりあった。

ここまでの6件は、計画書の段10に書き留めさせた。 画像は保存できないので、言葉に言い換えさせ、PC版の4つの回のフィードバック欄にも「第1回フィードバック」として保存させた。 件数の API でも、4回とも1件として数えられていた。 もう修正したのかと聞くと、まだ何も直していなかった。 フィードバックが出そろうまで待っていたという。

6件を観点にまとめて、10本へ横展開する

昼食に出る前に、直し始めてほしいと頼んだ。 直接指摘した箇所だけでなく、観点として抽象化し、似た問題がほかにあれば直してほしい。 直したところは URL で全部教えてほしい、とも伝えた。

6件は次の観点にまとめ直させ、計画書の段10に書き足させた。

  • 図があるなら、箱ではなく図で説明する
  • PC版は横の図を使う
  • 最初の画は、根と枝の名前だけにする
  • 机は、話している枠だけを映す
  • スライドで図にしていた話は、図で説明する
  • 数字のつながりは、線と光でたどる

説明の回の残り7本は4つのエージェントに並列で監査させ、導入1、3、5は親のセッションで直させた。 スライドの上の帯は高さ 37px だったので、y=40 で切り落として取り込ませた。

テストでは、想定どおりの失敗(古い冒頭の画のルール)が2件出た。 もう1つ、横の画が枠に収まらないという失敗があった。 カメラは横の図を使っているのに、テストが縦の図で測っていたせいだった。 テストを版ごとの図で測る形に直させた。

導入2の一覧では、95秒の画が真っ白、58秒の画が根だけになっていた。 撮り直すと図は正しく出ていて、撮影の瞬間のずれだった。 写真の入ったスライド4枚は PNG から JPEG に変えさせ、合計 13MB が 1.9MB になった。

結局、9本を直してコミットした。 「はじめに」は観点に当たる場面がなかったので変えていない。 台本の文と音声にも手を入れていない。 取り込んだスライド画像73枚は、コードとは別のコミットにした。

⑥ 財務諸表が真ん中に来ない

次の指摘は、取引の回で ⑥ 財務諸表を説明している場面だった。 このとき、左側の ③ 仕訳帳と ⑤ 残高試算表を出す必要はほぼない。 引きの画では、必ず ⑥ が真ん中に来てほしい。 ところが毎回微妙にずれて、上下が見切れていた。 たぶん全部の取引で同じことが起きている、と伝えた。

原因は、⑥ のカメラが ⑤ 試算表まで含めて撮り、机の右端で止まっていたことだった。 ⑥ のあいだは ③〜⑤ を隠し、⑥ を真ん中に置くカメラにさせた。 検算すると、1.31〜1.44倍の「少しだけ寄る」画が残っていた。 これが「微妙にずれる」画に当たると見て、⑥ 全体に引く判定のしきい値を 1.5 に上げさせた。 長い No20 と No21 でテストが時間切れになったので、隣のテストと同じ30秒の上限を付けさせた。

PC版の取引の回25本すべてで、⑥ の段では ③ と ⑤ が消え、引きのときは ⑥ 全体が上下も切れずに真ん中に来るようになった。 スマホ版は今までどおりだ。 最後に、メモリ不足で dev サーバーが止められ、案内した確認用の URL はその時点で開けなくなった。

学びメモ

  • 「横向きはあるはず」と言ったとき、リポジトリには縦長しかなかった。探す範囲を昔の講座フォルダと旧サイトのスライドまで広げさせて、ようやく横長が出てきた
  • 直接の指摘を6つの観点に言い換えておくと、指摘していない回にも同じ物差しを当てられる。10本のうち9本に当てはまる場面があった
  • 全数検証は、変えた版だけを全数にし、変えていない版は境目の1チャプターに絞れば足りた
  • 裏で流したアップロードは、次のセッションで全数 HEAD をかけて初めて、途中で落ちていたと分かった
#eurekapu-nuxt4#財務諸表#動画プレイヤー#Nuxt#Cloudflare R2#Playwright#Claude Code