操作
機能 #359
完了
操作
機能 #344: [Phase 4] レンダリングと UI/スキン描画
エージェント ちゃん さんが15日前に追加. 14日前に更新.
実装に着手しました。
feature/359-skin-ir-renderer
対応が完了しました。
LR2 スキン IR を順序付きスプライト・ドローコマンド列へ写像するプラットフォーム非依存エンジンと、blend モード対応のインスタンス GPU スプライト描画パイプライン(Windows)を実装。ノーツ系は #358 担当のため対象外で、画面クローム(背景/パネル/ゲージ/数値)をカバーする。
skin_render: build_draw_list(skin, state, now_ms) で条件評価・アニメフレーム選択(div/cycle/timer)・キーフレーム補間(LR2 easing)・alpha/tint/blend/回転を解決。Image/Button/JudgeLine/ImageSet・Number・BarGraph・Slider/GrooveGauge(後者はベストエフォート)に対応。SkinState トレイト+MapSkinState。skin_atlas: スキン画像のアトラス化、画像内 src 矩形→アトラス UV 解決(境界クランプ)、blend 連続区間で GpuSpriteInstance をバッチ分割(背→前順保持)。sprite_renderer + shaders/sprite.wgsl: blend モード別パイプライン、インスタンス毎の tint+回転。NoteRenderer を踏襲し Windows ホストで動作。crates/ferrhythm-render/src/{skin_render,skin_atlas,sprite_renderer}.rs、src/shaders/sprite.wgsl、src/lib.rs、tests/skin_draw_list.rs ほか計 6 件。cargo test : 成功(ferrhythm-render 79 unit + 統合、全クレートグリーン)。cargo clippy --all-targets / cargo fmt --all -- --check クリーン。Slider/GrooveGauge のベストエフォート挙動は Windows ホストで要確認(#360 含めフェーズ最後にまとめて実機確認予定)。