Commit Graph
100 Commits
Author SHA1 Message Date
joywayer 35216f75e7 feat: integrate room framework and isolated subgame bundles
Complete room UI and protocol integration, move game definitions and resources behind bundle entries, publish authoritative version XML, and document single-game builds. Include all current resource changes and experiment artifacts.
2026-09-09 03:13:18 +08:00
joywayer a7ec8aa6a7 feat: integrate erqiwang rooms and use spec-compliant Web compilation 2026-09-07 22:36:24 +08:00
joywayer 30a1b4114c feat: integrate platform room entry, UI migration and erqiwang documentation 2026-09-07 21:01:08 +08:00
joywayer 9c4510697c feat: wire lobby task and VIP prefab flows and sync UI assets 2026-09-06 18:46:37 +08:00
joywayer 842c68ef55 feat: integrate login flow, lobby UI and bitmap font resources 2026-09-06 13:46:57 +08:00
joywayer e1bcfd91ec prefab修改 2026-09-06 09:09:28 +08:00
joywayer 00c2681107 merge: integrate platform login migration 2026-09-06 09:06:19 +08:00
joywayer 695d3be25c feat: migrate platform login scenes and native login flows 2026-09-06 09:06:00 +08:00
joywayer f2a948f059 fix(ui): keep diagnostic stop clear of Logo skip 2026-09-06 00:45:44 +08:00
joywayer 84fa739ddd feat(ui): restore Logo countdown and gated skip 2026-09-06 00:32:37 +08:00
joywayer 09e80e5052 feat(ui): wire Logo native loading progress 2026-09-06 00:00:19 +08:00
joywayer 41fcd65464 docs: finalize unified startup configuration acceptance 2026-09-05 23:31:39 +08:00
joywayer af059b40e9 docs: document unified startup settings and browser acceptance 2026-09-05 23:23:04 +08:00
joywayer facceeae9b feat(config): unify startup mode and server selection 2026-09-05 22:52:14 +08:00
joywayer 239af0aa39 docs: specify unified startup configuration 2026-09-05 22:40:24 +08:00
joywayer 5d90891b38 docs: finalize remote configuration acceptance 2026-09-05 21:32:16 +08:00
joywayer d79bed0253 docs: record remote configuration source and browser evidence 2026-09-05 21:28:52 +08:00
joywayer 58c974e114 fix(config): reject WebSocket URL fragments at parse boundary 2026-09-05 21:27:29 +08:00
joywayer 053302c5df fix(config): resolve remote hierarchy in memory for every profile 2026-09-05 21:21:24 +08:00
joywayer 62328b6fd6 docs: specify remote configuration memory flow 2026-09-05 21:08:31 +08:00
joywayer 556c47a1b6 docs: record verified local platform login acceptance 2026-09-05 19:22:37 +08:00
joywayer 4414e1bcab fix: enforce elapsed loading display minimum after timer wakes 2026-09-05 19:12:50 +08:00
joywayer 73d7826fbe fix: render local login prefab layers in scene camera 2026-09-05 19:03:35 +08:00
joywayer 266be19e76 fix(sdk): inject assertions into Creator-loaded contract harness 2026-09-05 18:58:44 +08:00
joywayer 690fdef78a feat: add local platform login Cocos scene and view 2026-09-05 18:53:44 +08:00
joywayer fff4848654 fix: preserve local host scheduler and fatal errors 2026-09-05 18:36:52 +08:00
joywayer 745b0a1aeb fix: report combined local transport failures once 2026-09-05 18:32:09 +08:00
joywayer e1b290ea22 feat: compose local platform login host 2026-09-05 18:31:16 +08:00
joywayer 1a3308ecd0 feat: bound local platform login diagnostics and wire scope 2026-09-05 18:19:11 +08:00
joywayer 9ad477f474 fix: preserve reconnect after local socket errors 2026-09-05 18:09:56 +08:00
joywayer a3cd74d316 feat: add strict local login websocket transport 2026-09-05 18:05:17 +08:00
joywayer 6976b55038 docs: keep Creator login work on main checkout branch 2026-09-05 17:58:13 +08:00
joywayer 2fa375fc90 docs: plan approved local Creator login validation 2026-09-05 17:53:04 +08:00
joywayer 5a39326fd4 docs: design local Creator startup and login validation 2026-09-05 15:16:49 +08:00
joywayer 66246c8f5b docs: record startup source validation and review 2026-09-05 15:02:17 +08:00
joywayer baafc4a4f4 test: verify local login sources with protocol builder 2026-09-05 14:57:59 +08:00
joywayer e00d051112 feat(local): compose login account and device sources 2026-09-05 14:51:24 +08:00
joywayer 562f58dd2d chore: keep task review reports outside tracked files 2026-09-05 14:46:49 +08:00
joywayer eb5fb44d97 feat(config): add scoped local visitor accounts 2026-09-05 14:43:11 +08:00
joywayer c6f1103b32 fix(config): name malformed local identity errors 2026-09-05 14:36:00 +08:00
joywayer 34be99d84a feat(config): add local startup boundary 2026-09-05 14:30:55 +08:00
joywayer 76de9432ef docs: plan startup configuration source implementation 2026-09-05 14:23:25 +08:00
joywayer 081d9e9b06 docs: define startup configuration and visitor account sources 2026-09-05 14:08:10 +08:00
joywayer 286a8b9c16 docs: record completed UI wiring review 2026-09-05 13:16:08 +08:00
joywayer ec67fe6e6d test(presentation): verify runtime UI wiring and boundaries 2026-09-05 13:12:35 +08:00
joywayer d29a659541 feat(presentation): wire platform scenes and UI commands 2026-09-05 12:47:15 +08:00
joywayer 8b7efa7de0 feat(presentation): add cancellable frame renderer 2026-09-05 12:24:48 +08:00
joywayer 1e168ae81e feat(presentation): project immutable public page models 2026-09-05 12:03:46 +08:00
joywayer bd45503d47 feat(platform): expose lifecycle-safe UI observation 2026-09-05 11:50:12 +08:00
joywayer 2d7655a5d7 docs: design and plan platform UI wiring core 2026-09-05 11:17:39 +08:00
joywayer 8eae3258ca fix(platform): preserve recoverable outcomes and terminal sessions 2026-09-05 10:50:55 +08:00
joywayer 1e3a21b476 refactor(platform): complete decoupled vertical runtime 2026-09-05 10:21:28 +08:00
joywayer d177c52c3f fix(platform): close startup subscription handoff gaps 2026-09-05 10:02:45 +08:00
joywayer 3963b3b791 fix(platform): harden runtime lifecycle cleanup 2026-09-05 09:40:00 +08:00
joywayer 3a9c5d6fdb feat(platform): add single-entry platform runtime 2026-09-05 09:13:00 +08:00
joywayer 4cc83ea713 fix(sdk): scan CommonJS imports 2026-09-05 08:38:04 +08:00
joywayer 2570dd7b97 fix(sdk): scan template literal imports 2026-09-05 08:24:11 +08:00
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