Skip to content

星河微光 ​

本模块中的examples组件仅用于仓库本地开发功能验证,不随应用打包或导出。

呈现与活动 ​

examples/stardust为520×300 DIP原创星群,透明inputMode=none、默认置顶,无声音、网络或存档。网页无交互区,不能调用setInputRegions改变模式;可信编辑遮罩仍可选中和移动。

配置包括10–60fps目标、16–96颗星、三种配色及静止呈现,默认值直接在字段声明中,配置保存后生效。减少动画或静止只绘必要一帧,节能最多10fps/24星。隐藏、锁定/挂起和可信编辑停止绘制计时器;锁定与挂起独立解除,全部允许后恢复。恢复视觉步长最多250ms,不产生离线收益。

背板DPR最多2、面积1048576像素,每颗粒子只尝试两条链接。透明Canvas2D每帧clearRect,不填不透明底色。每次从实际绘制开始计算下一周期,扣除同步耗时;耗尽周期则等待完整周期,迟到不补帧。始终一个计时器,目标帧率不是实际呈现或GPU完成保证。

状态与诊断背压 ​

主文档最多一条状态在途、一份最新待替换状态,Worker applied确认后再发;两秒未确认降级。同步postMessage失败同样解除处理器、终止Worker并清槽,不无限重发或重启。

周期status独立最多一条未确认消息,以匹配statusId/statusAck释放;等待确认不停止绘制或复制摘要,下一个原绘制节拍满足一秒间隔时才报告最新有界数据。离开/降级不再确认,确认发送失败沿静态降级处理,不增加轮询。

诊断仅含自身模式、粒子/画布和有限计时。draw与intervals各用128项环形缓冲,报告samples/p50Ms/p95Ms/maxMs,间隔另含over50Ms/over50Ratio;分位数取排序后向上位次,空值为null。scope=worker-draw-starts、sampleCap=128,不发送原始样本。状态替换或上下文丢失清空,暂停/隐藏无样本,恢复不计暂停时长;同步Canvas时间不等于GPU、真实呈现帧或输入延迟。

故障与缓存 ​

Worker/OffscreenCanvas不可用、脚本错误或二维上下文丢失时终止Worker,保留透明无输入的CSS静态降级,配色仍可更新;只由用户可信重载恢复新运行。离开释放Worker、计时器、订阅与URL,不延续旧循环。

降级按配色读取实例缓存,未命中生成256×128透明PNG;只保留三种版本化配色键,不逐帧写缓存。图片解码目标等待两秒,成功/失败/取消均清等待并回收未用URL;坏缓存最多重建一次,仍失败保持CSS,不循环重试。每页一项生成/读取加一份最新配色,切换或隐藏/挂起/锁定/编辑使旧结果失效,恢复才启动;PNG编码可能只能丢弃结果,不能承诺硬取消或即时回收。

验证边界 ​

生产策略和真实WebView检查覆盖质量、隐藏/恢复、配置、故障降级和重载。GPU进程退出检查只操作核实PID/创建时间/映像的本次隔离子进程,不代表物理GPU故障。透明PNG按RGBA解释,黑底RGB不能单独证明桌面合成过曝;命中、绘制和物理穿透分别验证,见必要测试(宿主文档:../testing.md)。

当前宿主协议 · SDK 0.1.1 · MIT