Illustratorスクリプトで参考書の図を講座スライドへ移した記録(メモリ増加、アートボード追加のスキル化、SVGアニメの取り下げ)
Illustratorスクリプトで参考書の図を講座スライドへ移した記録
ある資格試験の参考書の図を、講座のWebスライドへ移す作業の続きをやった。 講座のコマには、もともと横長のWebスライドが入っている。 そこへ電子書籍版の縦長の図を切り抜いて当てていく。 切り抜きは、Illustratorのファイルからスクリプトで書き出す。 この日は、その書き出しが何度も止まった。
朝は並び順の直しが止まっていた
朝6時台に、並び順を直していたセッションで進捗を確かめた。 計画書は10/14の17:10で更新が止まっていて、そのあとのコミット3本と並び順の問題が書かれていなかった。 並び順の直しは、2つの質問への答えを待ったまま止まっていた。 計画書に追記してもらい、次のセッションへの引き継ぎをテキストファイルに書き出させた。
Illustratorは消えていなかった
次のセッションでは、ファイル31の書き出しで中身を拾えなかった原因から調べさせた。 診断の前に「Illustratorを手で起動してください」と頼まれた。 ところが、Illustratorが見当たらない。 イラレ自体が無くなっている気がして、そんなことがありえるのかと聞いた。
本体は残っていた。
C:\Program Files\Adobe\Adobe Illustrator 2026\ に3.2GBあり、実行ファイル(63MB、2026-04-29にインストールした30.3)もそろっていた。
消えていたのは、スタートメニューの登録だけだった。
起動すると、普通に開いた。
表題レイヤーに図が描かれていた
ファイル31の原因にたどり着くまでに、診断スクリプトのほうで何度かつまずいた。 Perlの置換でスクリプトが壊れ、書き直した。 31と32の出力ファイル名がぶつかって上書きされていたので、名前を分けて測り直した。 jsxに日本語のコメントを入れたら、Illustratorが読めなくなった(元のファイルはASCIIだけだった)。 heredocでバックスラッシュが崩れて止まったこともある。
原因そのものは単純だった。
31と33は、表題用の Title_slide レイヤーに図も描かれていた。
書き出しスクリプトは、このレイヤーを丸ごと隠していた。
そのため、表題と一緒に図も消えていた。
ファイル単位で隠し方を切り替える直しを入れてもらった。 31は4ページしか書き出せていなかったのが、26ページすべて書き出せた。 33は前に13ページが図なしだったのが、27ページすべてに図が入った。
メモリが膨らみ続けるIllustrator
続けて、残りのファイルを裏で書き出させた。 しばらくしてIllustratorのメモリ使用量がかなり増えているのに気づいた。 画面はまだ開かず、プラグイン初期化と出ている。 そこで、プロセスを全部落としていいかと聞いた。
書き出しスクリプトもIllustratorも止めてもらった。 それでも空きメモリは、全体32GBのうち6.6GBしかなかった。 たぶん、ほかのセッションがmdx-playgroundの作業中で、止めてもどうせ立ち上げ直してしまう。 なので、そこは後回しにして待ってもらい、進捗だけ計画書に書かせた。
メモリが70%まで下がったところで、再開してよいと伝えた。 09:18に35〜45の書き出しを再開した(空きメモリ9.6GB)。 途中でIllustratorが2.7GBになると、スクリプトがいったん終了させて起動し直した。 35〜45の11本は、失敗0で済んだ。
いちばん重い34だけは、最後に単独で流した。 10:02に、空きメモリ11.3GBの状態から始めた。 Illustratorは1分に約400MBずつ増え、4GB、5GB、6GBと上がっていく。 これは本当に動いているのかと聞いた。
Illustratorは1枚書き出すたびにメモリを確保して、ファイルを閉じるまで手放さないという。 それなら、前半と後半に分ければいいのではないか。 分けられる、という答えだった。 前半を書き出して閉じ、開き直して後半を書き出せば、ピークはおおよそ半分になる。 ただ、今回はこのまま流し切り、落ちたらそのとき分ける形に作り替える、という提案だった。
結局、34は落ちなかった。 Illustratorが6.6GBまで膨らむのを見守った末に、81枚を18分で書き出し終えた。 これで41本すべての書き出しが済んだ。
照合と目視、それからアートボード追加をスキルに
書き出した切り抜きを、講座のコマと照合させた。 見た目だけで当たった候補65件と、新しく採用になった121件を左右に並べた比較画像にして、1件ずつ目で確かめさせた。 文章だけのページは元の図と構成が違うので、不採用にした。 判定を当て直すと、採用は726件、見た目だけの未確認の候補は0件になった。 テストは4本、51件すべて通った。 横長のWebスライドのまま残るコマは、144から53に減った。
文字だけの16コマからは画像を外させた。 あわせて、Illustratorでアートボードを足せるかを試させた。 人件費のファイルのコピーで、切り抜く範囲のアートボードが26枚入った。
これは足せるのか、と少し驚いた。
いまはIllustratorまわりを、その場のスクリプトで触っている。
一度スキルにまとめたほうがよいと思い、eurekapu-nuxt4のプロジェクトのスキルとして作ってもらった。
置き場所は .claude/skills/illustrator/ である。
一覧HTMLで自分のレビューを返す
残る53コマは、一覧HTMLにしてブラウザで開かせた。 今の画像と電子書籍版の切り抜きを縮小して並べ、URLはクリックで開ける。 一覧を見て指摘した6コマは元のWebスライドに戻し、文字だけのコマは10に減った。
続けて、行ごとにコメント欄を付けてもらった。 書いた内容はブラウザに保存され、DevToolsからそのまま読み取ってもらえる。 自分でファイルに書き出す必要はなかった。 コメントで指定した30ページを12本のファイルから書き出させ(失敗0)、そのうち8コマが採用になった。
コンテキストがいっぱいになったので、計画書に進捗を書かせてセッションを替えた。
23コマのうち19コマは書き出し済みのページにあった
午後のセッションでは、電子書籍版のページが当たっていなかった23コマを扱った。 最初は、論点まとめの章と文字で突き合わせる予定だった。 比較画像を1枚ずつ見ていくうちに、通常の章のページに文字がほぼ一致する候補が見つかった。
結局、19コマは通常の章の、もう書き出し済みのページに同じ図があった。 論点まとめの章は書き出さずに済み、Illustratorも動かしていない。 残る4コマは、電子書籍版では2ページに分かれていて1対1にならない。 採用は734件から753件になった。
直したページの代表を1つ、URLで示してほしいと頼んだ。 一覧の「A」の欄のリンクをそのままクリックすればよい、という答えだった。 ただ、リンクは節の先頭のコマで開くので、直したコマまで→キーで送る必要がある。
羊は歩いた、取引の図は止めた
続けて、一覧に書いた自分のレビューへの対応を頼んだ。 導入で羊の数を数えるコマは、元のWebスライドが文字だけだったので、左の図が空になっていた。 ここに図を作らせた。
電子書籍版の図はPNGではなくSVGで、部品ごとに動かせる。 4コマで試作させたあと、羊と石が動く15コマに広げた。 羊が実際に歩いて牧場に出入りし、動き終わると「移動N回目 羊が増える」が浮き出る。 数える石も、羊と同じタイミングで増えたり減ったりする。 これはよかった。
見ているうちに、ほかのコマも動かせるのではと思った。 掛け仕入のQ-002の3枚目には、仕入先から当社へリンゴが動く矢印と、買掛債務が発生する場面がある。 リンゴが当社に動いてきたときに買掛債務が出てくる、という動きを試作させた。
出来上がったものを見て、取り下げた。 取引の図をすべてこの形にそろえるのは、かなり難しいし面倒だ。 今回の試作も、うまくいっていなかった。 Q-002の3枚目は元の図に戻させ、羊の動きだけを残した。
コミットとデプロイで見つかったR2の抜け
羊の分を含めて、コミットとCloudflareへのデプロイを頼んだ。 コミットは内容ごとに分け、7本になった。 途中でCodexのレビューに指摘が出た。 音声番号のずれは、音声ファイルの実物で本当かを確かめさせた。 狭い画面の指摘は本物だったので、図が画面に入るたびに動きを最初から再生するよう直させた。 390px幅でも、図が入ったときに羊が歩き出すことを確かめた。
デプロイの途中で、別の問題が見つかった。 10/14のデプロイ以降、本番の講義ノートが参照している電子書籍版の画像746枚が、R2に1枚も無かった。 本番では画像が表示されていなかった(見本で調べたURLは404)。 羊の図19枚と一緒に、R2へアップロードさせた。
その間にメモリがまた逼迫したので、不要なプロセスを落とさせた。 デプロイは17:08に終わった(Workerは1.794 MiB)。 アップロード後に、手元と突き合わせて差分が無いことを確かめさせた。 講座が参照する画像749枚は、本番ですべて200になった。 本番のストーリー版でも、羊の図が表示されていた。 最後に、計画書の進捗と引き継ぎに結果を書かせた。
学び
- 表題レイヤーを丸ごと隠すと、そこに描かれた図まで消える。ファイルによってレイヤーの使い方が違うので、ファイル単位で切り替える直しになった。
- Illustratorは、書き出し中に確保したメモリをファイルを閉じるまで手放さない。重いファイルは前半と後半に分ければピークを下げられる。今回は分けずに流し切ったが、落ちたらその形に作り替える。
- 動かせることと、そろえられることは別だった。羊の15コマは動いたが、取引の図を全部同じ形で動かすのはかなり難しく面倒だと判断した。
残っていること
- 並び順の直し(2つの質問への答え待ちのまま)