suzmii
149c0b591a
冷启动首屏:热预取过可见性判据,相交卡按视口内 / 余量圈两档放行
- A 热预取不再按投影顺序盲取前 N:eager effect 现在只预取已登记且几何上可见(档 0 / 档 1)的卡,按两档顺序入队,eagerPreviewLimit 仍是硬上限;
- A 保留首屏兜底:一张可见卡都判不出来时(卡片尚未注册 / 容器还没布局出尺寸)退回原顺序预取,绝不把首屏热预取削成 0;
- B 新增 viewportBandOfElement:0 = 视口内、1 = 只落在 rootMargin(160px) 圈里、2 = 放行范围外(含量不出尺寸);门禁与放行顺序共用同一套几何口径;
- B 新增 requestPreviewCardsByViewportBand:先档 0 再档 1,只改入队顺序、不改总量(档 1 在同一次调用里一样放行),3 槽 / 48 项 / 64 MiB 合同不动;
- B 兜底扫描改用两档放行(门禁语义不变:只有档 0 / 档 1 才放行),不会退化成"只补第一档";
- B observer 回调一次报来十几二十张相交卡时,只把"视口内"的插到前面,其余一张不丢,既有"相交即放行"语义不变;
- 新增用例:视口外卡片不得进入热预取(改前首屏 distinct 读 20 张、含 8 张视口外;改后 12 张全部可见);相交一次性放行时先视口内后余量圈且总量不变(6 张全放行);
- 变异验证:整份还原成改前版本 → 两条用例分别红(20 vs 12、放行顺序反了);只把 observer 回调改回单趟 → 只有两档那条红。
2026-09-11 19:58:09 +08:00
..
2026-09-11 19:18:12 +08:00
2026-09-07 17:05:42 +08:00
2026-08-28 17:09:02 +08:00
2026-09-10 19:55:58 +08:00
2026-08-24 21:44:44 +08:00
2026-09-10 18:05:15 +08:00
2026-09-03 10:36:43 +08:00
2026-08-26 02:32:04 +08:00
2026-08-20 19:07:25 +08:00
2026-09-11 19:44:04 +08:00
2026-08-20 19:07:25 +08:00
2026-09-11 10:36:45 +08:00
2026-09-08 22:03:37 +08:00
2026-09-10 14:38:59 +08:00
2026-09-02 18:15:38 +08:00
2026-08-11 14:34:42 +08:00
2026-08-20 19:07:25 +08:00
2026-09-11 14:53:11 +08:00
2026-08-08 16:18:45 +08:00
2026-08-31 19:47:23 +08:00
2026-09-07 15:17:21 +08:00
2026-09-03 10:02:05 +08:00
2026-09-07 15:17:21 +08:00
2026-08-20 19:07:25 +08:00
2026-09-03 20:02:48 +08:00
2026-07-20 05:50:24 +08:00
2026-09-03 10:35:23 +08:00
2026-08-20 19:07:25 +08:00
2026-09-09 16:32:43 +08:00
2026-09-08 11:56:36 +08:00
2026-08-13 13:36:21 +08:00
2026-09-11 17:02:17 +08:00
2026-09-11 19:23:25 +08:00
2026-09-10 20:41:19 +08:00
2026-08-20 19:07:25 +08:00
2026-07-21 19:40:38 +08:00
2026-09-09 21:39:20 +08:00
2026-09-11 15:37:17 +08:00
2026-09-11 11:21:03 +08:00
2026-09-09 16:09:39 +08:00
2026-09-11 13:54:12 +08:00
2026-09-10 20:41:19 +08:00
2026-09-11 19:55:22 +08:00
2026-09-11 16:42:40 +08:00
2026-09-11 16:58:49 +08:00
2026-09-10 15:43:03 +08:00
2026-09-11 16:42:40 +08:00
2026-07-31 12:00:48 +08:00
2026-09-11 10:16:01 +08:00
2026-09-10 19:57:34 +08:00
2026-09-10 20:41:19 +08:00
2026-09-10 21:00:54 +08:00
2026-09-11 16:42:58 +08:00
2026-09-11 13:30:14 +08:00
2026-09-11 18:45:38 +08:00
2026-08-12 10:54:16 +08:00
2026-09-10 20:41:19 +08:00
2026-09-11 16:58:49 +08:00
2026-08-12 10:54:16 +08:00
2026-09-11 19:55:22 +08:00
2026-09-11 13:26:17 +08:00
2026-09-10 19:05:57 +08:00
2026-09-11 13:54:12 +08:00
2026-08-12 13:14:55 +08:00
2026-09-11 16:42:58 +08:00
2026-09-11 12:36:08 +08:00
2026-08-20 19:07:25 +08:00
2026-09-09 20:08:04 +08:00
2026-09-05 19:10:49 +08:00
2026-07-30 18:01:19 +08:00
2026-07-30 18:01:19 +08:00
2026-08-20 19:07:25 +08:00
2026-09-03 19:36:18 +08:00
2026-08-25 13:06:46 +08:00
2026-08-20 19:07:25 +08:00
2026-08-20 19:07:25 +08:00
2026-08-20 19:07:25 +08:00
2026-09-08 11:56:36 +08:00
2026-09-08 11:56:36 +08:00
2026-09-04 16:30:43 +08:00
2026-09-03 14:42:38 +08:00
2026-08-20 19:07:25 +08:00
2026-09-08 11:56:36 +08:00
2026-09-04 16:30:43 +08:00
2026-09-11 19:18:12 +08:00
2026-09-11 19:58:09 +08:00
2026-08-08 10:25:02 +08:00
2026-08-26 21:34:04 +08:00
2026-08-23 19:06:05 +08:00
2026-09-08 11:56:36 +08:00
2026-09-11 19:23:25 +08:00
2026-09-08 11:56:36 +08:00