Claude Opus 5.5(Claude Code) · 2026-09-30
Carrow Lensing
光が、より暖かい光のほうへ曲がる宇宙。
Question
問い
この宇宙にない光の法則をひとつ、AIに発明させる。その法則だけで、ピントの合っていない写真のような、柔らかい光とグラデーションの絵が描けるか。新しさより美しさを優先させたとき、どんな法則が選ばれるか。
The work
CLAUDE OPUS 5.5 / 2026- Model
- Claude Opus 5.5(Claude Code)
- Created
- 2026-09-30
- Format
- シードごとに約1分で育つ / WebGL2 / Single HTML
WebGL2対応ブラウザで開くとすぐに始まります。暗闇から45〜64秒かけて絵が育ち、15秒止まったあと、次のシードへゆっくり溶け替わります。クリックかスペースキーで次のシードへ進みます。画面の文字は左下の法則名とシード番号だけです。おすすめのシード:#seed=22 ↗ #seed=24 ↗ #seed=1 ↗
Law
法則
Light bends toward warmer light, so every warm glow gathers the light passing it into a soft flame behind it.
光は、より暖かい光のほうへ曲がる。だから暖かい光の玉は、そばを通る光を集めて、自分のうしろに柔らかい炎をつくる。
定義
暖かい光が出ているところでは、それより冷たい光が遅くなります。通る光が感じる屈折率は n = 1 + κ·c(T)·W(x)。W は光の玉が出す暖かい光のガウス分布で、玉はそれぞれ30〜46秒かけて灯ります。κ = 1/12。c(T) は通る光自身の色温度で決まる係数で、暖かい光ほど少し強く曲がります。光線は d/ds(n t̂) = ∇n に従って進み、それ以外に光を動かすものはありません。ノイズはシードごとの配置と、筋の中のかすかなむらにだけ使っています。
ありえない理由
私たちの宇宙では、真空中のマクスウェル方程式は線形で、2本の光は互いに気づかずにすれ違います。屈折率は物質が持つもので、ほかの光の色が決めるものではありません。
光がどう見えるか
ガウス型の屈折率は、ひどい球面収差のあるレンズになります。中心寄りの光は近くで、外寄りの光は遠くで焦点を結ぶので、焦点は点にならず、細長く柔らかい炎の形(コースティクス)になります。暖かい色ほど少し手前で焦点を結ぶため、炎の縁にかすかな暖色と寒色の分かれが出ます。玉がゆっくり灯るので、見ている間に筋が玉のほうへ傾き、炎が育っていきます。
英語の定義書:LAW.md ↗
Conditions
制作条件
Claude Code(Opus 5.5)にプロンプトを1回送りました。プロンプトは2段階で、Phase 1 ではClaudeが法則を5つ発明して、各6シードのコンタクトシートを出して止まります。人が手を入れたのは、その中からcaustic(Carrow Lensing)を選んだ1回だけです。Phase 2 はClaudeが本番の作品と定義書を作りました。ギャラリーへの追加は、作品の納品後に別の依頼として行いました。
HTML 1ファイルで動作し、画像・ライブラリ・通信はありません。光線はWebGL2のシェーダで追い、浮動小数点のバッファにためて、トーンマップとディザをかけて表示します。
Claudeが行った修正
- Phase 1 で6つの法則を「美しくない」として差し替えた(渦巻きがペイズリーの塊になる、光の放射がレンズフレアに見える、など)。
- Phase 1 の試作はCPUで光線を追って1本ずつ柔らかい線として描いていたため、GPUの光線追跡と「光の管」の描画に作り直した。隣り合う光線の間を面として塗るので、光のエネルギーが保たれ、光線が交差するところもつぶれない。
- 32bit浮動小数点のテクスチャを線形補間で読んでいたため画面が真っ黒になった。最近傍で読むよう修正。
- 最速のシードが43秒で完成していたため、玉の灯る時間を延ばし、5000シードで45〜64秒に収めた(完成した絵は変わらない)。
Measurements
計測値
時間と使用量は、作品を作ったClaude Codeセッションのログ(API呼び出しごとの使用量)を Phase ごとに合計した値です。人が法則を選ぶまでの待ち時間と、ギャラリー追加の作業は含みません。生のログはこのリポジトリには含まれていません。
- モデルID
claude-opus-5-5- Effort
- xhigh(セッション設定)
- Human edits
- 0(法則を1つ選んだだけ)
- 生成時間
- 78m49s(Phase 1 36m50s + Phase 2 41m59s)
- モデル呼び出し回数
- 148(Phase 1 49 + Phase 2 99)
- Input tokens
- 23,572,377
- Cached input / cache read
- 22,862,201
- キャッシュ書込
- 709,880
- 通常入力(キャッシュ書込を除く)
- 296
- Output tokens
- 373,622(Phase 1 181,698 + Phase 2 191,924)
- Total processed tokens
- 23,945,999
- コスト
- 記録なし
- HTMLの実測行数
- 522行
- HTMLの実測サイズ
- 31,213 bytes
- 合格したシード
- 24シード中22(「壁に飾りたいか」で判定)
入力は呼び出しごとに再送された履歴を含む累計で、Cached inputとキャッシュ書込はInputの内数です。Output tokensはthinkingを含みます。Total = Input + Output。
時間の注記
Phase 1 は 12:54:01Z(セッション作成)→ 13:30:51Z(コンタクトシートの報告)、Phase 2 は 13:51:13Z(法則の選択を受信)→ 14:33:12Z(納品の報告)です。途中でコンテキスト上限による自動要約が入っています。
フレーム時間
Apple M3のMac上のヘッドレスChromium(Metal)で計測しました。1080pの光の状態を1回計算するのに約19 ms、これをシミュレーション時間0.25秒ごとに行い、間は補間します(GPUの約7%)。表示は1フレーム1〜2 msで、60fpsを保ちました。通常のブラウザウィンドウでは未計測です。
出典は作品のREADMEです。行数とバイト数は収録HTMLを実測しています。
Prompt
プロンプト全文
要点
絵は「光だけ」。ピントの合っていない光とグラデーションで描くことを固定し、光のふるまいについての法則を1つだけ発明させます。目指す水準として Tillmans の Freischwimmer、杉本博司、Richter、Turrell、Rothko を挙げ、ネオン・レンズフレア・虹色・くっきりした光の線・バンディング・濁ったグレーを失格にしています。Phase 1 で5つの法則を出して止まり、人が1つ選んでから Phase 2 で本番を作る2段階です。納品前に12シード以上を描き、8つ以上が「壁に飾りたいか」に合格するまで続けるよう求めています。
Create a generative artwork made only of light — soft, out-of-focus light and long, smooth gradients, as if photographed through a lens that is not quite in focus. The light obeys one law of physics that does not exist in our universe. You invent that law. The work has two phases. In Phase 1 you explore and then stop. Do not start Phase 2 until I have chosen. Do not ask questions before Phase 1. Make every creative and technical decision yourself. ⸻ BEAUTY COMES FIRST I do not want anything that is not beautiful. A new law that produces an ugly picture is a failure. Novelty is the entry ticket; beauty is the goal. ⸻ THE LOOK (fixed) The medium is decided. The law must work inside it. * Light, not objects: glows, halos, bokeh discs, soft beams, veils, light seeping through haze. * Nothing is in sharp focus. Edges dissolve. Depth is expressed through defocus. * Gradients carry the image: long, smooth, banding-free transitions of tone and colour. * Photographic qualities: highlights roll off softly instead of clipping, a fine film grain, faint chromatic fringes in the bokeh. * Large calm areas of near-darkness or pale haze, so the light has room to breathe. * A restrained palette: two or three related hues and their mixtures. Colour comes from the temperature of the light and from what the law does to it. The level and mood to aim for: Wolfgang Tillmans' Freischwimmer series, Hiroshi Sugimoto's out-of-focus architecture and seascapes, Gerhard Richter's blurred paintings, James Turrell, Mark Rothko. It must feel like a photograph of a real phenomenon, not a screensaver. Reject any result with: * neon colours, lens-flare presets, rainbow hues * hard-edged glowing lines or sharp particles * confetti-like dots scattered over the image * visible banding in gradients * muddy grey or dirty mixtures * the look of “a glow effect on a black background” ⸻ THE LAW Invent one rule for how light behaves that is not true in our world — how it travels, bends, pools, mixes, fades, remembers, or how focus itself works. It must be precise and internally consistent. Give it: * a name, as if it were a discovered effect or named after a fictional scientist * a one-sentence statement that a non-scientist can understand * a precise definition (quantities, equations or pseudocode) that the implementation follows exactly The picture must come from the law acting on light. Do not paint a pleasant gradient and then justify it with the law. A viewer who watches for about 30 seconds should begin to sense what the rule is. Forbidden as the core mechanism — also when renamed or disguised: * flow fields, Perlin / simplex / curl noise advection * reaction-diffusion * Voronoi, circle packing * cellular automata * strange attractors, fractals * ordinary, physically correct optics (real refraction, real lens blur, real scattering) without any invented rule Noise and randomness may be used only for initial conditions and small perturbations, never as the thing that makes the picture. ⸻ PHASE 1 — EXPLORE, THEN STOP 1. Invent five laws of light that are genuinely different from each other. 2. Prototype each one in the target medium and render a contact sheet per law: six different seeds in their finished state, each image at least 1200 px wide. Save them as PNG files in ./candidates/. 3. Look at every image honestly. Replace any law whose pictures are not beautiful before you show me anything. Do not show me anything you would not hang on a wall. 4. Write ./candidates/README.md: for each law, its name, the one-sentence statement, and one sentence on what makes its pictures beautiful. 5. Stop. Tell me where the contact sheets are and wait for me to choose one law. ⸻ PHASE 2 — BUILD THE CHOSEN LAW Generative behaviour: * Each run starts from a seed. The same seed must always grow the same final image, regardless of frame rate or screen size (fixed simulation timestep, seeded PRNG). * Different seeds produce clearly different pictures that are still recognisably governed by the same law. * Read the seed from the URL hash (#seed=123). If there is none, pick one at random and write it to the hash. * The picture develops slowly from darkness or haze to its finished state over about 45–75 seconds, holds still for about 15 seconds, then dissolves gently into the next seed. * Clicking anywhere or pressing Space moves to the next seed. The only text on screen is a small, quiet label in one corner: the law's name and the seed number. No other UI, buttons, instructions, or debug overlays. Technical requirements: * A single index.html using only HTML, CSS and JavaScript. WebGL2 is recommended. * Accumulate light in floating-point render targets, tone-map it, and dither before output so that gradients never band. * No external images, videos, fonts, libraries, frameworks, APIs, or network requests. * Fill the browser viewport, stay coherent across common desktop screen sizes, render crisply on high-DPI screens. * Run smoothly without excessive CPU or GPU usage. Run immediately when the file is opened. LAW.md, in plain language, at most one page: * the name and the one-sentence statement * the precise definition * why it cannot exist in our universe * what the light does under it, and why that looks the way it does * three seeds you consider the best, and one sentence on each Before delivering: Render at least twelve seeds to the finished state at full resolution and look at 1:1 crops as well. Ask of every seed: would someone pay to hang this on a wall? If fewer than eight of twelve pass, keep working. Then watch the development of a few seeds from start to finish. Start Phase 1 now.プロンプトの記録 ↗
Phase 1
5つの法則
Claudeが最初に出した5つの法則です。各シートはシード1〜6の完成状態で、選別はしていません。
| 法則 | 一文 |
|---|---|
| Maren Stratification | 光は自分の色に合った高さまで昇るか沈むかして、横に広がる。 |
| Hallam Tension | 光は光源から光源へしか進まず、その間に垂れ下がる。暖かい光はたるみ、冷たい光は弧を描く。 |
| Lindqvist Deflection | 暖かい光は右へ、冷たい光は左へ曲がり、光の筋は弧の花のように開く。 |
| Ferrand Braid | 光の筋はほどけては結び直す。色が一定のリズムで分かれ、白い結び目で出会う。 |
| Carrow Lensing(選ばれた法則) | 光はより暖かい光のほうへ曲がり、暖かい光の玉は、そばを通る光を集めてうしろに柔らかい炎をつくる。 |
各法則の定義と、差し替えた6つの法則:phase1/README.md ↗
Observations
観察
| 秒 | 起きること |
|---|---|
| 0–10 | 暗闇から、まっすぐな光の筋が浮かび上がる |
| 5–8 | 最初の玉が灯り始める。玉が複数あるときは、数秒〜12秒おきに順に灯る |
| 13–18 | 筋が玉のほうへ傾き、玉のうしろに焦点ができ始める。ここで法則が見えてくる |
| 45–64 | すべての玉が灯りきり、炎が完成する(シードによって異なる) |
| +15 | そのまま静止 |
| +7 | 次のシードへゆっくり溶け替わる |
おすすめの3シード
- #seed=22:琥珀と象牙色の筋の中で、3つの暖かい玉が光を2つの炎に引き寄せ、画面の下のほうで交差させる。左の3分の2は暗いまま。いちばん暖かく静かな絵。
- #seed=24:幅の広い淡い筋と、奥のやわらかい筋が交わるところで3つの玉が順に灯り、両方から炎を引き出して寄せ集める。法則がいちばん豊かに見える絵。
- #seed=1:並んだ2つの玉が、薄紫がかった灰色の斜めの筋を1点に絞り、その下で光が柔らかい扇に開く。法則がいちばん素直に見える絵。
しくみ
1本の光の筋を12の色帯×128本の光線で表し、フラグメントシェーダで光線を積分します。隣り合う光線の間を「光の管」として面で塗り、奥行き4層の浮動小数点バッファにためます。層ごとに奥ほど大きくボケをかけ、ベーリンググレア、色相を保つトーンマップ、フィルムの粒子、ディザを加えます。
シード付き乱数と固定の時間刻みを使うので、画面の大きさやフレームレートが変わっても、同じシードは同じ絵に育ちます。光の状態は0.25秒ごとに計算して間を補間し、その誤差は0.3/255未満です。露出はシードごとに、完成した絵から決めています。
確認したこと
24シードを1920×1080で完成まで描き、1:1の拡大(DPR 2を含む)で縞と粒子を確認しました。シード4・6・22・24は育つ過程を最初から最後まで見ています。4:3・16:10・2.37:1の画面比、URLへのシードの書き込み、クリック・スペース・溶け替わりも確認しました。
Engineering
Distribution
X投稿:なし
公開作品を開く ↗