CLAUDE — OPUS 5
相 — かたちを読む
表相・中相・裏相。三つの面を読み、64通りの印を結ぶ。
生年月日でもランダムでもなく、いま目の前にある形を読みます。東洋の「命・卜・相」のうち、Web でほぼ手つかずだった「相」を選びました。読むのは、スマートフォンのホーム画面、毎日つかう食器、冷蔵庫のドアポケット——あなたがすでに持っている形です。
文章の原則は二つだけ。欠如として書かず、コストとして書くこと。痛いことは一鑑につき一度だけにすること。
制作報告(全文)
最初の問いの解釈について。表向きの問いは「占いは世に氾濫している、何か新要素はないか」でしたが、私はこれを「当て方を新しくする話」ではなく「読む対象と、関係の続き方を変える話」だと解釈しました。占いの新しさは的中の仕組みではなく、何を入力として受け取るか、そして一度きりで終わるかどうかに宿ると考えたためです。
そこで東洋の命・卜・相という分類を持ち出しました。生年月日を読むのが命、その場の偶然を読むのが卜、すでにある形を読むのが相です。Webの占いはほぼ全てが命か卜で埋まっている一方、相は実物を要するためほとんど手つかずでした。ただ現代人は読める形を大量に持ち歩いているので、この空白は今なら埋められる。加えて、既存のWeb占いが安っぽく見える最大の原因はリロードすると別のことを言う点にあると考え、記憶を持たせることを二つ目の柱にしました。依頼主が挙げた「同じものを入れたら必ず同じ答えが返る」という条件は、相占いなら満たしたまま入力を人ごとに散らせます。
実装した内容について。三つの相を作りました。表相がスマートフォンのホーム画面で6問、中相が毎日つかう食器で5問、裏相が冷蔵庫のドアポケットで5問です。この三つは見る相手と読める時間で役割が分かれていて、表相は他人に見せる面で現在を、中相は自分だけが触れる面で日々を、裏相は誰にも見せない面で過去を担当します。入力は全て選択式にしたので、写真も生年月日も預かりません。
出力は、帯の名前、選択ごとの個別の読み、条件が揃ったときのコンボ、言いにくいこと、記憶の記述、面の突き合わせ、締めの順で組み立てています。文章の原則は一貫していて、欠如として書かずコストとして書くこと、痛いことは一鑑につき一度だけにすること、この二つです。
記憶は三層で持たせました。訪問回数、前回の回答との差分、そして他の面の結果です。二面だけ開いた人には組み合わせ別に12通り、三面揃った人には5通りの読みが出ます。保存はwindow.storageとlocalStorageを吸収するシムを噛ませてあるので、Claude上でも自前サーバーでも動きます。
印は画像を用意せず手続きで描いています。三面それぞれに4つの帯があるので4×4×4で64通り。外環が表相で詰まった弧から継ぎ目のない一本へ、多角形が中相で三角から六角へ、芯が裏相で層が増えて満ちていきます。外周の目盛りも64本にしました。名前は帯ごとに漢字を一字あてて三字を繋ぐだけなので、テキストを一行も足さずに64通りの重複しない銘が出ます。書体はひな明朝で、canvasは DOM ではないため明示的にフォントを取りに行かせています。保存はモバイルの実情に合わせて画像化し、長押しで落とせるようにしました。
検証としては、全回答パターンを総当たりして帯の抜けがないことを確認し、出現率が偏っていたので閾値を四分位に合わせ直しました。印は64通り全てを描画テストし、銘の重複がないことと、図と名前が干渉しないことを画素単位で確かめています。
やっていないことについて。OGP用の64枚の書き出しは未着手です。同じ描画コードをNodeとnode-canvasで一度回すだけですが、公開する段になってからで間に合います。コンボの読みは各面に2、3個しか入っていないので、体感を上げるならここが次の伸びしろです。収益化は今回いっさい触れていません。