mirror of
https://github.com/Heretek-AI/game-engine.git
synced 2026-11-07 22:42:36 -10:00
146 lines
9.1 KiB
Bash
Executable File
146 lines
9.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ==============================================================================
|
|
# GitHub Roadmap, Labels, Milestones & Issues Bootstrapper
|
|
# Prerequisite: Install GitHub CLI (https://cli.github.com/) and run `gh auth login`
|
|
# Usage: chmod +x scripts/bootstrap-github-issues.sh && ./scripts/bootstrap-github-issues.sh
|
|
# ==============================================================================
|
|
|
|
set -euo pipefail
|
|
|
|
echo "==> 1. Creating Architecture Labels..."
|
|
gh label create "area:native-core" --color "d73a4a" --description "C++20 memory, job system, Flecs ECS, OS abstraction" --force
|
|
gh label create "area:abi-bridge" --color "0075ca" --description "hostfxr, C99 ABI headers, abi_codegen, zero-copy marshaling" --force
|
|
gh label create "area:roslyn-illusion" --color "a2eeef" --description "Roslyn Incremental Source Generators & GC Analyzers" --force
|
|
gh label create "area:renderer" --color "7057ff" --description "Vulkan 1.3 bindless, Slang shaders, GPU culling, SDF GI" --force
|
|
gh label create "area:physics-audio" --color "008672" --description "Jolt Physics & miniaudio integration" --force
|
|
gh label create "area:editor-cli" --color "e4e669" --description "Asset pipeline, Editor UI, Prefabs, IPC/CLI protocol" --force
|
|
gh label create "priority:critical" --color "b60205" --description "Core architectural blocker for milestone gate" --force
|
|
|
|
echo "==> 2. Creating 5 Roadmap Milestones..."
|
|
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
|
|
|
|
create_milestone() {
|
|
local title="$1"
|
|
local desc="$2"
|
|
gh api "repos/${REPO}/milestones" -f title="$title" -f description="$desc" >/dev/null || true
|
|
}
|
|
|
|
create_milestone "M1: The Spine (Native ECS + Zero-Copy Host)" "Gate: 1M LocalTransform updates from C# in <1.5ms with 0 GC allocations."
|
|
create_milestone "M2: The Illusion Compiler (Roslyn + Hot Reload)" "Gate: <100ms state-preserving C# hot-reload + OOP-to-ECS source generation."
|
|
create_milestone "M3: GPU-Driven Vulkan 1.3 Renderer" "Gate: 250k dynamic PBR meshes + real-time SDF GI at 120+ FPS (<0.5ms CPU)."
|
|
create_milestone "M4: Deterministic Jolt Physics & Audio" "Gate: 30k colliding rigidbodies + zero-cost C# raycasts & spatial audio at 60+ FPS."
|
|
create_milestone "M5: Editor UX, Asset Pipeline & Agent CLI" "Gate: <16ms background asset streaming, engine-cli IPC server, 1-click NativeAOT export."
|
|
|
|
echo "==> 3. Populating Issues across Milestones..."
|
|
|
|
# --- MILESTONE 1 ---
|
|
gh issue create --title "[M1-01] Initialize Monorepo, CMake C++20 Build, and .slnx Workspace" \
|
|
--milestone "M1: The Spine (Native ECS + Zero-Copy Host)" \
|
|
--label "area:native-core,priority:critical" \
|
|
--body "See \`docs/01-MILESTONE-1-THE-SPINE.md\` (Issue M1-01) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M1-02] Native Memory Arenas & 64-Byte Cache-Aligned Allocators" \
|
|
--milestone "M1: The Spine (Native ECS + Zero-Copy Host)" \
|
|
--label "area:native-core" \
|
|
--body "See \`docs/01-MILESTONE-1-THE-SPINE.md\` (Issue M1-02) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M1-03] Work-Stealing Job Scheduler & Flecs Hierarchy Pipeline" \
|
|
--milestone "M1: The Spine (Native ECS + Zero-Copy Host)" \
|
|
--label "area:native-core" \
|
|
--body "See \`docs/01-MILESTONE-1-THE-SPINE.md\` (Issue M1-03) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M1-04] C99 ABI Contract (engine_abi.h) & Automated C# Binding Generator" \
|
|
--milestone "M1: The Spine (Native ECS + Zero-Copy Host)" \
|
|
--label "area:abi-bridge,priority:critical" \
|
|
--body "See \`docs/01-MILESTONE-1-THE-SPINE.md\` (Issue M1-04) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M1-05] Embed .NET 10 (hostfxr) & 1M Entity Zero-Copy Benchmark" \
|
|
--milestone "M1: The Spine (Native ECS + Zero-Copy Host)" \
|
|
--label "area:abi-bridge,priority:critical" \
|
|
--body "See \`docs/01-MILESTONE-1-THE-SPINE.md\` (Issue M1-05) for full specification and acceptance criteria."
|
|
|
|
# --- MILESTONE 2 ---
|
|
gh issue create --title "[M2-01] Ergonomic IComponent, Entity, and Phase Attributes API" \
|
|
--milestone "M2: The Illusion Compiler (Roslyn + Hot Reload)" \
|
|
--label "area:roslyn-illusion" \
|
|
--body "See \`docs/02-MILESTONE-2-ILLUSION-COMPILER.md\` (Issue M2-01) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M2-02] Roslyn IIncrementalGenerator (IComponent to Native Chunk Job)" \
|
|
--milestone "M2: The Illusion Compiler (Roslyn + Hot Reload)" \
|
|
--label "area:roslyn-illusion,priority:critical" \
|
|
--body "See \`docs/02-MILESTONE-2-ILLUSION-COMPILER.md\` (Issue M2-02) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M2-03] Compile-Time Performance & Memory Safety Roslyn Analyzers" \
|
|
--milestone "M2: The Illusion Compiler (Roslyn + Hot Reload)" \
|
|
--label "area:roslyn-illusion" \
|
|
--body "See \`docs/02-MILESTONE-2-ILLUSION-COMPILER.md\` (Issue M2-03) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M2-04] Stateless Collectible AssemblyLoadContext 100ms Hot-Reload" \
|
|
--milestone "M2: The Illusion Compiler (Roslyn + Hot Reload)" \
|
|
--label "area:abi-bridge,area:roslyn-illusion,priority:critical" \
|
|
--body "See \`docs/02-MILESTONE-2-ILLUSION-COMPILER.md\` (Issue M2-04) for full specification and acceptance criteria."
|
|
|
|
# --- MILESTONE 3 ---
|
|
gh issue create --title "[M3-01] SDL3 Windowing, Vulkan 1.3 Bootstrap (volk + VMA), and Render Graph" \
|
|
--milestone "M3: GPU-Driven Vulkan 1.3 Renderer" \
|
|
--label "area:renderer,priority:critical" \
|
|
--body "See \`docs/03-MILESTONE-3-VULKAN-RENDERER.md\` (Issue M3-01) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M3-02] Bindless Descriptor Table & GPU-Driven Indirect Drawing" \
|
|
--milestone "M3: GPU-Driven Vulkan 1.3 Renderer" \
|
|
--label "area:renderer,priority:critical" \
|
|
--body "See \`docs/03-MILESTONE-3-VULKAN-RENDERER.md\` (Issue M3-02) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M3-03] Slang Shader Compiler Pipeline & C# GraphicsCompositor API" \
|
|
--milestone "M3: GPU-Driven Vulkan 1.3 Renderer" \
|
|
--label "area:renderer,area:abi-bridge" \
|
|
--body "See \`docs/03-MILESTONE-3-VULKAN-RENDERER.md\` (Issue M3-03) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M3-04] Zero-Bake Real-Time GI (Signed Distance Fields + Radiance Cascades)" \
|
|
--milestone "M3: GPU-Driven Vulkan 1.3 Renderer" \
|
|
--label "area:renderer" \
|
|
--body "See \`docs/03-MILESTONE-3-VULKAN-RENDERER.md\` (Issue M3-04) for full specification and acceptance criteria."
|
|
|
|
# --- MILESTONE 4 ---
|
|
gh issue create --title "[M4-01] Jolt Physics Integration & Shared Work-Stealing Thread Pool" \
|
|
--milestone "M4: Deterministic Jolt Physics & Audio" \
|
|
--label "area:physics-audio,priority:critical" \
|
|
--body "See \`docs/04-MILESTONE-4-PHYSICS-AND-AUDIO.md\` (Issue M4-01) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M4-02] Zero-Glue Parallel Flecs <-> Jolt Transform Synchronization" \
|
|
--milestone "M4: Deterministic Jolt Physics & Audio" \
|
|
--label "area:physics-audio,area:native-core" \
|
|
--body "See \`docs/04-MILESTONE-4-PHYSICS-AND-AUDIO.md\` (Issue M4-02) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M4-03] Zero-Cost C# Spatial Queries (Physics.Raycast / OverlapSphere)" \
|
|
--milestone "M4: Deterministic Jolt Physics & Audio" \
|
|
--label "area:physics-audio,area:abi-bridge" \
|
|
--body "See \`docs/04-MILESTONE-4-PHYSICS-AND-AUDIO.md\` (Issue M4-03) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M4-04] Low-Latency 3D Spatial Audio Graph (miniaudio)" \
|
|
--milestone "M4: Deterministic Jolt Physics & Audio" \
|
|
--label "area:physics-audio" \
|
|
--body "See \`docs/04-MILESTONE-4-PHYSICS-AND-AUDIO.md\` (Issue M4-04) for full specification and acceptance criteria."
|
|
|
|
# --- MILESTONE 5 ---
|
|
gh issue create --title "[M5-01] Non-Blocking Background Asset Pipeline & .meta GUID Database" \
|
|
--milestone "M5: Editor UX, Asset Pipeline & Agent CLI" \
|
|
--label "area:editor-cli,priority:critical" \
|
|
--body "See \`docs/05-MILESTONE-5-EDITOR-AND-CLI.md\` (Issue M5-01) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M5-02] Native-Backed Editor UI (Hierarchy, Inspector, Prefabs, Gizmos)" \
|
|
--milestone "M5: Editor UX, Asset Pipeline & Agent CLI" \
|
|
--label "area:editor-cli,priority:critical" \
|
|
--body "See \`docs/05-MILESTONE-5-EDITOR-AND-CLI.md\` (Issue M5-02) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M5-03] First-Class IPC / JSON-RPC Server & engine-cli Control Plane" \
|
|
--milestone "M5: Editor UX, Asset Pipeline & Agent CLI" \
|
|
--label "area:editor-cli" \
|
|
--body "See \`docs/05-MILESTONE-5-EDITOR-AND-CLI.md\` (Issue M5-03) for full specification and acceptance criteria."
|
|
|
|
gh issue create --title "[M5-04] One-Click Standalone NativeAOT Game Pak Exporter" \
|
|
--milestone "M5: Editor UX, Asset Pipeline & Agent CLI" \
|
|
--label "area:editor-cli,area:abi-bridge" \
|
|
--body "See \`docs/05-MILESTONE-5-EDITOR-AND-CLI.md\` (Issue M5-04) for full specification and acceptance criteria."
|
|
|
|
echo "==> Done! All labels, milestones, and 20 issues have been created." |