Skip to content

Commit 4bdca7d

Browse files
authored
Merge pull request #233 from gameknife/dev
Dev
2 parents 90a5ee5 + 6eb8a42 commit 4bdca7d

853 files changed

Lines changed: 73692 additions & 29224 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
assets/typescript/Engine.d.ts text eol=lf

.github/workflows/gnb-release.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ on:
77
- dev
88
paths:
99
- 'tools/gnb/**/*.go'
10+
- 'tools/gnb/**/*.html'
1011
- 'tools/gnb/go.mod'
1112
- 'tools/gnb/go.sum'
13+
- 'scripts/gnb-init.sh'
14+
- 'scripts/gnb-init.ps1'
15+
- 'scripts/publish-gnb.ps1'
1216
workflow_dispatch:
1317

1418
concurrency:

.github/workflows/linux_self.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,12 @@ jobs:
2020
- uses: actions/checkout@v4
2121
with:
2222
clean: false
23+
- uses: actions/setup-go@v5
24+
with:
25+
go-version-file: tools/gnb/go.mod
26+
- name: Build latest gnb
27+
run: |
28+
cd tools/gnb
29+
go build -trimpath -ldflags="-s -w -X main.version=$(git -C "$GITHUB_WORKSPACE" rev-parse HEAD)" -o "$GITHUB_WORKSPACE/gnb" ./cmd/gnb
2330
- run: ./gnb.sh setup
2431
- run: ./gnb.sh build

.github/workflows/macos_self.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,12 @@ jobs:
2020
- uses: actions/checkout@v4
2121
with:
2222
clean: false
23+
- uses: actions/setup-go@v5
24+
with:
25+
go-version-file: tools/gnb/go.mod
26+
- name: Build latest gnb
27+
run: |
28+
cd tools/gnb
29+
go build -trimpath -ldflags="-s -w -X main.version=$(git -C "$GITHUB_WORKSPACE" rev-parse HEAD)" -o "$GITHUB_WORKSPACE/gnb" ./cmd/gnb
2330
- run: ./gnb.sh setup
2431
- run: ./gnb.sh build

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,7 @@ cmake-build-*/
360360
/imgui.ini
361361
/editor.ini
362362
/traces/
363+
/ai_secrets.local.json
363364

364365
# spec local test glb
365366
assets/models/bistro_simple.glb
@@ -395,6 +396,7 @@ assets/textures/studio_small_09_1k.hdr
395396
assets/textures/sunset_fairway_1k.hdr
396397
assets/textures/umhlanga_sunrise_1k.hdr
397398
tools/optional-pak/output/
399+
tools/brotato3d-pak/output/
398400

399401
# third party libraries
400402
src/ThirdParty/*/bin/
@@ -421,3 +423,12 @@ android/app/libs/SDL3-*.aar
421423
# Phase 3 占位资产 — 受版权保护,不得入库
422424
assets/_placeholder/*
423425
!assets/_placeholder/README.md
426+
427+
# Brotato3D SFX/icons — 已从 _placeholder 升格为正式路径,但内容仍为 Brotato 解包参考资产,
428+
# 翻新(替换为自制 / CC0)之前不得入库。
429+
assets/sounds/brotato3d/sfx/
430+
assets/textures/brotato3d/icons/
431+
assets/paks/brotato3d.pak
432+
433+
# 本地草稿、宣传材料 — 不入库,仅本地保留
434+
marketing/

.spec/ARCHIVE.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Archive
2+
3+
## Pre-workflow(2026-05-14 之前)
4+
5+
从旧版根目录 `TODO.md` 迁移。无 ID、无 journal,仅保留原始描述。
6+
7+
- [x] 提交当前修改
8+
- [x] 确认 AmbientCube 的改造,目前 Voxel 的更新和 GPU 读取是正确的,但 AmbientCube 感觉没有工作。但 hwlightbake 在执行
9+
- [x] 提交目前的修改
10+
- [x] 清理上下文
11+
- [x] 恢复 wireframe 的工作,这里 wireframePipeline_,可考虑直接写在 imgui 绘制前,直接绘制在最终输出之上。不要像之前一样尝试写在 RT_DENOISED 上
12+
- [x] Options 下的 bool HotReload{true} 已经废弃,移除整个选项以及相关无用的逻辑
13+
- [x] wireframe 的修改有些问题,只有当 scale 为 native 的时候,绘制正常。当使用 quality 等缩放模式的时候,线框会位于画面的左上角。修复这个问题
14+
- [x] 提交目前的修改
15+
- [x] 把本地 feature/productive-ui-refactor 分支关于 ui 的重构以及前面的 Brotato3D Tweaks 的提交合并到本分支,并运行验证通过
16+
- [x] 彻底解决 LDraw 的那个单元测试错误,如果是因为 Optional 资源问题,实在不行,干掉它
17+
- [x] 目前 .\gnb.bat run xxxx 无法带上 target 本身支持的 cmdline,很不方便,请改造。比如 .\gnb.bat run gkNextRenderer --help,可以把 gkNextRenderer 本身的 help 打印出来。当然不一定是我说的这样,能够有办法带参数即可
18+
- [x] Brotato3D 目前应该在游戏过程中一直在重建 BVH 和刷新 voxel 数据。我希望是尽量减少刷新,除了一开始的场景,后续主角,敌人的移动,动态碎块,prop 都不应该影响 BVH 和 voxel。这样 cpu 线程压力会小很多。请作这个调整。

.spec/README.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# .spec — 交互式工作流规范
2+
3+
gkNextRenderer 项目的 spec 驱动开发工作流目录。AGENT 在当前 session 内根据这些文件调度任务,**不调用其他 agent,不 sleep**
4+
5+
## 文件结构
6+
7+
| 路径 | 用途 | 谁写 |
8+
| --- | --- | --- |
9+
| `TODO.md` | 活跃任务列表 | 用户(任务内容)+ AGENT(状态字符、journal 链接) |
10+
| `ARCHIVE.md` | 归档的完成任务 | `gnb todo archive` 或用户 |
11+
| `specs/<id>.md` | 复杂任务的详细规格,**仅 spec 类任务需要** | 用户 |
12+
| `journal/<id>.md` | 任务完成报告,一任务一文件 | AGENT |
13+
| `blockers/<id>.md` | AGENT 卡住时的提问,一任务一文件 | AGENT |
14+
15+
## TODO.md 格式
16+
17+
```markdown
18+
# TODO
19+
20+
## Milestone: <名字> <!-- status: active|done -->
21+
22+
### 下一步
23+
- [ ] `#00018` [P0][BUG] 修复贴图采样越界
24+
- [/] `#00019` [P1][FEAT] 体积雾 → specs/00019.md
25+
- [!] `#00020` [SPIKE] work graphs (blockers/00020.md)
26+
27+
### 待规划
28+
- [ ] `#00021` [IDEA] 试试 NRD 降噪
29+
30+
### 最近完成
31+
- [x] `#00017` [BUG] 修复贴图过滤 → journal/00017.md (2026-05-13)
32+
```
33+
34+
### 三个段落
35+
36+
- **下一步**:AGENT 只扫这一段,按从上到下顺序执行
37+
- **待规划**:想法池/积压。AGENT **完全不动**,从待规划挪到下一步由用户操作
38+
- **最近完成**:累积完成的任务,定期由 `gnb todo archive` 移到 ARCHIVE.md
39+
40+
### 状态字符
41+
42+
| 字符 | 含义 |
43+
| --- | --- |
44+
| `[ ]` | pending |
45+
| `[/]` | doing(执行中,正常不持久化此状态,crash 恢复用) |
46+
| `[x]` | done |
47+
| `[!]` | blocked(对应 `blockers/<id>.md` 有说明) |
48+
49+
### ID
50+
51+
五位全局递增数字 `#00001` ~ `#99999`。新 ID 取当前所有任务(含 ARCHIVE)中最大 ID + 1。
52+
53+
### 内联标签
54+
55+
- 优先级:`[P0]` `[P1]` `[P2]`
56+
- 类型:`[BUG]` `[FEAT]` `[IDEA]` `[SPIKE]` `[REFACTOR]` `[DOC]`
57+
58+
## journal/`<id>`.md 格式
59+
60+
```markdown
61+
---
62+
task: 00018
63+
completed: 2026-05-14T15:30:00
64+
build_ok: true
65+
---
66+
67+
## 做了什么
68+
69+
70+
## 改动文件
71+
- `src/Rendering/VolumeFog.cpp`
72+
73+
## 风险/遗留
74+
- ⚠️ 与 SSR 有交互问题,未处理
75+
```
76+
77+
## blockers/`<id>`.md 格式
78+
79+
```markdown
80+
---
81+
task: 00018
82+
blocked_at: 2026-05-14T15:30:00
83+
---
84+
85+
## 歧义点
86+
任务描述里说"修复采样越界",但越界发生在两处:
87+
1. `SampleEnvironment.hlsl:42` — 已知问题
88+
2. `VolumeFog.cpp:128` — 看上去也有类似模式
89+
90+
## 候选方案
91+
- A. 只修 1
92+
- B. 修 1 + 2
93+
94+
等用户答复后继续。
95+
```
96+
97+
## AGENT 行为边界
98+
99+
**可改**
100+
- TODO.md 中任务的状态字符(`[ ]``[x]` / `[!]`
101+
- TODO.md 中任务行末追加 journal 链接
102+
- `journal/``blockers/` 下的文件
103+
104+
**不可改**
105+
- TODO.md 中任务标题、ID、优先级、类型、所属段落
106+
- `specs/` 下的文件(用户写的需求)
107+
- `ARCHIVE.md`(归档由工具或用户操作)
108+
- "待规划"段任何任务

.spec/TODO.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# TODO
2+
3+
## Milestone: 工作流落地 <!-- status: active -->
4+
5+
### 下一步
6+
7+
### 待规划
8+
- [ ] `#00024` [FEAT] AIService Agent 化 Phase 8:MagicaLego AI 接入 agent loop → specs/00024.md
9+
- [ ] `#00025` [DOC] AIService Agent 化 Phase 9:端到端集成测试 + AGENT_GUIDE/AIAgentSystem.md → specs/00025.md
10+
- [ ] `#00007` [FEAT] 目前的vcpkg是固定在一个老版本的,把项目依赖升级到最新的vcpkg版本,2026.04.27。并绑定版本,解决各种编译和运行问题。
11+
- [ ] `#00011` [IDEA] gnb在gkmini上host一个持久的todolist,作为一个“服务器”同步,可以随时随地进行任务管理
12+
- [ ] `#00012` [FEAT] 让 gkNextRenderer 主管线原生运行在浏览器(WebGPU 后端) → specs/00012.md
13+
14+
### 最近完成
15+
- [x] `#00001` [IDEA] 介绍gnb技术栈 → journal/00001.md (2026-05-14)
16+
- [x] `#00002` [IDEA] 介绍typescript整合 → journal/00002.md (2026-05-14)
17+
- [x] `#00003` 介绍brotato3D → journal/00003.md (2026-05-18)
18+
- [x] `#00004` [IDEA] 介绍flappybird → journal/00004.md (2026-05-18)
19+
- [x] `#00005` [FEAT] 在windows下,设置 SDL 的 Windows DPI awareness 为 unaware, 使用系统拉伸的方式适配DPI缩放 → journal/00005.md (2026-05-18)
20+
- [x] `#00008` [IDEA] gnb的todolist要增加维护功能,可以调换add的任务顺序。
21+
- [x] `#00009` [IDEA] gnb需要能够给add的task增加spec文件,写明执行的详细背景信息
22+
- [x] `#00013` [REFACTOR] 重构 SwModernNoAmbient 渲染流程:Lambert+IBL + CSM 阴影 → journal/00013.md (2026-05-20)
23+
- [x] `#00014` [FEAT]`gnb loc` 接到 dashboard(分类表格 + 柱图),同步关闭 #00010 → journal/00014.md (2026-05-26)
24+
- [x] `#00016` [DOCS] AGENTS.md 维护:对照当前项目结构清理过时信息(含已删/重命名的模块、命令、特性),补全新增子项目与工具(dashboard chat、loc、CSM 等),控制总篇幅 → journal/00016.md (2026-05-26)
25+
- [x] `#00017` [REFACTOR] AIService Agent 化 Phase 1:LLM 协议升级(tools schema + provider Chat 接口) → journal/00017.md (2026-05-27)
26+
- [x] `#00018` [FEAT] AIService Agent 化 Phase 2:本地 llama provider(复用 gnb llama-server,PID 自动发现) → journal/00018.md (2026-05-27)
27+
- [x] `#00019` [FEAT] AIService Agent 化 Phase 3:Agent Loop + Tool Registry + 主线程 dispatcher → journal/00019.md (2026-05-27)
28+
- [x] `#00020` [FEAT] AIService Agent 化 Phase 4:通用知识工具(list_dir/find_symbol/read_file/git_log 等,C++ 移植 gnb) → journal/00020.md (2026-05-27)
29+
- [x] `#00021` [FEAT] AIService Agent 化 Phase 5:编辑器工具集(包装 EditorScriptExecutor + DEFERRED high-risk) → journal/00021.md (2026-05-27)
30+
- [x] `#00022` [FEAT] AIService Agent 化 Phase 6:AI Panel UI 升级(步骤可视化 + 停止 + 模式开关) → journal/00022.md (2026-05-27)
31+
- [x] `#00023` [REFACTOR] AIService Agent 化 Phase 7:FEditorAIService 主路径切换到 agent,砍掉大 system prompt → journal/00023.md (2026-05-27)
32+
- [x] `#00026` [IDEA] 让SCAD的LLM生成结果更加结构化,按module拆分文件 → specs/00026.md → journal/00026.md (2026-05-31)
33+
- [x] `#00027` [IDEA] 优化SCAD Studio的交互逻辑 → specs/00027.md (blockers/00027.md)

.spec/journal/00001.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
task: 00001
3+
completed: 2026-05-14T16:53:33.4733882+08:00
4+
build_ok: false
5+
---
6+
7+
## 做了什么
8+
9+
补了一份 `gnb` 技术栈说明文档,介绍它的启动层、CLI 层、配置层、执行模块层、外部依赖和维护边界。
10+
11+
同时在现有 `docs/gnb-cli.md``tools/gnb/README.md` 中加入跳转,避免 `gnb` 只有命令手册,没有实现视角的入口说明。
12+
13+
## 改动文件
14+
15+
- `docs/gnb-tech-stack.md`
16+
- `docs/gnb-cli.md`
17+
- `tools/gnb/README.md`
18+
- `.spec/TODO.md`
19+
20+
## 风险/遗留
21+
22+
- 未运行构建或自动化测试;本次仅修改 Markdown 文档和 spec 元数据。
23+
- `TODO.md` 中当前存在重复的 `#00001` 编号(“下一步”和“待规划”各一条),本次按 spec 边界未改任务标题或 ID。

.spec/journal/00002.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
task: 00002
3+
completed: 2026-05-14T17:02:32.2719456+08:00
4+
build_ok: false
5+
---
6+
7+
## 做了什么
8+
9+
新增 TypeScript 整合说明文档,介绍 `assets/typescript``assets/scripts` 的编译路径、bundled `tsc` 工具链、QuickJS 模块加载、生命周期封装、绑定与 `Engine.d.ts` 生成、热重载行为和验证方式。
10+
11+
同时在 README 的 QuickJS 能力介绍和 `AGENT_GUIDE/QuickJSBindings.md` 中加入入口链接,方便从项目概览或绑定 cookbook 跳到这份说明。
12+
13+
## 改动文件
14+
15+
- `docs/typescript-integration.md`
16+
- `README.md`
17+
- `AGENT_GUIDE/QuickJSBindings.md`
18+
- `.spec/TODO.md`
19+
20+
## 风险/遗留
21+
22+
- 未运行构建或自动化测试;本次仅修改 Markdown 文档和 spec 元数据。
23+
- 工作区中存在与本任务无关的既有变更,本次未处理。

0 commit comments

Comments
 (0)