mandelbrot/docs/README.md
2026-09-06 23:28:03 +09:00

41 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Mandelbrot WebGPU
`index.html` をWebGPU対応のEdgeChromeで開く。外部ライブラリやビルドは不要。
- 描画は高速方式に統一。画素間隔に応じてDirect f32または参照軌道を使うFAST perturbationへ自動で切り替える。旧「正確」の共有URLもこの方式で開く。
- パンズーム、配色変更、URLによる表示位置の共有、PNG出力に対応。
- 数値未確定画素の補修と未脱出画素の継続計算を終えてから、完成画像を履歴へ保存する。
- 計算中は現在の視点の暫定画像を表示する。反復上限は「自動」または指定回数を選べる。未脱出を集合内の証明とは扱わない。
- 画面と同じ解像度・1 sampleのPNGは、補修済みの完成画像をそのまま保存する。
- 色相変化は表示済みの数値結果を使い、計算中も色を更新する。停止ボタンまたは色相位置の手動操作で停止する。
- 描画時間は初期描画から精細化・数値補修・最終GPU処理までの合計。計算中は経過時間、完了時は確定した時間を表示する。
BLAと比較専用の監査処理は削除済み。[整理内容と検証範囲](CLEANUP.md)を参照。
[軽量化の実装結果と測定値](IMPLEMENTATION_RESULTS.md)を参照。承認前の[改善案](PERFORMANCE_PLAN.md)と[実装設計](PERFORMANCE_IMPLEMENTATION.md)も残している。
色相・時間表示の修正と描画方式統合については[ビューワー修正](VIEWER_FIXES.md)を参照。
## 検証
Node.js 22以降で実行する。追加パッケージは不要。
```sh
node tests/regression.mjs
```
構文、現行シェーダーのハッシュ、バックエンド選択、フレーム振り分け、Worker、補修対象と処理量上限を確認する。ハッシュファイルを無条件に再生成してテストを通さないこと。
実GPUのスモークテストは、独立した一時プロファイルのEdgeChromiumをリモートデバッグポート9333で起動して実行する。
```sh
node tests/browser_smoke.mjs 9333 all
```
`all``reset``fast``mid``legacy``axis``black``kernels``cancel``budget``ui` に置き換えて単独実行できる。描画6ケース旧方式指定の移行を含む、キューの被覆、独立高精度サンプル、計算中のキャンセル、指定反復予算、PNGの復号、色相変化、時間表示を確認する。
起動時は拡張機能と同期を無効にし、専用プロファイルのタブを1つだけにする。テストはそのタブを再利用し、最後に `about:blank` へ戻す。終了後は検証用ブラウザーを閉じる。
測定が必要な場合だけ `node tests/browser_smoke.mjs 9333 bench` を実行する。初期表示・Seahorse FASTを各1回ウォームアップ3回測定する。通常の回帰確認ではベンチマークを繰り返さない。
検証APIと詳細計測は `index.html?test` でのみ有効。通常起動では監査計算を自動実行しない。Strict設定も比較テストを起動しない。