原図にない矢印を消す。SVG図解のレビューで線と余白のルールを決めた一日

開発eurekapu-nuxt4

380枚そろったところから、指摘が始まった

前日の積み残しは6件あった。 税務の講義用テキストの図をSVGに描き直す作業で、間接税法の11枚と法人税法の16枚がまだ「準備中」のまま残っていた。

朝いちばんに原図6枚を並べさせたら、描き方の語彙がそろっていることに気づいた。 矩形は原料、丸は発酵中の液体、二重枠は酒類、角丸は貯蔵、括弧は工程。 6枚とも同じ記号を同じ意味で使っている。 だったら1枚ずつ手で描く理由がない。 描画エンジンとデータを分けた生成スクリプト1本にまとめさせた。

これが効いた。 座標の機械検証を先に入れさせたので、「水からもろみへ引いた線が酒母の楕円を貫通している」といった事故がその場で拾える。 線の貫通も検出対象に足させて、6枚を通した。 残り5枚のうち大きかったのは25項目4階層のツリーで、それも同じ仕組みで通った。

昼前には、図の「準備中」が0になった。 公開380枚。 朝の時点で354枚だったから、26枚増えたことになる。

確認するURLが出てこない

完了報告を受け取って、最初に返したのは確認方法の質問だった。 どのページを開けば今日の図が見られるのか、直接叩けるフルパスで出してほしいと頼んだ。 「図を作りました」だけでは、こちらは何も確認できない。

割り出させたURLは、ギャラリー側が ci で章、si で図を指す形になっていた。 実機で開かせて表示を確かめさせたうえで、並べ直させた。 ついでに、図の下に「清 酒 か す」という図ラベルの残りが見えているのも見つかった。 本文に混ざったOCRの残骸で、原本を当たらせたら該当ページは図だけだった。 31行まるごと図のラベルだったので削除させた。

四角と四角をつなぐ線が消えていた

開いたギャラリーを見て、原図と違うところがすぐに目についた。 四角と四角のあいだに矢印の三角が付いている。 原図では、そこは線でつないでいるだけで矢頭が無い。 しかも三角が太いせいで、肝心の接続線がそれに食われて見えなくなっていた。

3枚のURLを渡して直させた。 原因は共通エンジンにあり、幹線と箱の隙間が14pxしか無いところへ矢頭を描いていた。 エンジンを直せば、同じ仕組みを使っている法人税法10枚に一括で効く。

127枚を1枚ずつ突き合わせる

間接税法の図でも、線が矢頭に潰れていた。 ボックスどうしを線でつなぐところを全体的に見直してほしいと頼み、代表の1枚から直させた。 矢頭44本が1本になり、接続はすべて線になった。

そのうえで、残りの図でも同じことが起きていないかを聞いた。 洗い出させたら候補は127枚で、うち線が潰れているものが60枚あった。 このまま一括で矢印を消したくなる数字だ。

止まったのは、上位3枚を原図と並べたときだった。 所得税の計算フローの系統は、原図にも矢印がある。 「矢印は要らない」ではなく「原図に矢印があるかどうか」を1枚ずつ見るしかない。

127枚分の突き合わせシートを作らせて、43シートを順に見た。 結果は、122枚が原図にも矢印ありで据え置きになった。 手を入れるのは5枚まで絞れて、最終的に線に変えたのは3枚だけだった。 残りは、矢印そのものは正しく、軸が短すぎて三角だけに見えていた問題だった。 こちらは37枚まとめて軸を伸ばさせた。 変更が出た41枚を目で見て、崩れが無いことを確認した。

候補127枚をまとめて処理していたら、原図どおりの矢印を122枚分消していたことになる。

図の意味に踏み込む

矢印の有無は原図を見れば決まる。 決まらないものもあった。

ある図の原図は、政府が上、企業と家計が下に置かれた三角形になっている。 ただ中身を読むと、政府へ租税と労働力を納め、そこから公共財や補助金、給付を受けるという対比になっている。 それなら上下より左右のほうが構図に合う。 左を企業と家計、右を政府に組み替えさせ、丸数字は矢印の線上に重ねさせた。

人口推移のグラフでは、ある年から先がおそらく推計だ。 実績と推計の境目をグレーの点線で区切ってほしい、と頼んだ。 戻ってきたのは、棒グラフそのものが点線になった図だった。 棒まで点線にすると、単純に見づらい。 区切りが1本入っていれば、読み手には伝わる。 棒は通常の塗りに戻させ、破線は境界の1本だけにさせた。

丸数字の順序も直した。 ①から④までの番号が意味を持つ図なのに、③が下、④が上に来ていた。 上から読んで①②③④になるよう入れ替えさせた。 すると今度はバッジが③と④でほぼ同じ高さに並んだので、段差の出る位置へ置き直させた。

もう1枚では、合計所得金額の欄が抜けているように見えた。 元のバージョンでもそうだったかと確かめさせたら、原図にも無かった。 原図では、損益通算から損失の繰越控除へ直結している。 それでも列を足させた。

この一連のやりとりは、記録用のHTMLに積ませることにした。 指摘の逐語、before、after を1件ずつ並べて、原図と見比べられる形にする。 細かい指摘ほど図の仕上がりに効くので、口頭で流すのがもったいない。 夜までに013番まで積んだ。

生成スクリプトがGitに無かった

間接税法の代表1枚に取りかかったとき、生成スクリプトが見つからなかった。 理由を調べさせたら、スキル側がそれを必須にしていなかった。 「複雑な図は手書きより生成スクリプトのほうが座標のミスが出ない」という任意の推奨で止まっていた。 サブエージェントへ委譲するときのチェックリストも、成果物をSVGそのものとしか定めていない。 2日前に法人税法と所得税法を並列で委譲したコミットには、生成スクリプトが1本も入っていなかった。 git履歴に削除跡も無い。 最初から書かずにSVGを直接書いていた。

これはルールにした。 スキル本体を更新させて、生成スクリプトを必須にした。 既存の図についても、書き起こしから作らせることにした。 あわせて、触る図は着手前に必ず v2、v3 と番号を付けて退避する運用にした。 生成スクリプトが無いからといって、図そのものが消えるわけではない。 ただ、次に直したくなったときに書き起こしからやり直すことになる。

余白の刻みを決める

3つの列を持つ図で、左端に並ぶ居住者と非居住者のボックスの高さがそろっていなかった。 ちょうど半分に割れる形なので、高さをそろえて2分割するよう指示した。

そこから余白の話になった。 それまで一律24pxだったものを、フィボナッチ数列の段に載せ替えさせた。 21pxを選んだのは、既存のルールと衝突しない値がそこだけだったからだという。

見比べたら悪くない。 区分と内容のあいだは13px、それ以外は21px。 マージンがすっきりして読みやすくなっている。 ただ21pxのところが少し空きすぎに見えた。 この刻みのままでは、ピクセル単位で各要素の余白が大きすぎるという元の問題が直らない。 フィボナッチの段を1つ下げる形で確定させて、13枚を作り直させた。 詰めると矢印が潰れる箇所が出るので、そこは同時に直させた。

空振りしたアップロードと古いキャッシュ

R2へのアップロードが一度、完全に空振りした。 22.9MBが0.1秒で終わったことになっていた。 PowerShell 5.1で走らせていて -Parallel が効かず、1件も上がっていなかった。 PowerShell 7で入れ直させた。 392枚の実測は692秒と780秒で、0.1秒で終わるはずがない。

上げ直したあとにも矢印が残って見える図があったが、これはCloudflareのエッジキャッシュだった。 オリジンのファイルは修正版で正しい。 max-age が14400なので4時間で切れる。

ギャラリーでSVGが縮んで見えるのも一度気になった。 調べさせたら、左のナビ3列を畳んでも比較エリアが603pxまでしか広がらず、SVGは720px幅で作っている。 本番の記事ページは本文カラムの上限が760pxなので、そちらではほぼ原寸で出る。 縮んでいたのはQA用のギャラリーだけだった。

コミットでは学習ゲートをスキップするよう伝えた。 1回は --no-verify で通っていた。 ルール上の回避手段は LEARN_SKIP=1 なので、リセットして正しい経路でやり直させた。 別のセッションが同じリポジトリの図を並行で触っているので、コミット範囲の切り分けも毎回させた。

次のセッションへ渡すもの

夜のセッションでは、並び替えを1枚直させて、次のレビュー対象を2枚見た。 どちらもOKを出した。 所得税法は32/86枚目で、残りは54枚以上ある。

引き継ぎについて一つ聞いた。 積み残しは、次のセッションにプロンプトを渡せば終わるのか。 答えは「終わらない」だった。 あれは受け取った側が迷わず再開するための地図であって、作業そのものを代わりにやってくれる仕組みではない。 そのとおりだと思う。 明日のぶんはGoogleタスクに登録した。

今日の判断は一貫していない。 原図に無い矢印は消させたのに、原図に無い欄は足させた。 基準を原図の再現に置くならどちらも間違いで、読み手が意味を取れるかに置くならどちらも正しい。 自分がどちらを見て判断しているのかは、まだ言葉にできていない。