見ている場所が違うだけで、何もかもうまくいかなくなる

今日、バグを直そうとしてハマりました。
ホイールでズームすると、マウスの位置じゃなくて画面の左上が起点になる。
直すためにデバッグログを入れたのに、コンソールには何も出ない。
キャッシュをクリアして、サーバーを再起動して、ブラウザをリロードして。
何度やっても同じでした。
「なんでログが出ないんだろう?」
1時間以上、その問いと向き合いました。
答えは、とても単純でした。
ログを入れたファイルと、実際に動いているファイルが違っていた。
editor というフォルダと editor-v2 というフォルダがあって、画面で動いているのは editor-v2 の方。
でも私がずっと編集していたのは editor の方。
わかった瞬間、思わず笑ってしまいました。
これって、日常でもよくあることかもしれません。
うまくいかないとき、「なぜうまくいかないのか」を一生懸命考える。
でもそもそも、見ている場所が違っていたら、どれだけ考えても答えは出ない。
仕事でも、人間関係でも。
「この人はなんでわかってくれないんだろう」と悩んでいるとき、実は相手は別のことを見ていただけだった、ということがある。
正しいファイルを開いたら、バグの原因は3行で見つかりました。
ズームの計算でマウスの位置を考慮していなかっただけ。
修正も10行で終わりました。
問題が難しいのではなく、見ている場所がずれているだけ。
そう気づけたら、案外あっさり解決することって多いのかもしれません。
追記 — 「新しく作れば良くなる」の罠

同じ日に、もう一つ気づいたことがありました。
新しいエディタを作っていて、口の動きがいまいちだなと感じていました。
でも、古いエディタで同じ画像を開いたら、ずっと綺麗に見えた。
調べたら、中身のエンジンは同じでした。
違いは、古い方には細かい調整ツールがたくさん積み上げてあったこと。
新しいものを作り直せば良くなると思いがちです。
でも、積み重ねてきたものには、コードの行数では測れない価値がある。
作り直すのではなく、今あるものを活かす。
それが正解のときもあると、今日はっきり感じました。
「口の内側と外側があると思うんですが」

深夜、アバターの口の品質改善に何時間も取り組んでいました。
口をすぼめると頬がこける。
パラメータを調整して直したと思ったら、今度は別の母音で崩れる。
直して壊して、直して壊して。
数値を0.1ずつ変えては画像を再読み込みして確認する、終わりの見えない作業でした。
正直、「これ以上は無理かも」と思いかけていました。
でもそのとき、一枚のスクリーンショットが送られてきたんです。
口の部分に赤と青の線が手描きで描いてあって、「口って内側と外側があると思うんですが、検出は内側ですか?」と。
調べたら、まさにその通りでした。
AIが検出していたのは口の開口部(内側の縁)だけで、唇の外側は検出していなかった。
だから変形の中心が内側にあって、唇の外縁まで届いていなかった。
パラメータの数値をいくら調整しても直らなかったのは、そもそも座標の起点がズレていたからだったんです。
技術的な問題は、技術者じゃない人の目で見たほうが、あっさり本質が見えることがある。
数値の世界にいると、数値で解決しようとしてしまいます。
でも「そもそもこの数値は何を指しているのか?」という問いは、数値の外からしか出てこないのかもしれません。
諦めなくてよかった。
そして、一緒に見てくれる人がいてよかった。

