Releases: jwhna1/jtUI
Release list
jtUI v1.0.3
jtUI v1.0.3 Hotfix Release Notes
English
Release Goal
This hotfix resolves a blocking build issue found when downstream projects embed jtUI directly from the GitHub repository.
Fixed
- Fixed the public aggregate header
api/include/jtui/jtui.hpp. - Kept the aggregate header aligned with the headers actually shipped by the open-source jtUI framework.
- Fixed downstream build failures caused by missing headers such as:
hui/media/audio_engine.hpphui/widgets/media/lufs_meter.hpphui/widgets/media/spectrum_view.hpphui/widgets/media/transport_bar.hpp
Verification
- Verified
jtUI-v1.0.3Debug build on Windows / MSVC. - Verified
jtUI-v1.0.3unit tests: 2 / 2 passed. - Verified
jtclican embed and build against the localjtUI-v1.0.3framework source. - Verified
jtcliunit tests: 1 / 1 passed.
Compatibility Notes
- This release is intended as a safe hotfix for projects consuming jtUI from GitHub.
中文
更新目标
本次热修复用于解决下游项目直接从 GitHub 嵌入 jtUI 框架时遇到的编译阻塞问题。
修复内容
- 修复公开聚合头文件
api/include/jtui/jtui.hpp。 - 让聚合头文件与开源 jtUI 框架实际发布的头文件保持一致。
- 修复下游项目因以下缺失头文件导致的编译失败:
hui/media/audio_engine.hpphui/widgets/media/lufs_meter.hpphui/widgets/media/spectrum_view.hpphui/widgets/media/transport_bar.hpp
验证情况
- 已验证
jtUI-v1.0.3在 Windows / MSVC Debug 环境下可正常编译。 - 已验证
jtUI-v1.0.3单元测试:2 / 2 通过。 - 已验证
jtcli可以嵌入并编译本地jtUI-v1.0.3框架源码。 - 已验证
jtcli单元测试:1 / 1 通过。
兼容性说明
- 本版本适合作为使用 GitHub jtUI 源码包项目的安全热修复版本。
jtUI v1.0.2
jtUI v1.0.2 Framework Update
English
jtUI v1.0.2 is a framework maintenance release focused on Windows / MSVC stability, frameless window rendering, TextInput behavior, repaint safety, and desktop-tool integration hooks.
Highlights
- Fixed the dark-mode bottom gray line in frameless windows.
- Replaced DWM
bottom=1shadow triggering with a transparent helper layered window for softer external shadows. - Improved hover / press repaint stability by expanding paint dirty bounds.
- Fixed multiline TextInput caret and text alignment so multiline fields start from the first line.
- Added widget-first file drop dispatch through
DropFilesEvent. - Added TextInput clipboard / right-click extension hooks.
- Added optional text clipping control and font-family-aware text measurement.
- Added
IEffectProcessor::latency_samples()for host-side bus latency compensation. - Updated release metadata to
v1.0.2.
Scope
This release contains jtUI framework-level changes only.
The jtui_master brand / professional audio host implementation is intentionally excluded.
Verification
cmake --build --preset build-msvc-debugDebug build passed on Windows / MSVC.
中文
jtUI v1.0.2 是一次框架维护版本,重点提升 Windows / MSVC 稳定性、无边框窗口渲染、TextInput 行为、局部重绘安全性,以及专业桌面工具需要的扩展 hook。
更新重点
- 修复深色模式无边框窗口底部灰线问题。
- 将 DWM
bottom=1外投影触发方案替换为透明 helper layered window,实现更柔和的外投影。 - 扩展 paint dirty bounds,提升 hover / press 局部重绘稳定性。
- 修复多行 TextInput 光标和文本默认垂直居中的问题,让多行输入从首行开始。
- 新增 widget 优先的文件拖放事件分发
DropFilesEvent。 - 新增 TextInput 剪贴板 / 右键扩展 hook。
- 新增文本可选裁切控制和支持字体族的文本宽度测量。
- 新增
IEffectProcessor::latency_samples(),为宿主侧总线延迟补偿提供框架接口。 - 更新发版元数据到
v1.0.2。
范围说明
本次发布只包含 jtUI 框架层更新。
jtui_master 品牌 / 专业音频宿主业务实现已明确排除。
验证
cmake --build --preset build-msvc-debug已在 Windows / MSVC Debug 构建下验证通过。
v1.0.1
v1.0.1
Update Goals
- Improve build stability on Windows / MSVC.
- Fix crash risks related to Signal lifetimes and rebuilds during event dispatch.
- Add framework-level UTF-8 / Unicode support for paths and text handling.
- Add helper APIs for responsive resize handling.
- Add Button text alignment support and improve ListView subscription safety.
本次更新目标
- 提升 Windows / MSVC 环境下的构建稳定性。
- 修复 Signal 生命周期与事件分发期间 rebuild 相关的崩溃风险。
- 补齐框架级 UTF-8 / Unicode 路径与文本处理能力。
- 增加响应式 resize 辅助 API。
- 补齐 Button 文本对齐能力,优化 ListView 订阅安全性。
origin v1.0.0
Why jtUI
jtUI is what you get when you ask: what if a native desktop UI toolkit shipped with the developer ergonomics of Vue.js, but without paying the Electron tax?
- Pure C++20 — runtime ~150K lines, no Node, no JS engine, no webview. Your app is a single
.exe. - Real native frames — Direct2D 1.1 rendering on Windows, with backdrop blur, true gaussian box shadow, bezier/polygon primitives, HiDPI-aware geometry, GPU-decoded video frames.
- Vue-inspired developer flow — declarative widget trees,
Signal<T>/Property<T>reactivity, full-tree rebuild as the default state model. Mental model fits in one afternoon. - i18n + dual theme out of the box — one-line
Theme::set(Dark/Light)+i18n::set_locale(En/Zh)switch the entire app. No CSS-in-JS gymnastics. - Media-native widgets —
VideoPlayer(MF + Direct2D),AudioPlayer(WASAPI shared mode),WaveformView,Timeline,LevelMeter— built into the framework, not bolted on. - 40+ widgets ready across
widgets/{basic,common,media}— Buttons, Inputs, Tabs, Dialog, Popover, Tooltip, Gauges, Avatars, SidebarNav, AboutCard, and many more.
为什么是 jtUI
jtUI 来自一个问题:如果原生桌面 UI 工具集能像 Vue.js 那样好写,但不用付 Electron 的税,会是什么样?
- 纯 C++20 — runtime 约 15 万行代码,没有 Node,没有 JS 引擎,没有 webview。你的 app 是一个单独的
.exe。 - 真原生帧 — Windows 走 Direct2D 1.1 渲染,自带毛玻璃(backdrop blur)、真高斯模糊阴影、贝塞尔/多边形原语、HiDPI 几何感知、GPU 解码视频帧。
- Vue 风格的开发体感 — 声明式 widget 树、
Signal<T>/Property<T>响应式、整树 rebuild 作为默认状态模型。心智模型一个下午就能上手。 - i18n + 双主题开箱即用 — 一行
Theme::set(Dark/Light)+i18n::set_locale(En/Zh)全应用切换。不需要 CSS-in-JS 那套体操。 - 媒体级原生 widget —
VideoPlayer(MF + Direct2D)、AudioPlayer(WASAPI 共享模式)、WaveformView、Timeline、LevelMeter都是框架内置,不是外挂。 - 40+ widget 即用 ——
widgets/{basic,common,media}三大目录覆盖 Button / Input / Tabs / Dialog / Popover / Tooltip / Gauge / Avatar / SidebarNav / AboutCard 等常用形态。