feat(web): incremental render-window batch rendering engine

Add render_window.js: Python-driven incremental pagination with id+chainIndex state, anchor restore, batch guard and streaming auto-detect; wired through chat_bridge and the page shell.
This commit is contained in:
2026-09-17 16:40:04 +08:00
parent 156f94e840
commit ef00f64435
6 changed files with 932 additions and 8 deletions
+6 -3
View File
@@ -44,7 +44,7 @@
</div>
</div>
<!-- 聊天容器 -->
<!-- 聊天容器(🆕 P1-01:顶部/底部加载入口由 app.js 按需插入 chat-container 首/尾) -->
<div id="chat-container"></div>
<div id="scroll-anchor" style="height: 1px; margin-bottom: 150px;"></div>
@@ -63,7 +63,8 @@
onBranchSwitch: (x, d) => post("onBranchSwitch", [x, d]),
onDeleteMessageClicked: (x) => post("onDeleteMessageClicked", [x]),
onAttachmentClicked: (x) => post("onAttachmentClicked", [x]),
onScrollChanged: (y, h, c) => post("onScrollChanged", [y, h, c])
onScrollChanged: (y, h, c) => post("onScrollChanged", [y, h, c]),
onRequestWindowPage: (s, d, b, g) => post("onRequestWindowPage", [s, d, b, g])
};
console.log("[JS] WebView2 桥接就绪,window.bridge 可用");
} else {
@@ -76,7 +77,9 @@
});
</script>
<!-- 主逻辑脚本 -->
<!-- 🌟 主逻辑脚本 -->
<!-- 🆕 P1-01 渲染窗口状态机(DOM 无关;须在 app.js 之前) -->
<script src="render_window.js"></script>
<script src="app.js"></script>
</body>
</html>