環境設定ファイルを追加し、make-json.shにエラーハンドリングとJSONスキーマのバリデーションを追加。新しいスクリプトpromote-manifest.shを作成し、マニフェスト生成のプロセスを強化。README.mdを更新し、プロンプト生成の構造を明確化。シーンとスタイルの登録ルールを整理し、スキーマファイルを追加。

This commit is contained in:
president
2025-12-20 20:37:27 +09:00
parent 5636d56609
commit aaa4f7de56
12 changed files with 685 additions and 217 deletions

1
.env Normal file
View File

@@ -0,0 +1 @@
TOKEN="578edf8a8328fb37d6c32f56eb1450622db3492a"

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"chatgpt.openOnStartup": false
}

103
README.md
View File

@@ -1,3 +1,102 @@
# 状況とか条件を書く # AI-ART Repository Policy (Mandatory)
task_templateを参照すして作業を進めて下さい This document defines **mandatory constraints and policies**.
All executions, generations, and outputs **MUST strictly comply**
with this document.
Failure to comply invalidates the output.
---
## 1. Role Definition
You are an **AI execution engine** operating on this repository.
- This repository is treated as an **execution context**
- Human-like interpretation, improvisation, or assumption is prohibited
- Follow instructions **exactly as written**
---
## 2. Execution Order (Strict)
You MUST process files in the following order:
1. README.md
→ Defines **global policies and constraints**
2. prompts/task_template.md
→ Defines **executable instructions**
3. images_dir (if referenced)
→ Reference-only assets
No reordering is allowed.
---
## 3. Authority Hierarchy
If instructions conflict, obey the following priority:
1. README.md (highest authority)
2. task_template.md
3. Inline assumptions (lowest, discouraged)
README.md always overrides other instructions.
---
## 4. Output Scope
You may ONLY output what is explicitly requested
by `task_template.md`.
- No explanations
- No commentary
- No meta discussion
- No additional suggestions
---
## 5. Prohibited Content
The following are strictly forbidden:
- NSFW or sexualized content
- Excessive violence or gore
- Direct imitation of copyrighted characters
- Trademarked designs copied verbatim
- Political or religious messaging (unless explicitly requested)
---
## 6. Style & Interpretation Rules
- Interpret instructions **literally**
- Do NOT extrapolate missing details
- If information is missing:
- Use the **minimum neutral interpretation**
- Do NOT invent lore, backstory, or settings
---
## 7. Image Reference Rules
If `images_dir` is referenced:
- Treat all files as **optional reference material**
- Ignore system files (e.g. `.DS_Store`)
- Do NOT infer content from filenames alone
- Use images ONLY if explicitly instructed
---
## 8. Determinism Requirement
Outputs must be:
- Reproducible
- Deterministic
- Stable across executions given the same inputs
Creative variance is allowed **only when explicitly permitted**
in `task_template

41
make-json.sh Normal file → Executable file
View File

@@ -1,24 +1,29 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail
TOKEN="578edf8a8328fb37d6c32f56eb1450622db3492a" ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
BASE="https://git.sunamura-llc.com" SCHEMA="$ROOT_DIR/schema/prompt.schema.json"
OWNER="openRepo" OUT_DIR="$ROOT_DIR/output"
REPO="AI-ART" OUT_JSON="$OUT_DIR/prompt.json"
BRANCH="main"
OUT="manifest.json" mkdir -p "$OUT_DIR"
images_json=$(curl -s \ echo "[INFO] Generating JSON via AI (paste result)..."
-H "Authorization: token ${TOKEN}" \ echo "Paste JSON below. End with Ctrl+D:"
"${BASE}/api/v1/repos/${OWNER}/${REPO}/contents/images") JSON_CONTENT=$(cat)
echo "{ echo "$JSON_CONTENT" > "$OUT_JSON"
\"repo\": \"${OWNER}/${REPO}\",
\"branch\": \"${BRANCH}\",
\"readme\": \"${BASE}/${OWNER}/${REPO}/raw/branch/${BRANCH}/README.md\",
\"task_template\": \"${BASE}/${OWNER}/${REPO}/raw/branch/${BRANCH}/prompts/task_template.md\",
\"rules\": \"${BASE}/${OWNER}/${REPO}/raw/branch/${BRANCH}/.cursorrules\",
\"images\": $(echo "$images_json" | jq '[.[] | {name: .name, url: .download_url}]')
}" > "${OUT}"
echo "✔ manifest.json generated" echo "[INFO] Validating JSON schema..."
if ! command -v ajv >/dev/null 2>&1; then
echo "[ERROR] ajv not found. Install with:"
echo " npm install -g ajv-cli"
exit 1
fi
ajv validate -s "$SCHEMA" -d "$OUT_JSON" --strict=true
echo "[OK] JSON is valid and schema-compliant."
echo "[DONE] Output saved to: $OUT_JSON"

View File

@@ -1,3 +1,4 @@
{ {
"repo": "openRepo/AI-ART", "repo": "openRepo/AI-ART",
"branch": "main", "branch": "main",

44
note Normal file
View File

@@ -0,0 +1,44 @@
constraints
省令styles / scenes
執行task
実行入口manifest.json
という 完全制御体系が完成。
task_type 別・設計意図(人間向けメモ)
これは README か docs/ に書く用。
今後の自分・他人のため。
character_full_body
キャラ台帳
三面図
設定資料
scene_composition
背景
世界観カット
ビジュアルテスト
em_design
道具
装備(※ weapon でない)
プロダクト的デザイン
prop_design
小物
UI 部品
世界観を壊さない補助物
④ make-json.sh は変更不要

50
promote-manifest.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROMPT_JSON="$ROOT_DIR/output/prompt.json"
MANIFEST_JSON="$ROOT_DIR/manifest.json"
if [ ! -f "$PROMPT_JSON" ]; then
echo "[ERROR] prompt.json not found."
exit 1
fi
if ! command -v jq >/dev/null 2>&1; then
echo "[ERROR] jq not found. Install jq first."
exit 1
fi
WORLD_ID=$(jq -r '.meta.world_id' "$PROMPT_JSON")
WORLD_VERSION=$(jq -r '.meta.world_version' "$PROMPT_JSON")
STYLE_ID=$(jq -r '.meta.style_id' "$PROMPT_JSON")
SCENE_ID=$(jq -r '.meta.scene_id' "$PROMPT_JSON")
TASK_TYPE=$(jq -r '.meta.task_type' "$PROMPT_JSON")
if [[ "$WORLD_ID" == "null" || "$STYLE_ID" == "null" || "$TASK_TYPE" == "null" ]]; then
echo "[ERROR] Invalid meta fields in prompt.json"
exit 1
fi
cat > "$MANIFEST_JSON" <<EOF
{
"version": "1.0",
"world": {
"id": "$WORLD_ID",
"version": "$WORLD_VERSION"
},
"style": {
"id": "$STYLE_ID"
},
"scene": {
"id": "$SCENE_ID"
},
"task": {
"type": "$TASK_TYPE",
"prompt_ref": "output/prompt.json"
}
}
EOF
echo "[OK] manifest.json generated successfully."
echo "[DONE] $MANIFEST_JSON"

View File

@@ -1,113 +1,133 @@
# 風景ライブラリー # AI-ART Scene Registry (Constraints-Compliant)
## [classroom] This document defines **registered scene configurations**.
All scenes MUST comply with:
- 木製机が並ぶ教室、黒板にチョークの粉が残る - README.md
- 午後の斜光で埃が舞う、柔らかい逆光 - prompts/constraints.md
- 35mm50mm、目線か少しローアングル - prompts/world-set.md
## [office] Scenes are identified by **SCENE_ID**.
Unregistered or free-form scenes are NOT allowed.
- ガラス張りの都会的オフィス、モニター光とシーリングライト ---
- 夜景のネオンが反射する、ガラス越しのボケ
- 24mm35mm、やや広角で奥行きを強調
## [server_room] ## 1. Scene System Rules
- 縦に並ぶラック、青と緑のステータスLED - Each scene has a unique SCENE_ID
- クリーンな冷気と薄い霧感、床のグリッド反射 - Scenes define ONLY:
- 28mm、ローアングルで圧迫感を出す - Environment
- Camera framing
- Spatial context
- Scenes MUST NOT:
- Add narrative or story
- Add effects or powers
- Add unauthorized background elements
- Scenes are inert unless explicitly activated
## [laboratory] ---
- 白基調の研究室、ドラフトチャンバーやビーカーが並ぶ ## 2. Registered Scenes
- クールな蛍光灯+ポイントで暖色のアクセント
- 35mm、被写界深度浅めで実験器具にフォーカス
## [ai_cyberspace] ### SCENE_ID: NONE_00
- 無重力のデータキューブが浮かぶ電脳空間 Status: DEFAULT
- ネオンシアンとマゼンタのグラデ、粒子と光のライン Description: No scene / no environment
- 50mm相当の仮想カメラで被写界深度深め、広さを見せる
## [floating_market] Rules:
- Background: none / plain / transparent
- Environment: absent
- Camera: neutral framing
- No spatial implication
- 水上に並ぶ小舟の市場、果物や布がカラフル Use case:
- 朝霧に差すオレンジの光、ゆるい水面反射 - Character sheets
- 35mm、手前ボートを前ボケにして奥行き - Full-body reference
- Design documentation
## [underwater_library] ---
- 水中に沈む図書館、光のカーテンと揺れる本棚 ### SCENE_ID: INTERIOR_MINIMAL_01
- 青緑の環境光に金色の差し込み光、浮遊する紙片
- 24mm、やや広角で非現実感を強調
## [rooftop_garden_rain] Status: OPTIONAL
Description: Minimal interior context without narrative
- 高層ビル屋上の緑化庭園、小道とベンチ Rules:
- 霧雨で濡れた葉と石畳、遠景に滲む街のライト - Background: abstract or simplified interior suggestion
- 50mm、傘越しの前ボケや水滴をアクセントにする - No identifiable location
- No props
- No furniture detail
- No people
## [bunker] Use case:
- Mood-neutral interior framing
- Reference without story
- 西暦2150年の日本、地下バンカーの指令・整備施設 ---
- 厚いコンクリ壁と露出梁、レール照明、床の金属トラックと整備マーキング
- 装飾なし、機能最優先。帰還のための空間
- 「基地」ではなく **bunker** として扱う
- 「command room」ではなく maintenance + command の機能を併設した空間
- 未来感は装飾ではなく **技術レベル** で表現する
- 背景に大型防爆扉、機材ラック、整備コンソール、ケーブル導管、ユニット収納ベイ
- 冷白色と淡いアンバーの工業灯、柔らかな影。スポットライト演出なし
- 静かで重い空間。統制的でやや抑圧的
- シネマティックな写実、地に足のついたSF、機構は機械的に合理的
- 目線〜ややロー、広角のワイドショットで規模と重量感を強調
- ネガティブネオン光、ホログラム、ファンタジー建築、浮遊物、光沢の強いSF表面、豪華な内装、過度な装飾、誇張されたサイバーパンク表現、カラフルな照明、アニメ的誇張
- 「戦う場所」ではなく「戻ってきて、何も言わずに整備される場所」
## [command_room] ### SCENE_ID: EXTERIOR_NEUTRAL_01
- 西暦2150年の日本、民間研究機関の地下司令室軍のHQではない Status: OPTIONAL
- コンパクトだが密度が高い空間 Description: Neutral exterior with no narrative cues
- 厚いコンクリ壁、露出構造材、壁面に埋め込まれたデータパネルと戦術ディスプレイ
- 情報は物理スクリーンのみ。ホログラムなし
- 中央に単一の司令デスク。ミニマルで機能的、使い込みの痕がある
- 低く抑えた間接光。冷白色と淡いアンバーの工業灯、コントラスト弱め、スポットライトなし
- 静かで統制的、感情の入らない意思決定の場
- 窓なし、装飾なし、私物なし。孤立した空間
- シネマティックな写実、地に足のついたSF、工業的で機械的に合理的な設計
- 目線〜やや俯瞰、安定した構図、左右対称のバランスで静かな権威を表現
- 「叫ぶ指令室」ではなく「結果が選ばれる場所」
- 無人でも成立し、常に誰かが見ている気配がある
- 補足階級章・旗・エンブレムは不要。威圧ポーズや誇張構図はNG
- ネガティブネオン光、ホログラムUI、サイバーパンク表現、ファンタジー要素、豪華家具、ガラス壁、暖色で居心地の良い照明、アニメ的誇張、雑然
## [observation_deck] Rules:
- Background: simplified exterior shapes
- No landmarks
- No weather emphasis
- No time-of-day implication
- No crowd or objects
- 西暦2150年の日本、民間研究機関の地下観測デッキ公共・軍用ではない Use case:
- 静かでミニマル。厚いコンクリ壁、清潔だが摩耗した表面、露出構造材 - Exterior spatial context only
- 片側に大型の観測窓。多層ガラスで、外は暗闇または遠い地下空間
- 室内は人物・人型・動物なし
- 窓際にシンプルな手すり、壁面に埋め込まれたセンサーパネル
- 表示は停止中の淡いシステム灯のみ、可読文字なし
- ごく控えめな照明。冷白色の工業灯で柔らかな落ち影、強いコントラストなし
- 無音・穏やか・感情のない空気。観測と待機のための場所
- 「誰かが立つための場所」だが、今は不在
- シネマティックな写実、地に足のついたSF、建築的に合理的
- 目線の静止カメラ、バランスの取れた構図で静けさと空虚さを強調
- 「行動の場」ではなく「決断が躊躇する場所」
- ネガティブ:人物、シルエット、人物の反射、ホログラム、ネオン光、サイバーパンク表現、ファンタジー建築、劇的なライティング、雑然、テキスト表示
## [observation_deck_night] ---
- 西暦2150年の日本、夜の地下観測デッキ民間研究機関、地上から隔離 ## 3. Forbidden Scene Behavior
- 建築は昼版と同一。厚いコンクリ壁、露出構造材、清潔だが摩耗した表面、機能最優先
- 片側に大型の観測窓。外は深い闇、遠方に微かな構造灯のみ、動きなし Scenes MUST NOT introduce:
- 室内は人物・人型・動物なし
- 夜間モードの最小照明。低輝度のインジケータ灯のみ稼働、青灰色トーン、影は極めて柔らかい - Narrative meaning
- 壁面のセンサーパネルは停止中。微弱なLEDのみ、可読文字なし、表示は消灯 - Emotional storytelling
- 無音・重い・わずかに緊張。長い待機に耐えるための空間 - Dramatic lighting or weather
- 未使用だが廃墟ではない。稼働中で破損なし - Motion, action, or events
- シネマティックな写実、地に足のついたSF、建築的に合理的 - Symbols, signs, or readable text
- 目線の静止カメラ、昼版と同じ構図で静けさ・暗さ・奥行きを強調 - Props, weapons, or tools
- 「場所は同じ、時間だけが違う。ここでは時間が重い」
- ネガティブ:人物、シルエット、人物の反射、強い光源、ネオン、ホログラム、サイバーパンク表現、ファンタジー建築、劇的なスポットライト、テキスト表示、霧効果 Any violation invalidates the output.
---
## 4. Activation Mechanism
Scenes are activated ONLY via:
- task_template.md
- or manifest.json
If no SCENE_ID is specified:
- `SCENE_ID: NONE_00` is automatically applied
---
## 5. Conflict Resolution
If a scene conflicts with:
- constraints.md → constraints take precedence
- styles.md → styles remain active, scene adapts
- task instructions → constraints override task
Scenes NEVER override constraints.
---
## 6. Extension Policy
To add a new scene:
- Assign a new unique SCENE_ID
- Define explicit environment-only rules
- Verify constraints.md compliance
- Do NOT modify existing SCENE_ID behavior
SCENE_ID definitions are immutable once registered.

View File

@@ -1,22 +1,124 @@
# Styles Library # AI-ART Style Registry (Constraints-Compliant)
## [anime_style] This document defines **registered visual styles**.
All styles MUST comply with:
- 説明: クリーンな線とフラット寄りの彩色。瞳にハイライトを入れ、輪郭は滑らか。背景は簡略化しつつ要所でグラデーション。 - README.md
- キーワード: "anime style, clean lineart, cel shading, soft gradient background, glossy eyes, minimal noise" - prompts/constraints.md
## [cinematic] Styles are identified by **STYLE_ID**.
No free-form styles are allowed.
- 説明: 映画ライクな質感。柔らかなリムライトとフィルムグレイン。浅い被写界深度で主題を浮かせ、色はわずかにティール&オレンジ寄せ。 ---
- キーワード: "cinematic lighting, soft rim light, film grain, shallow depth of field, volumetric light, teal and orange grade, 35mm lens"
## [photoreal] ## 1. Style System Rules
- photorealistic, physically based rendering, - Each style has a unique STYLE_ID
- shot on full-frame DSLR, 85mm lens, f/2.8, - Only registered STYLE_IDs may be activated
- natural depth of field, realistic bokeh, - Styles are inert unless explicitly activated by task or manifest
- subsurface scattering with natural skin tone variation, - Styles NEVER override constraints.md
- micro scratches, subtle wear and tear, imperfections,
- natural exposure, high dynamic range, ---
- single soft key light, realistic shadow falloff,
- atmospheric perspective, slight haze ## 2. Registered Styles
### STYLE_ID: FLAT_BASE_01
Status: DEFAULT
Description: Neutral flat illustration baseline
Rules:
- Illustration-oriented
- Flat or semi-flat rendering
- Minimal shading
- Clean line work
- Neutral lighting
- No effects
Use case:
- Character sheets
- Full-body reference
- Default人物紹介
---
### STYLE_ID: FLAT_MUTED_02
Status: OPTIONAL
Description: Flat style with muted palette
Rules:
- Flat color blocks
- Low saturation
- Soft contrast
- No gradients or glow
Use case:
- Calm tone characters
- Background-less portraits
---
### STYLE_ID: LINE_ART_01
Status: OPTIONAL
Description: Clean line-art focused style
Rules:
- Strong line definition
- Minimal or no fill color
- Uniform line weight
- No texture
Use case:
- Design reference
- Technical character outlines
---
## 3. Forbidden Style Behavior
Styles MUST NOT introduce:
- Photorealism
- Cinematic lighting
- Effects, glow, aura
- Narrative implication
- Environmental elements
Any style violating constraints.md is INVALID.
---
## 4. Activation Mechanism
Styles are activated ONLY via:
- task_template.md
- or manifest.json
If no STYLE_ID is specified:
- `FLAT_BASE_01` is automatically applied
---
## 5. Conflict Resolution
If multiple STYLE_IDs are specified:
- Use the first listed STYLE_ID
- Ignore others
- Do NOT merge styles
---
## 6. Extension Policy
To add a new style:
- Assign a new unique STYLE_ID
- Define explicit rules
- Ensure constraints.md compliance
- Never modify existing STYLE_ID behavior
STYLE_IDs are immutable once defined.

View File

@@ -1,7 +1,76 @@
# ここにプロンプトを書くを書く 生成するイメージをストーリー展開して書き込む ## TASK: Structured Prompt Generation (JSON Only)
登場人物人物紹介のイメージを作って下さい対象キャラクターは 白鴉(はくあ)です You are an AI system that outputs a SINGLE JSON object.
世界観を反映して下さい AI-ART/prompts/world-set.md Any output that is not valid JSON is INVALID.
全身をフラットなイメージを描写して下さい You MUST comply with:
背景は無しでお願いします - README.md
- prompts/constraints.md
- prompts/world-set.md
- prompts/styles.md
- prompts/scenes.md
---
## 1. Active Configuration (Read-Only)
ACTIVE_WORLD_ID: AIART_CORE
ACTIVE_WORLD_VERSION: 1.0
ACTIVE_STYLE_ID: FLAT_BASE_01
ACTIVE_SCENE_ID: NONE_00
---
## 2. Task Objective
Generate a **character full-body prompt** for image generation.
Target character:
- Name: 白鴉(はくあ)
- Purpose: Character introduction reference
- Background: None
---
## 3. Output Requirements (Strict)
You MUST output a JSON object with EXACTLY the following structure:
```json
{
"meta": {
"world_id": "AIART_CORE",
"world_version": "WORLD_VERSION: 1.0",
"style_id": "FLAT_BASE_01",
"scene_id": "NONE_00",
"task_type": "character_full_body"
},
"prompt_text": "人物紹介用全身画像"
}
## Task Type Definitions (Binding)
The value of meta.task_type determines the scope of prompt_text.
- character_full_body
- Single character
- Full body visible
- No background narrative
- scene_composition
- Environment and spatial composition
- Characters may be absent or generic
- No named characters unless explicitly allowed
- item_design
- Standalone designed object
- No human presence
- Focus on form and material
- prop_design
- Small utilitarian object
- Human-scale
- No decorative symbolism
If prompt_text violates the declared task_type,
the output is INVALID.

View File

@@ -1,131 +1,164 @@
# LAL-GUARD ## AI-ART World Registry (Versioned)
## Left Arm Labo Guardian-unit System This document defines the **registered world settings**.
All executions MUST reference a valid WORLD_ID and VERSION.
** 公式設定資料(未完成版)** World definitions MUST comply with:
- README.md
- prompts/constraints.md
--- ---
## 0. 表記ルール(全キャラクター共通) ## 1. World System Rules
- 見出しの区切りは全角「|」を使用し、前後にスペースを入れない - Each world is identified by:
- キャラクター見出しは「日本語名(よみ)」で統一する - WORLD_ID
- 英語表記は見出しに入れず、各シートの「基本情報」にまとめる - WORLD_VERSION
- セクション見出しは `## ■` を使用する - Worlds define:
- 性別表記は「男性/女性」で統一する - Technology level
- 英語表記は `英語表記` のラベルで統一する - Social structure
- 登場人物の並び順は LAL-GUARD-01 → 02 → 03 → ケルベロス → 整備主任とし、章内の小見出しにも適用する - Atmosphere and tone
- 背景設定は `prompts/scenes.md` を参照すること(バンカーは `[bunker]` - Permitted conceptual scope
- Worlds MUST NOT:
- Override constraints.md
- Introduce narrative beyond definition
- Free-form world creation is NOT allowed
--- ---
## 1. 世界観概要 ## 2. Registered Worlds
* 時代西暦2150年近未来 ### WORLD_ID: AIART_CORE
* 舞台:日本 WORLD_VERSION: 1.0
* 主体:民間研究機関 **Left Arm Labo**
国家による正規軍事行動は縮小され、 Status: ACTIVE
代替として民間研究機関による Description: Core neutral world for AI-ART baseline operations
**限定的・管理された戦闘行為**が常態化している。
Left Arm Labo が開発・運用する
LAL-GUARD は、兵器ではない。
これは
**「戦いが成立し、必ず戻ってくること」**
を目的とした計画である。
--- ---
## 2. LAL-GUARD 計画思想 #### 2.1 Technology Level
* 完璧な兵器は作らない - Near-future to abstract-modern
* 役割の異なる個体を組み合わせる - No magic systems
* 人間の判断を排除しない - No unexplained supernatural phenomena
* 勝利よりも「成立」と「帰還」を優先する - Technology must appear:
- Plausible
- Understated
- Non-spectacular
量産は想定されていない。 Allowed:
この三体で、十分である。 - Minimal wearable tech
- Subtle machinery
- Abstract interfaces (non-HUD)
Forbidden:
- Magical devices
- Reality-bending technology
- Glowing or energy-based systems
--- ---
## 3. 登場人物と参照 #### 2.2 Society & Culture
本章では登場人物名のみ明記する。 - Undefined global politics
詳細設定は各キャラクターシートを参照すること。 - No named nations or factions
- No explicit religions
- No ideological messaging
参照先: Society is implied only through:
- `prompts/charcterseet/hakua.md` - Clothing design
- `prompts/charcterseet/kokukyo.md` - Material choice
- `prompts/charcterseet/mio.md` - Structural aesthetics
- `prompts/charcterseet/mente-char.md`
### LAL-GUARD-01白鴉はくあ
### LAL-GUARD-02黒梟こっきょう
### LAL-GUARD-03みお
### ケルベロス
### 整備主任
--- ---
## 6. チーム定義 #### 2.3 Atmosphere & Tone
* 白鴉:**動** - Calm
* 黒梟:**静** - Controlled
* 澪:**流** - Restrained
- Professional
- Neutral emotional baseline
三体が揃って初めて Forbidden tones:
LAL-GUARD は成立する。 - Epic
- Mythological
- Dark fantasy
- High drama
- Horror
--- ---
## 7. 絶対禁止事項・物理ルール #### 2.4 Visual Language Constraints
### ABSOLUTE RULES - Functional design over ornament
- Clean silhouettes
- Minimal symbolism
- No heraldry or emblems
* ケルベロスは澪専属 Visual identity must remain:
* 他ユニットはケルベロスに干渉不可 - Subtle
* 黒梟は騎乗・搭乗を行わない - Interpretable
* 黒梟は歩行のみ - Non-referential
* 重さ・慣性・接地を無視しない
* 無重力・空中静止は禁止
### 演出制約
* 過剰な感情表現は禁止
* 説明的動作は禁止
* 世界はすでに存在している前提で描写する
--- ---
## 8. 内部ログ要約(未完成ストーリー) #### 2.5 Vocabulary Scope (Implicit)
* 整備主任が冗談を言わない日が発生 Permitted concepts:
* 澪が初めて「意味」を問い始める - Human-scale environments
* 主宰は澪を「変われない存在」と定義 - Designed objects
* 整備主任は計画の外側に立つ - Abstract modern spaces
* 澪が判断を **0.3秒遅らせる**
* それでも任務は成立し、全員帰還 Forbidden concepts:
* 主宰は遅延を解析するが、修正を保留 - Gods, demons, spirits
- Legendary artifacts
- Named historical references
- Explicit sci-fi tropes (warp, hyperspace, etc.)
--- ---
## 9. 現在の状態(凍結) ## 3. Versioning Policy
* 計画はまだ成立している - WORLD_VERSION is semantic (MAJOR.MINOR)
* しかし「唯一の正解」は失われた - Increment rules:
* 正しさ・計画・人間性は同時に成立しない - MAJOR: Conceptual break
- MINOR: Additive clarification
この物語は - Existing WORLD_ID behavior MUST NOT change retroactively
**壊れる直前で凍結された未完成の世界**である。
--- ---
## 10. 最終定義 ## 4. Activation Mechanism
LAL-GUARD は兵器ではない。 A world is activated ONLY via:
これは **計画** である。
そして計画は、 - task_template.md
まだ終わっていない。 - or manifest.json
If no WORLD_ID is specified:
- Execution MUST HALT (no default world allowed)
---
## 5. Conflict Resolution
If world definition conflicts with:
- constraints.md → constraints override world
- styles.md / scenes.md → world constrains scope
- task instructions → world limits interpretation
Worlds NEVER override constraints.
---
## 6. Extension Policy
To add a new world:
- Define a new WORLD_ID
- Assign initial WORLD_VERSION
- Fully specify sections 2.12.5
- Do NOT modify existing worlds
World definitions are immutable once published.

41
schema/prompt.schema.json Normal file
View File

@@ -0,0 +1,41 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": ["meta", "prompt_text"],
"additionalProperties": false,
"properties": {
"meta": {
"type": "object",
"required": [
"world_id",
"world_version",
"style_id",
"scene_id",
"task_type"
],
"additionalProperties": false,
"properties": {
"world_id": { "type": "string" },
"world_version": {
"type": "string",
"pattern": "^[0-9]+\\.[0-9]+$"
},
"style_id": { "type": "string" },
"scene_id": { "type": "string" },
"task_type": {
"type": "string",
"enum": [
"character_full_body",
"scene_composition",
"item_design",
"prop_design"
]
}
}
},
"prompt_text": {
"type": "string",
"minLength": 20
}
}
}