0401
何してたっけ。雪の結晶シミュレイタの様子を見ている。やっぱりCPUとGPUで結構挙動が変わってしまうのだが、ロジックに差異はなさそうなので、本当に計算順序の入れ替えによる丸め誤差の違いなのだろうか。モヤモヤする。
それよりそろそろblogのアップデートや他のプロジェクトに移らねば。
何してたっけ。雪の結晶シミュレイタの様子を見ている。やっぱりCPUとGPUで結構挙動が変わってしまうのだが、ロジックに差異はなさそうなので、本当に計算順序の入れ替えによる丸め誤差の違いなのだろうか。モヤモヤする。
それよりそろそろblogのアップデートや他のプロジェクトに移らねば。
雪の結晶シミュレイタをcompute shaderで動かすようにしたら結果が変わってしまったのだけど、これはロジックの誤りではなく丸め誤差の違いが原因であるらしかった。シェーダはけっこう過激な最適化を許容しているらしく、蓄積した誤差によって氷結条件の評価に差が生じて、そしてひとたび氷結セルに差が出るとそこを起点に周囲のセルの挙動が変わるために形がそこそこ変わってしまうらしい。ふーん。まあ別に正解とかはないので構わないのだが、難しいなと思った。そこを固定することはできないのかな?まああとでロジックは改めて確認しよう。
寝ます。今朝は早起きして病院行ったので眠い。
辣子鶏を作ったが、なんかいろいろ失敗した。味はそう悪くなく今後の可能性を感じるものだったが、大量の唐辛子を炒めていたら子が咳き込んでしまった(あわてて換気して避難した)ので、当分封印ということになるだろう。唐辛子が多過ぎるのか?
雪の結晶シミュレイタのmikage移行とGPU計算対応をClaude Codeにやらせている。やはりバイナリサイズが小さくなって嬉しい。ただGPU計算は結果が変わってしまっているので、よく確認するようにClaudeに指示をしている。
コーディングAIの発達によって、自分は自分が思っていたよりコードを書くこと自体が好きだったということと、今はもはやそうでもなくなっているということに、同時に気づかされた感がある。自分の代わりにAIがコードを書くことが、楽しみを奪われているような感覚を覚える一方で、自分で全部を書こうという気持ちにはもはやなれない。だったら諦めて自分で書くことを断念すべきなのだが、そうなった時に自分が何を楽しめばいいのか、それがわからないことが不安。
寝ます。
Infinite Spectresをbevyからmikageに置き換えたものをデプロイした。
https://spectre.necocen.info/
見た目は以前とほぼ変わっておらず、バイナリサイズが1/6(23MiB→4MiB)になっている。WebGL2対応を落とせばもっと小さくなるのだが、まあそこまで削らなくともよかろう。
雪の結晶シミュレイタも同様に置き換えていきたい。あとあれはもしかするとシェーダで高速化できるかもしれない。それはClaudeにやらせてみよう。
寝ます。最近ちょっと元気がないのでゆっくり眠りたいが、当然そうも言っていられない。
主にmikageの盆栽など。Spectreタイルビューアをbevyからmikageに置き換えて、出てきた問題点を解決して、というのを(Claude Codeが)やっている。人間は中継をしている。
とりあえず元の動作を復元できたし、バイナリサイズも小さくなったので、満足。まだデプロイはしていない。せっかくだから全体的にリファクタできる部分があれば(Claude Codeが)やる。
今日は調子が悪かった。疲れているのかな。疲れることはたくさんあるしな。
寝ます。
いつもよりすこし早起きして歯医者へ。帰りに唐辛子を袋で買って帰る。辣子鶏を作りたいのだ。いつ取り組めるかはわからないが。
mikageをちまちま盆栽している。iPhone Simulatorで動かすとWebGPUが使えないらしく、じゃあWebGL2へのフォールバックを入れるか?というとそれは可能なんだけどバイナリサイズはちょっと膨らむ。3MiBが6MiBになる程度の話だし無視してもいいのか?とはいえ(シミュレイタはともかく)WebGPU非対応の環境をそこまで気にする必要があるのかは謎。こういうのは普通にcaniuseとかで調べたらいいのか。
ダンガンロンパV3はchapter 1まで。それやって来ましたか〜。
寝ます。
「スーパーダンガンロンパ2」クリア。続編っていいよね〜という感じだったが、エンディングはそんなに好みでないかもな。
そして「ニューダンガンロンパV3」を始める。
mikageはちょっとしたリファクタとテストの追加をしたのでとりあえずpushした。これをcrates.ioに公開するかは悩む。まあ一旦自分のプロジェクトをこれに置き換えてから考えるかな。
寝ます。明日は歯医者に行く。ついでに唐辛子を買いたい。
風邪引いたかも。まずいな。
これといって何もしていない。ダンガンロンパ2はクライマックスが近い。なるほどね〜。
チェンソーマン第二部がいきなり完結して、みんな戸惑っている。第二部に関しては、良いところもしばしばあったけれど、その良いところをやるために延々瓦礫の山を読む必要はありましたか?と思うし、最後にパワーちゃん出しとけばなんかエモい感じになるでしょと思ってないか?と邪推してしまう。たぶん第二部自体を丸ごと忘れるほうが良いのだろう。作者は(ネットで言われているように)飽きたのか?
寝ます。
これといって何も。フリップドットディスプレイがほしいという気持ちをふと思い出したので、ChatGPTに手伝ってもらってメーカーに問い合わせのメールを送った。入手自体はできそうだが、動かすのはいろいろ大変かも。まあ趣味だし。
寝ます。
mikageはほぼ形になってきたが、まだ中身を読んでいない。すこし読み始めた。winitのイベントループを作ってハンドラを登録しているね。
サンプルとして簡単なboidsをGPU計算させるプログラムをClaudeに作らせたら、なんか普通に見てて面白いなあと思って見入っていた。コードは400行くらいで、1/4がUI定義なんだけど、レンダリングパイプラインの定義とかはもうちょっと短く書けないものだろうかと思う。compute shaderを使うのはどうしてもこうなっちゃうもんなのかな。GPUとwgpuの世界観があんまりわかっていない。
寝ます。