Skip to content

Releases: jwhna1/jtUI

jtUI v1.0.3

Choose a tag to compare

@jwhna1 jwhna1 released this 17 Jun 16:08

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.hpp
    • hui/widgets/media/lufs_meter.hpp
    • hui/widgets/media/spectrum_view.hpp
    • hui/widgets/media/transport_bar.hpp

Verification

  • Verified jtUI-v1.0.3 Debug build on Windows / MSVC.
  • Verified jtUI-v1.0.3 unit tests: 2 / 2 passed.
  • Verified jtcli can embed and build against the local jtUI-v1.0.3 framework source.
  • Verified jtcli unit 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.hpp
    • hui/widgets/media/lufs_meter.hpp
    • hui/widgets/media/spectrum_view.hpp
    • hui/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

Choose a tag to compare

@jwhna1 jwhna1 released this 17 Jun 14:05

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=1 shadow 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-debug

Debug 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

Choose a tag to compare

@jwhna1 jwhna1 released this 12 Jun 18:23
6df19c5

v1.0.1

Update Goals

  1. Improve build stability on Windows / MSVC.
  2. Fix crash risks related to Signal lifetimes and rebuilds during event dispatch.
  3. Add framework-level UTF-8 / Unicode support for paths and text handling.
  4. Add helper APIs for responsive resize handling.
  5. Add Button text alignment support and improve ListView subscription safety.

本次更新目标

  1. 提升 Windows / MSVC 环境下的构建稳定性。
  2. 修复 Signal 生命周期与事件分发期间 rebuild 相关的崩溃风险。
  3. 补齐框架级 UTF-8 / Unicode 路径与文本处理能力。
  4. 增加响应式 resize 辅助 API。
  5. 补齐 Button 文本对齐能力,优化 ListView 订阅安全性。

origin v1.0.0

Choose a tag to compare

@jwhna1 jwhna1 released this 20 May 18:33
598fc2f

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 widgetsVideoPlayer (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 那套体操。
  • 媒体级原生 widgetVideoPlayer(MF + Direct2D)、AudioPlayer(WASAPI 共享模式)、WaveformViewTimelineLevelMeter 都是框架内置,不是外挂。
  • 40+ widget 即用 —— widgets/{basic,common,media} 三大目录覆盖 Button / Input / Tabs / Dialog / Popover / Tooltip / Gauge / Avatar / SidebarNav / AboutCard 等常用形态。