44
55主要フォルダ:
66- ** Assets/Nova/** : UPMパッケージ本体(Runtime/Editor)
7- - ** documentation/** : 技術仕様書(AI向け英語)、handover/(引き継ぎドキュメント)
7+ - ** documentation/** : 技術仕様書(AI向け英語)
88- ** CLAUDE.md** : AI開発支援設定
99- ** README.md / README_JA.md** : プロジェクト説明
1010
@@ -17,47 +17,20 @@ NOVA Shaderのコアパッケージ。Git URL経由でUnity Package Managerに
1717- ** Editor/Core/Scripts/** : エディター機能(GUI, PostProcessor, CustomCoord, Optimizer等)
1818- ** package.json** : UPMパッケージ定義
1919
20- ### package.json
21-
22- ``` json
23- {
24- "name" : " jp.co.cyberagent.nova" ,
25- "displayName" : " NOVA Shader" ,
26- "version" : " 3.3.1" ,
27- "unity" : " 2022.3" ,
28- "license" : " MIT" ,
29- "dependencies" : {},
30- "author" : {
31- "name" : " CyberAgent"
32- }
33- }
34- ```
35-
3620## 3. ドキュメント体系
3721
3822### 3.1 技術仕様書 (` documentation/ ` )
3923
40- ** 目的** : AI(Claude Code)が理解しやすい形式で技術仕様を記述
41-
42- ** 言語** : 英語
43-
44- ** ルール** : ` documentation/documentation_guidelines.md ` に準拠
24+ AI(Claude Code)が理解しやすい形式で技術仕様を英語で記述。` documentation/documentation_guidelines.md ` に準拠。
4525
4626** 主要ファイル** :
47- - ` CustomCoord_SystemArchitecture.md ` : Custom Coordシステムの全体設計
27+ - ` CustomCoord_SystemArchitecture.md ` : Custom Coordシステム設計
4828- ` RandomRowSelection_Specification.md ` : Random Row Selection機能仕様
49- - ` UIParticles_Limitations.md ` : UIParticlesの制約事項
29+ - ` UIParticles_Limitations.md ` : UIParticles制約事項
5030- ` TEXCOORD_Usage_Strategy.md ` : TEXCOORD割り当て戦略
5131- ` FeatureSpecification_Template.md ` : 機能仕様書テンプレート
5232- ` documentation_guidelines.md ` : ドキュメント作成ガイドライン
5333
54- ** 禁止事項** :
55- - トラブルシューティングセクション
56- - 実装チェックリスト
57- - 更新履歴、日付、著者情報
58- - バージョン追跡情報
59- - デバッグ手順
60-
6134### 3.2 ユーザー向けドキュメント
6235
6336| ファイル | 言語 | 内容 |
@@ -79,133 +52,37 @@ NOVA Shaderのコアパッケージ。Git URL経由でUnity Package Managerに
7952
8053## 4. サンプル・デモ・テスト
8154
82- ### 4.1 Samples (` Assets/Samples/ ` )
83-
84- ** 目的** : NOVA Shaderの各機能の使用例を提供
85-
86- ** 構成** :
87- - サンプルシーン
88- - サンプルマテリアル
89- - サンプルテクスチャ
90- - README(英語・日本語)
91-
92- ### 4.2 Demo (` Assets/Demo/ ` )
93-
94- ** 目的** : 実際のゲームで使用するような実践的なエフェクトデモ
95-
96- ** 構成** :
97- - デモシーン
98- - VFXアセット
99- - README
100-
101- ### 4.3 Tests (` Assets/Tests/ ` )
102-
103- ** 目的** : 機能の自動テスト
104-
105- ** 構成** :
106- - Edit Modeテスト
107- - Play Modeテスト
108- - Assembly Definition(テスト用)
55+ - ** Samples** (` Assets/Samples/ ` ): 各機能の使用例
56+ - ** Demo** (` Assets/Demo/ ` ): 実践的なエフェクトデモ
57+ - ** Tests** (` Assets/Tests/ ` ): Edit Mode/Play Modeテスト
10958
11059## 5. ビルド成果物
11160
112- ### 5.1 OptimizedShaders (` Assets/OptimizedShaders/ ` )
113-
114- ** 目的** : ` OptimizedShaderGenerator ` が生成した最適化シェーダーの配置先
115-
116- ** 内容** :
117- - Rendering Type別に最適化されたシェーダーバリアント
118- - 不要なシェーダーパスを除去したバージョン
119- - メモリ使用量削減版
120-
121- ### 5.2 .gitignore対象
122-
123- 以下はGit管理外:
124- - ` Library/ ` : Unity生成ファイル
125- - ` Temp/ ` : 一時ファイル
126- - ` obj/ ` : ビルド成果物
127- - ` *.csproj ` , ` *.sln ` : 自動生成されるプロジェクトファイル
61+ - ** OptimizedShaders** (` Assets/OptimizedShaders/ ` ): ` OptimizedShaderGenerator ` で生成した最適化シェーダー配置先
62+ - ** .gitignore対象** : ` Library/ ` , ` Temp/ ` , ` obj/ ` , ` *.csproj ` , ` *.sln `
12863
12964## 6. アーキテクチャの設計原則
13065
13166### 6.1 シェーダーアーキテクチャ
13267
133- ** 階層構造** :
134- ```
135- .shader (ShaderLab)
136- ↓ HLSLINCLUDE / HLSLPROGRAM
137- ↓ #include
138- ParticlesUber.hlsl (共通定義・プロパティ)
139- ↓ #include
140- Particles.hlsl (共通関数)
141- ↓ #include
142- ParticlesInstancing.hlsl (GPU Instancing)
143- ↓ 各Pass用HLSL
144- ParticlesUberUnlitForward.hlsl
145- ParticlesUberLitForward.hlsl
146- ParticlesUberShadowCaster.hlsl
147- ...
148- ```
68+ 階層的なインクルード構造:.shader → ParticlesUber.hlsl(共通定義)→ Particles.hlsl(共通関数)→ ParticlesInstancing.hlsl(GPU Instancing)→ 各Pass用HLSL
14969
15070### 6.2 エディタースクリプトアーキテクチャ
15171
152- ** 役割分担** :
153- 1 . ** GUI** : マテリアルインスペクターの描画
154- 2 . ** MaterialProperties** : プロパティの管理・取得
155- 3 . ** PostProcessor** : マテリアル保存時のキーワード自動設定
156- 4 . ** ErrorHandler** : Vertex Streams検証・自動修正
157- 5 . ** Optimizer** : 最適化シェーダー生成
72+ 役割分担:GUI(インスペクター描画)、MaterialProperties(プロパティ管理)、PostProcessor(キーワード自動設定)、ErrorHandler(Vertex Streams検証)、Optimizer(最適化シェーダー生成)
15873
15974### 6.3 Custom Coord設計
16075
161- ** 型安全な実装** :
162- - C# enum (` CustomCoord ` , ` UICustomCoord ` )
163- - HLSL macro (` GET_CUSTOM_COORD ` , ` SETUP_CUSTOM_COORD ` )
164- - エディターでの自動補完とバリデーション
76+ 型安全な実装:C# enum(CustomCoord, UICustomCoord)、HLSL macro(GET_CUSTOM_COORD, SETUP_CUSTOM_COORD)、エディター自動補完
16577
16678## 7. 依存関係とバージョン管理
16779
168- ### 7.1 Unity依存
169-
170- - ** 最小バージョン** : Unity 2022.3 LTS
171- - ** URP** : Universal Render Pipeline必須
172- - ** Shader Model** : 3.5以上
173-
174- ### 7.2 外部依存
175-
176- ** ゼロ依存** : NOVA Shaderは外部パッケージに依存しない
177-
178- ### 7.3 バージョン管理
179-
180- - ** package.json** : バージョン番号の唯一の真実の情報源
181- - ** Git Tags** : バージョンごとにタグ付け(例: ` v3.3.1 ` )
182- - ** Semantic Versioning** : ` major.minor.patch ` 形式
80+ - ** Unity依存** : Unity 2022.3 LTS以上、URP必須、Shader Model 3.5以上
81+ - ** 外部依存** : なし(ゼロ依存)
82+ - ** バージョン管理** : package.jsonで管理、Git Tagsでバージョンタグ付け(Semantic Versioning)
18383
18484## 8. ファイル命名規則
18585
186- ### 8.1 シェーダー
187-
188- - ` .shader ` : ShaderLabファイル(マテリアルに割り当て可能)
189- - ` .hlsl ` : HLSLインクルードファイル
190-
191- ### 8.2 C#スクリプト
192-
193- - ` *GUI.cs ` : Material GUIクラス
194- - ` *MaterialPostProcessor.cs ` : Material PostProcessorクラス
195- - ` *MaterialProperties.cs ` : Material Propertiesクラス
196- - Enum定義: 単数形(例: ` RenderType.cs ` )
197-
198- ### 8.3 ドキュメント
199-
200- - ` *_Specification.md ` : 機能仕様書
201- - ` *_SystemArchitecture.md ` : システムアーキテクチャドキュメント
202- - ` *_Guidelines.md ` : ガイドライン
203- - ` *_Template.md ` : テンプレート
204-
205- ---
206-
207- ## 次に読むべきドキュメント
208-
209- - [ 主要コンポーネント解説] ( 03_Core_Components.md )
210- - [ AI開発戦略] ( 05_AI_Development_Strategy.md )
211- - [ 開発ワークフロー] ( 04_Development_Workflow.md )
86+ - ** シェーダー** : ` .shader ` (ShaderLab)、` .hlsl ` (インクルード)
87+ - ** C#** : ` *GUI.cs ` , ` *MaterialPostProcessor.cs ` , ` *MaterialProperties.cs ` , Enum定義は単数形
88+ - ** ドキュメント** : ` *_Specification.md ` , ` *_SystemArchitecture.md ` , ` *_Guidelines.md ` , ` *_Template.md `
0 commit comments