mandelbrot/docs/README.md

41 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

2026-09-06 23:28:03 +09:00
# Mandelbrot WebGPU
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
`index.html` をWebGPU対応のEdgeChromeで開く。外部ライブラリやビルドは不要。
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
- 描画は高速方式に統一。画素間隔に応じてDirect f32または参照軌道を使うFAST perturbationへ自動で切り替える。旧「正確」の共有URLもこの方式で開く。
- パンズーム、配色変更、URLによる表示位置の共有、PNG出力に対応。
- 数値未確定画素の補修と未脱出画素の継続計算を終えてから、完成画像を履歴へ保存する。
- 計算中は現在の視点の暫定画像を表示する。反復上限は「自動」または指定回数を選べる。未脱出を集合内の証明とは扱わない。
- 画面と同じ解像度・1 sampleのPNGは、補修済みの完成画像をそのまま保存する。
- 色相変化は表示済みの数値結果を使い、計算中も色を更新する。停止ボタンまたは色相位置の手動操作で停止する。
- 描画時間は初期描画から精細化・数値補修・最終GPU処理までの合計。計算中は経過時間、完了時は確定した時間を表示する。
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
BLAと比較専用の監査処理は削除済み。[整理内容と検証範囲](CLEANUP.md)を参照。
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
[軽量化の実装結果と測定値](IMPLEMENTATION_RESULTS.md)を参照。承認前の[改善案](PERFORMANCE_PLAN.md)と[実装設計](PERFORMANCE_IMPLEMENTATION.md)も残している。
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
色相・時間表示の修正と描画方式統合については[ビューワー修正](VIEWER_FIXES.md)を参照。
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
## 検証
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
Node.js 22以降で実行する。追加パッケージは不要。
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
```sh
node tests/regression.mjs
```
2026-08-24 20:30:26 +09:00
2026-09-06 23:28:03 +09:00
構文、現行シェーダーのハッシュ、バックエンド選択、フレーム振り分け、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設定も比較テストを起動しない。