昼頃に起きて、雪の結晶シミュレイタの小さな修正をした。あとは本を読んでいた。体調はそれほど良くないが、悪いというほどでもない。よくある調子の悪さ。
寝る。明日も本を読む。読み終わったらRemixのエラーハンドリングの続きをやる。あとバックエンドは仮のデプロイをしてもいいかもしれない。
昼頃に起きて、雪の結晶シミュレイタの小さな修正をした。あとは本を読んでいた。体調はそれほど良くないが、悪いというほどでもない。よくある調子の悪さ。
寝る。明日も本を読む。読み終わったらRemixのエラーハンドリングの続きをやる。あとバックエンドは仮のデプロイをしてもいいかもしれない。
地獄とは引き継ぎの不在なり。
案件が普通に忙しい合間に書類選考をやっている。しかし、自分であまりやったことのない領域の選考は難しいなと思う。土地勘がないというか。書類からレベル感がいまいち掴みづらい。迷ったら通すでいいという話はあるんだけど、それをやると今度は面接が多過ぎて死ぬんだよな。うーむ。
雪の結晶のSTLは、法線計算ではなく普通に輪郭抽出の失敗だった。SVGのときと格子の形を変えている(元々が三角格子で計算しているのだが、SVGで輪郭を出すときは双対格子?の六角形でやっている。STLではそのまま三角格子。)から同じアルゴリズムではうまくいかない場合があって、そこを修正したら直った。Autodesk Fusionでも開けたのでたぶんうまくできているのだろう。まあ、そのまま3Dプリントするにはあまり適していない形であるように思われるけれども。
寝る。風邪っぽいのはマシだが続いている。いやだな。
なんか忙しかった。何が?何だろう。なんか確認とかが。
進捗の管理がされていない状態でなんとなく引き継いだので、完了していたと思っていたタスクがぽろぽろ綻びてくる。拾って集めなくてはいけない。
雪の結晶シミュレイタを3Dモデルに出力させようとしている。STLファイルはかなりシンプルなのでそれらしき出力はもうできたのだけど、法線の計算にミスがあるのか側面が正しく描画されていない。まあそれ以外はできているからそれも時間の問題であろうか。
寝ます。なんか風邪っぽくなってしまってて心配。だけどまた三連休だし、ゆっくり休めば大丈夫でしょ、きっと。
仕事は一つの山を越えた。山を越えたというのは正確ではないか。別にこれから下山するわけではない。ハードルを一つ跳んだ、くらい。
大学院時代の同期とひさびさに会って飲んだ。下北沢で降りたら出口周辺が全然変わっていて、なんか間違えたかと一瞬思った。駅ってこんなに変わることあるんだな。あまり記憶にないかも。前に東北沢もけっこう変わってたけど。
寝ます。明日からは明日からでリリースに向けての準備をしないといけない。
いそがしいそがし。仕事が慌ただしくて大変だが、ようやく面白くなってきたなという感じもある。まあでも、ずっと忙しいのは勘弁してほしいな。
雪の結晶シミュレイタをGitHubに公開した。してどうするというわけでもないが。
https://github.com/necocen/snowflake
公開するにあたって一応ノイズ項も実装したり、カメラを回転させて見栄えを改善した。動画も撮ってREADMEに載せた。まあ、見てもらってどうなるというわけでもないが。
STLファイルへの出力について考えていた。もともとが三角格子なので、naïveな方法でよければわりと簡単に出力できそうな気がする。週末にでもやろうかな。
寝ます。明日も忙しいが、夕方は早めに切り上げて大学院時代の同期と飲む。
仕様の問い合わせに応じたり手順書を書いたりNotion職人をやったりしていた。Notionのアンチなのに職人をやるのは変な気がするが、結局のところ問題が解ければいいという考えかたはある。アンチなのでこんなものにロックインされていくのは悪手ではないかとも思うが……。
雪の結晶シミュレイタは、グレースケールでの可視化に成功した。最初はすべてのセルに対して別々にマテリアルを用意してセルの値の変化に合わせて色を変更するようにしていたのだが、それを1000x1000グリッドでやると初期化に失敗するらしく(原因は不明)、仕方ないのでセルの値を256階調に量子化して、あらかじめ作成した256種類のマテリアルの中から対応するものを都度アサインする方式にしたらうまくいった。
パラメータをいろいろいじるとなかなかいい感じの雪片が出てくる(が、物理的にどういう過程に対応するのかはよくわからない)。今度はこれを3Dプリンタで出力できるようにSTLファイルにするなどを考える。出力するのかは知らないが。その前にそろそろGitHubに上げようかな。
寝ます。明日はとても忙しそう。
朝から友人の家に出掛けていってトウモロコシを食べる会をやった。友人の子たちも集まってジグソーパズルなどをしていた。わかっていたことだが、やはり他人の子というのはうまくコミュニケイションしづらいな。自分に子ができて慣れてきたら、そういう場合の声の出し方みたいなのもわかるようになるだろうか。
話の流れでM-1グランプリ(2018年)を観たりしていた。人間が採点するってのはまあ、よく言えばドラマだが、それはよく言い過ぎじゃないのかという気もするなと思った。
夜は雪の結晶シミュレイタをやった。一応ノイズ項以外は実装できて、f32の精度程度を除けばではちゃんと質量も保存するし、Claudeに訊いたら最適化もそれなりにできた。
いまは描画をオンオフからちゃんとセルごとの氷の質量に応じた色分けにしようとしているが、これはまだうまくできていない。bevyのことをもうすこし深く知る必要があるのだろう。
寝る。来週前半は忙しさのピークか。
ちょっと放置していた雪の結晶シミュレイタに手を入れていた。まずリファクタをして、シミュレイションロジックをプラグインとして独立させたり、シミュレイションをタイマーではなく別スレッドでループ実行させるようにした。後者のほうはメリデメあるけどまあ。
それで別の論文の手法を実装しようとしている。とりあえず手順は読んだので書くだけだが、NDArrayで効率的に計算させようとするとなかなか大変である。今のところバグっている。今回の手法は(ノイズ項を無視すれば)総質量が保存する性質があるので、どこでバグったか見つけやすくていい。
寝ます。明日は出かけるのに遅くなっちゃった。まあ昼寝してたし大丈夫でしょ。
仕事が急に慌ただしくなり、てんてこ舞いしている。てんてこ舞いって何だ?
「救国のスネジンカ」してた以外は何もしていない。全エンディング見たので終わり。魅力的なゲームを遊ぶと自分でも何か作ってみたくなるよね。
小説を書いてみようとかいろいろ思ったりもするけれど、なんか僕の物語体験の根源的なところにノベルゲームというものが存在している感じがあり、もしかするとそっちの語りかたのほうが本当はやりたいのか?とか思ったりもする。というか、小説ってあんまりよくわからないんだよな。文章から情景が出てくるタイプの人間ではないから、どうしてもなんか無味乾燥な印象しか残らない。そういうのと比べると、ノベルゲーム的な演出はいろいろ記憶に残っているものもあるし、やってみたいと思うかもしれない。
土日になる。来週も忙しそうだから、ゆっくり休まなくては。
慌ただしい中でGitHub Actionsでちゃんとしたリリースフローを整えようと画策している。あまり時間を掛ける余裕はないのだが、リリース手順がgdgdだといろいろ危ないので、まあ最低限。最低限が何かはわからないが。
盆栽を再開した。認証関連をどこのレイヤに置くかはいつも悩む。今回はJWTの検証をアプリケイション層に置いた(鍵を取ってくるのはインフラ層に任せた)。最初は検証をインフラ層に丸投げしていたのだけど、検証結果によって返すエラーの種類が違う(HTTPステータスコードも変わる)ことの表現に悩んでいるうちに、そもそもそんな悩み方する時点でそれはアプリケイション層の問題なのだと思って変更した。思えば前回もこうしていた。前回はこうした上で、インフラ層に投げた方がいいんじゃないかと迷っていた気がするが、結局このほうがいいのだろう。
これでバックエンドは出揃ったはずなので、フロントエンドに集中する。まずはエラーハンドリングから学ばなくては。
また夜更かししてしまった。いそいで寝る。