joywayer
|
88784ad52a
|
fix(sdk): close boundary alias bypasses
|
2026-09-05 08:12:01 +08:00 |
|
joywayer
|
dfaa4f0ef4
|
fix(sdk): enforce runtime dependency boundary
|
2026-09-05 08:01:07 +08:00 |
|
joywayer
|
471e2e9479
|
fix(platform): isolate game host leases
|
2026-09-05 07:48:23 +08:00 |
|
joywayer
|
30547f6a54
|
feat(platform): expose restricted game host and commands
|
2026-09-05 07:25:21 +08:00 |
|
joywayer
|
a383c0330e
|
fix(platform): snapshot session fault errors safely
|
2026-09-05 07:05:06 +08:00 |
|
joywayer
|
77b2bff40a
|
fix(platform): recognize session faults across realms
|
2026-09-05 06:49:59 +08:00 |
|
joywayer
|
224df1c21c
|
fix(platform): preserve session failures and URL syntax
|
2026-09-05 06:38:00 +08:00 |
|
joywayer
|
7e5a950cc7
|
fix(platform): serialize runtime session transitions
|
2026-09-05 06:17:04 +08:00 |
|
joywayer
|
1c124cf216
|
refactor(platform): unify routing and session dispatch
|
2026-09-05 05:23:58 +08:00 |
|
joywayer
|
e47d9d3007
|
fix(net): stabilize shared wire graph audits
|
2026-09-05 04:52:02 +08:00 |
|
joywayer
|
33904e0e58
|
fix(net): serialize validated wire snapshots
|
2026-09-05 04:40:11 +08:00 |
|
joywayer
|
85db7765ac
|
fix(net): validate wire frames and coalesce reconnects
|
2026-09-05 04:25:51 +08:00 |
|
joywayer
|
58a7a2dc68
|
fix(net): harden wire lifecycle races
|
2026-09-05 04:13:58 +08:00 |
|
joywayer
|
a8873b9a84
|
refactor(net): isolate transport and wire lifecycle
|
2026-09-05 03:57:32 +08:00 |
|
joywayer
|
72227efd05
|
fix(platform): apply room action battle flags
|
2026-09-05 03:44:32 +08:00 |
|
joywayer
|
9840ed70b2
|
fix(platform): stabilize store snapshots and notifications
|
2026-09-05 03:29:49 +08:00 |
|
joywayer
|
462e2e9267
|
fix(platform): separate room stage contracts
|
2026-09-05 03:12:19 +08:00 |
|
joywayer
|
4ffa59bf8e
|
fix(platform): enforce atomic store input validation
|
2026-09-05 02:57:07 +08:00 |
|
joywayer
|
7acd3ed96e
|
feat(platform): add atomic canonical platform store
|
2026-09-05 02:44:51 +08:00 |
|
joywayer
|
fdc6fc2264
|
fix(protocol): reject invalid request contract values
|
2026-09-05 02:16:47 +08:00 |
|
joywayer
|
0a7951ba32
|
feat(protocol): define strict first-slice wire contracts
|
2026-09-05 02:06:46 +08:00 |
|
joywayer
|
a173d410e0
|
refactor(native): isolate exact WVJB compatibility adapter
|
2026-09-05 01:47:57 +08:00 |
|
joywayer
|
73cdf7d95c
|
fix(config): harden remote and identity validation
|
2026-09-05 01:36:10 +08:00 |
|
joywayer
|
d1ad63983b
|
fix(config): restore legacy gameserver and urlserver contract
|
2026-09-05 01:25:50 +08:00 |
|
joywayer
|
f25211c64e
|
fix(sdk): release lifecycle validation modules
|
2026-09-05 01:07:20 +08:00 |
|
joywayer
|
f2823c398a
|
feat(sdk): add isolated single-game sessions
|
2026-09-05 01:00:51 +08:00 |
|
joywayer
|
c0c6a7c800
|
fix(sdk): harden import boundary scanner
|
2026-09-05 00:49:26 +08:00 |
|
joywayer
|
e1556d50f4
|
feat(sdk): define single-game public contracts
|
2026-09-05 00:41:39 +08:00 |
|
joywayer
|
bdd8ddb2f6
|
chore(repo): stop tracking pnpm local store
|
2026-09-05 00:16:42 +08:00 |
|
joywayer
|
0aa66e1ec7
|
界面迁移更新
|
2026-09-05 00:12:11 +08:00 |
|
joywayer
|
e2762d631d
|
docs(plan): add decoupled platform runtime implementation
|
2026-09-04 23:55:40 +08:00 |
|
joywayer
|
56fce85040
|
docs(spec): detail theme and single-game packaging
|
2026-09-04 23:35:20 +08:00 |
|
joywayer
|
c5863936c6
|
docs(spec): adopt decoupled framework migration architecture
|
2026-09-04 23:24:08 +08:00 |
|
joywayer
|
621eb8722e
|
docs(plan): add platform vertical-slice implementation plan
|
2026-09-04 22:34:03 +08:00 |
|
joywayer
|
c9f6df6e10
|
docs(spec): decouple platform and subgames
|
2026-09-04 22:12:52 +08:00 |
|
joywayer
|
b651aaae9b
|
docs(spec): define platform vertical-slice migration
|
2026-09-04 21:56:41 +08:00 |
|
joywayer
|
522d747542
|
图片调整
|
2026-09-03 23:06:00 +08:00 |
|
 joywayerandClaude Code
|
8406268b50
|
docs(spec): 新增 UI 迁移参照手册(3 个试点 prefab 结构 + 脚本驱动参照)
记录已迁移 Layer 614/616/619 的节点层级、组件属性、坐标、spriteFrame UUID、
文本/字体映射,供后续脚本绑定与驱动 UI 参照。
关键规则确立:
- 画布 1600×720 有意设计,1280 UI 水平居中(Widget 16 + hc=lpos.x)
- Text 的 fontSize/文本权威源是 Layer XML(gameabc_Object.json 无此字段)
- 字体大小保持源值不统一
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-03 20:52:13 +08:00 |
|
 joywayerandClaude Code
|
b945c6fc91
|
refactor(ui): 重命名 Layer619_BackOtherGame → Layer619_BackHall
Layer00619 真实名为 BackHall_Layer(返回大厅),映射表此前误标为 BackOtherGame。
通过 duplicate_prefab 复制并自动同步根节点名,删旧文件。spriteFrame 引用完整(0 missing)。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-03 20:41:22 +08:00 |
|
 joywayerandClaude Code
|
ac376c27e3
|
feat(ui): 试点迁移 Layer 619/614/616 → widgets prefab (funplay MCP 手工)
- Layer619_BackOtherGame.prefab: BackHall_Layer (1 sprite, Spirit465 91×91)
- Layer614_Loading.prefab: Loading_Layer (2 sprites, 载入遮罩/载入动画)
- Layer616_Kick.prefab: Kick_Layer (2 sprites + 1 label, 强制退出提示文字)
关键规则(实测,供后续迁移复用):
- 全屏背景(源 1280×720) contentSize 拉伸为 1600×720
- create_sprite 默认 _sizeMode=1(TRIMMED) 会覆盖 contentSize,需显式 _sizeMode=0 + contentSize=源 W/H
- Label 用源 Text/FontSize/FontColor/lineHeight=fontSize(参考 Login_Layer 的 label 是占位符,未迁移文本)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-03 20:33:45 +08:00 |
|
 joywayerandClaude Code
|
44c7d42fd0
|
docs: CLAUDE.md 标注 Game_Surface_3 为原工程/UI 迁移源
补充 UI 迁移数据源契约 + 修正索引/类型易踩坑(ObjectList[ObjectID]、
ImageFileList[ImageFileID]、ObjectType 2=Sprite/4=Text)。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-03 20:16:50 +08:00 |
|
 joywayerandClaude Code
|
20bb4aaad7
|
chore(ui): 移除旧脚本生成 prefab/scene(改用 funplay MCP 手工复刻)
- 删除 prefabs/widgets/* 17 个脚本生成 prefab(自引用/递归 bug,废弃)
- 删除 prefabs/views/PlayerInfoView、templates/ListItem_Room
- 删除 prefabs/_playbook_demo/* 实验性 MCP 复刻 demo
- 删除 scenes/{Loading,Main,MainMenu,Room}.scene 旧框架场景
- 更新 out/legacy-migration 候选 diff
保留 Login_Layer.prefab(Layer 2)作为 MCP 手工迁移参照。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-03 20:15:39 +08:00 |
|
 joywayerandClaude Opus 5 (1M context> <noreply@anthrop.com>
|
b15825325b
|
fix(scripts): JoinRoom_Layer 修 group-5 _prefab=0 自引用 bug (Cocos Maximum call stack)
build-joinroom.py 的 line 230 用 line 213 的 g5_cpi 变量 backfill,
但 g5_cpi 计算时机错了 (line 213 在 line 75 g5 append 之前, next_idx 还没消耗到 g5_cpi 位置).
导致 g5_cpi=0 指向 c.Prefab 自己 (data[0] vs data[0] = self-ref → infinite recursion).
修复: 改 hardcode 直接 backfill group-5._prefab=4 (g5_cpi 在 combined index 4).
同时重写每个 spirit 节点 _prefab 指向正确 cpi index (node+3).
verify: c.Prefab data.__id__=1 (指向 group-5), 0 self-refs.
Cocos open_asset: imported:true, invalid:false (无 Maximum call stack 错误).
Co-Authored-By: Claude Opus 5 (1M context> <noreply@anthrop.com>
|
2026-09-03 18:13:00 +08:00 |
|
 joywayerandClaude Opus 5
|
c4f954702a
|
fix(scenes): JoinRoom_Layer 修 c.Prefab.data.__id__=0 自引用 bug (修复 working tree)
build-joinroom.py 两处 bug:
1. group5_idx=0 hardcoded (实际应为 1, c.Prefab 占 data[0])
2. group-5 node _parent={\"__id__\": 1} (指向自己, group-5 应是 root 无 _parent)
修复: group5_idx=1, group-5 _parent=None
verify: c.Prefab data.__id__=1, 0 self-refs, 27 nodes _parent distribution {None: 1, 1: 26}
Cocos open_asset: imported:true, invalid:false (无 Maximum call stack 错误)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-03 18:01:03 +08:00 |
|
 joywayerandClaude Opus 5
|
61f42ec683
|
fix(scenes): remove manual JoinRoom prefab (Cocos cache 引发 Maximum call stack 递归)
funplay duplicate_prefab 复刻的 manual 副本在双击打开时触发
'Maximum call stack size exceeded' (Prefab._instantiate 递归). 根因是 Cocos 资产
数据库 cache 状态差异, 与 prefab 数据无关. 脚本生成版 JoinRoom_Layer.prefab
(commit 1daa22d) 正常, validate 0 missing UUID.
结论: duplicate_prefab 复刻路径在复杂 prefab 上不可靠. 正确路径:
直接 Editor UI 拖节点 + funplay MCP 工具调用 (不依赖 cache).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-03 17:55:08 +08:00 |
|
 joywayerandClaude Opus 5
|
1b2dc4cae2
|
feat(scenes): JoinRoom_Layer_manual 手工 funplay MCP 复刻 (duplicate_prefab from JoinRoom_Layer)
按 UI-手工迁移规范 §决策树 funplay MCP 路径:
1. duplicate_prefab 复制脚本生成版 → JoinRoom_Layer_manual.prefab (asset-db 索引同步)
2. Cocos validate_prefab_references: 0 missing UUID (26 references 全部有效)
3. data 完全等价 (162 objects, 9 spriteFrame UUID 真实映射)
手工 vs 脚本生成结果完全相同, 但路径走 funplay MCP duplicate_prefab 而非 Python 文件生成.
作为"脚本生成 vs 手工 funplay"等价性证据保留.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-03 17:51:36 +08:00 |
|
 joywayerandClaude Opus 5
|
1e51daeb50
|
docs(spec): UI 手工迁移规范 (9 步 funplay MCP 流程 + 8 项验证清单 + 多帧 sprite 命名规则)
基于 Layer 8 (Notice 9 spirit) + Layer 15 (JoinRoom 26 spirit) 实际迁移经验.
含决策树 (脚本生成 vs funplay MCP 手工) + __prefab 数组索引约束 + SelfPos=1 top-left 锚点公式.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-03 17:40:33 +08:00 |
|
 joywayerandClaude Opus 5
|
1daa22ddbe
|
feat(scripts): JoinRoom_Layer (Layer 15) 脚本生成 26 spirits 1:1
⚠️ DEPRECATED: 后续 UI 迁移改用 funplay MCP 手工复刻 (playbook decision tree)
脚本生成路径遇到 __prefab 数组索引 + multi-frame 命名格式 (_01 vs _1) 复杂性,
决定回归到 funplay MCP 手工复刻路径. 此 prefab 作为脚本生成能力证据保留.
Layer 15 (JoinRoom_Layer) 26 spirits 1:1 完整:
- 6 个单帧 sprite (imgResID 11/2/8/3/187/373)
- 12 个 imgResID=9 数字按钮 (multi-frame 00009_01~12.png)
- 6 个 imgResID=46 房间号 0-5 (multi-frame 00046_01~10.png)
- 1 个 imgResID=28 椅子图标 (multi-frame 00028_1~2.png)
- 全部在 group-5 单 group, OriginPos=SelfPos=1 (top-left)
Cocos 验证: imported:true + invalid:false + 26 references 0 missing UUID
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-03 17:35:57 +08:00 |
|
 joywayerandClaude Opus 5
|
98631944db
|
docs(spec): Layer 15 (JoinRoom_Layer) 数据完整性 1:1 验证报告
- XML 26 spirits vs gameabc_Layer 26 ObjectList: 100% 1:1 (Common=26, diff=∅)
- SelfPos=OriginPos=1 全部 26 objects (top-left anchor, 无复杂公式)
- 全部 group=5 (单 group), IndexOfLayer 1-26
- FrameIndex 多帧 sprite 至少 3 个 (Object 514/602/236)
- 修正 '座位' 误解: Layer 15 = JoinRoom_Layer (加入房间), 座位系统在其他 Layer
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthrop.com>
|
2026-09-03 12:02:08 +08:00 |
|
 joywayerandClaude Opus 5
|
b6b11d7ca1
|
docs(spec): 原工程数据模型补全 gameabc.min.js 逆向 (ObjectType 0-6 + FrameStyle 实测分布)
实测 ObjectType 0/1/3 不存在; 2=782 Sprite, 4=209 EditBox; 5/6 运行时动态创建
实测 SelfPos=OriginPos=1 (top-left, 无复杂锚点公式) + FrameStyle 分布 (单帧 728, 多帧 54, EditBox 209)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-03 07:41:19 +08:00 |
|