Ztron 支持两种创建窗口的方式:声明式(配置驱动,应用启动时由
AppBuilder.fromConfig 应用启动状态)与运行时(通过 WebviewWindow
编程创建/销毁)。
摘自 examples/hello/ztron.conf.json 的双窗配置——main 窗通过
url: "frontend" 占位符加载 Vite 前端,conf-second 窗直接内联 HTML:
字段与 Tauri 的 WindowConfig 启动状态对齐;url: "frontend" 在 dev
流程解析为开发服务器/构建产物,其他字符串按绝对 URL 加载,省略时回落
到内联 HTML。验证锚点:CONF_WINDOW_OK:From Config(P14)。
@zturnlibs/ztron-api 提供 WebviewWindow 类,可在应用运行中创建与销毁
窗口(multiwin 示例以此做 10 次创建/销毁压力测试)。runtime 创建的
窗口同样进入 host 的 webview 注册表,具备 label 路由、per-window 事件
与关闭时的注册表清理。验证锚点:
SECOND_WINDOW_OK label=second —— hello 示例在运行中真实创建并销毁
了一个 runtime 窗口(P9)MULTI_WINDOW_OK(P6)—— 多窗架构:host webview 注册表 + label 路由
WebviewWindow窗口状态(尺寸/位置/最小尺寸约束/可最小化等)、透明度、透明、装饰、
titleBarStyle、dock 进度/角标、setTheme、监视器查询
(availableMonitors 等)与全部 13 个窗口事件均已可用(见
事件与 Channel);关键验证锚点:WIN_STATE_OK、
WIN_EVENT_OK、WIN_V2_EXTRAS_OK、MONITORS_OK。
运行时多窗创建在 macOS 已解锁,但 webview 库在运行循环(run loop)中
对第二个 webview 的创建有过阻塞历史,修复过程(含引擎析构 UAF 的 lib
补丁)记录在 DESIGN.md §75。
适用版本:ztron 0.3.1