Files
youle_cocos/docs/superpowers/reports/2026-09-06-logo-countdown-acceptance.md
T

43 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Logo 倒计时与跳过验收
状态:网页补验已完成,含实际鼠标点击与清理。日期:2026-09-06。基线09e80e5,主checkout分支codex/local-platform-login。用户批准恢复Spirit3103/Spirit3104的原工程行为。
## 原工程依据与实现边界
- 04_Data.js:181:hallConfig.launchWaitTime初始值10。12_Logic.js:1790起:先合并hall_config,再以get_paravalue逐项覆盖。来源默认仅在配置层定义,消费UI不兜底。
- 12_Logic.js:1469起:配置成功后设置Logo计时、显示倒计时并初始化连接。gameabc.min.js:3370设置ontime,1876起按当前毫秒时间差触发;1319以Date.getTime取时间。10是毫秒,不擅自扩大为10秒。
- 11_GameUI.js:8821:显示3103/3104,文字为倒计时ceil(remaining/1000)s,资源100%时追加两个空格和跳过;每1000ms递减,到期隐藏两者并清理定时器。7937的adaptPositionSpid只做文字水平居中,可用Cocos布局表达。
- 11_GameUI.js:2182:点击3103必须同时满足firstConnect_Succ、getJSONState及LoadCount==100,才清理计时并进入登录。自动切换同样不能忽略配置/资源/连接状态。
- save/Layer00001.xml:210:原文字字号14、白色;保留当前节点字号/外观。
现代实现使用一次性的启动就绪门表达这些条件,替换旧引擎重复绘制计时轮询,不复刻配置回调顺序造成的偶然提前跳转或轮询延迟。保留Logo原生资源进度条;只接倒计时与跳过,不扩展广告图替换、房间、子游戏或其他RPC。
## 验证记录
- 生产代码完成,独立规格/质量审查通过。TDD新增配置、协调器、宿主回调、原生绑定、异常路径均有RED→GREEN记录;最终聚焦50/50。全量显式枚举TS636/636,指定架构49/49;framework tsc、现代Creator项目严格类型检查、导入边界和diff-check通过。未运行聚合测试/资源生成器。
- 配置解析保持默认10毫秒→hall_config自有字段→scoped单项覆盖。UI从明确的config回调获取来源;不从diagnostics取业务数据。倒计时使用精确截止时间,firstDraw保持独立门。结束/失败/停止均清理计时与点击,当前连接状态由Runtime订阅给出;早点击不排队。
- 五个既有TS经MCP刷新,编辑器主checkout/currentLocalPlatformLogin,无资源写入。创建独立sandbox Chromium窗口12(fp_ad50e68505262f18),未点击登录。
- 实际无参数网页fp_ce914709f5aedc1e:ready=true、stopped=false、pending=0、资源progress=1。3104父节点为Spirit3103,文字倒计时1s但控件已隐藏。firstDraw1078.7ms、展示门结束1239.5ms、资源就绪1248ms、登录页1249.4ms;配置默认短等待未绕过资源门。无component-failure。
- 长倒计时视觉夹具尝试仅在独立窗口内装饰HttpConfigFetcher返回数据并重载同一场景,未写生产配置,未记录成功结果。该MCP调用没有返回,后续只读编辑器查询也挂起;已停止工具等待。HTTP8765/health仍返回ok,不能据此认定编辑器调用可用。已请求用户关闭独立验证窗口/恢复Funplay扩展。
- 首次验收时待恢复MCP后完成(已由下方补验完成):长倒计时文字逐秒变化、实际点击跳过与到期隐藏的网页验收;恢复临时fetcher装饰(若安装成功)并停止/关闭独立窗口。当时未完成,未以50项模拟测试冒充网页验收。
## 用户资源改动保护
实施期间只读检查发现Logo.prefab新增未提交差异:Spirit3104已移为Spirit3103子节点,局部位置为0。该差异不是本批工具产生,单独记录SHA256并保留,不随代码提交。代码应唯一定位目标Label并按实际父节点布局,避免绑定旧的同级路径;支持这一现有用户布局不需要修改序列化资源。
整体独立代码审查通过,无可操作问题;首次审查时附带网页长倒计时待验收的限定,现已完成下列补验。原有50个未跟踪文件与外部Logo.prefab快照SHA256均不变,两项历史meta删除保留。
## MCP恢复后的最终补验
- MCP恢复,旧窗口12已关闭;新独立窗口13,主checkout和Creator3.8.8不变。避免再次重载场景,使用当前实际编译LocalPlatformLogin类创建临时运行时实例,复用场景引用。只在该浏览器内装饰fetcher返回内存配置,验证有效launchWaitTime等于夹具指定值;不改发布配置、资源、远程服务或持久化数据。
- 实际默认配置仍为10ms,正常页面ready=true、无错误(fp_e983ffe0d6c28f91);修复后再次正常启动通过(fp_cf9a986deb3363ee)。
- 15秒夹具:文字从倒计时15s 跳过变为倒计时14s 跳过;资源progress=1但ready=false,Label在父背景中心(fp_aab5629e8b3f7d8a)。
- 实际鼠标验收发现诊断StopButton与3103重叠,点击被停止按钮接收(fp_4e244b818e107608)。修复只在运行时将StopButton放到Logo背景底边下12单位,保持原x/z;应用Widget布局后关闭其运行时覆盖。两处TS与一个测试变更,无序列化资源修改。独立修复复审通过。
- 修复后实鼠点击屏幕(1467,98):30秒倒计时提前约0.55秒完成展示门并进入login,ready=true、stopped=false、控件隐藏、pending=0(fp_0f0778181f3dc1cb)。截图已检查:两个按钮不再重叠,倒计时文字居中。临时截图temp/mcp-captures/logo-countdown-ready.png未提交。
- 2.2秒自然到期夹具:ready=false/控件可见变为ready=true/控件隐藏(fp_991219d94f45c3c1)。
- 暂缓真实资源加载任务完成的夹具:点击后ready=false、stopped=false,显示倒计时10s;释放资源任务后显示倒计时10s 跳过,仍未提前进入login,证明早点击不排队(fp_7a2ec06865f205b3)。
- 提前停止后文字不变、控件隐藏、ready=false、pending=0(fp_544552041e1a4dce)。诊断StopButton实际鼠标点击仍有效。最终恢复fetcher和临时资源方法,stopped=true、ready=false、pending=0,然后关闭窗口13;编辑器dirty=false(fp_be8fcfffbf985067)。
- 修复TDD先16通过/1失败,后17/17通过;最终完整显式枚举TS637/637。框架及现代Creator严格类型检查通过;此前指定架构49/49通过,本次未改变架构边界。没有重复生成资源或测试其他RPC。
本批启动倒计时、资源完成显示跳过、就绪后跳过、到期隐藏、停止清理网页验收完成。原生广告图片替换、其他平台RPC不在本批范围。