Mosaic 0.15.0发布:动画支持与布局增强
Mosaic是一个基于Kotlin的终端UI框架,它借鉴了Jetpack Compose的声明式UI编程模型,使开发者能够使用类似的API在终端中构建丰富的用户界面。与传统的终端UI开发方式相比,Mosaic提供了更现代化、更声明式的开发体验。
全新动画支持库
本次0.15.0版本最引人注目的新特性是新增了mosaic-animation库,它为Mosaic应用提供了丰富的动画功能。这个库的设计灵感来源于Android的androidx.compose.animation-core,为终端UI带来了流畅的动画体验。
mosaic-animation库包含以下核心功能:
- 基础动画支持:包括补间动画、弹簧动画等
- 状态驱动的动画:当UI状态变化时自动触发动画
- 动画曲线控制:支持自定义缓动函数
- 组合动画:多个动画可以组合在一起同步或顺序执行
开发者现在可以轻松实现终端应用中元素的平滑过渡效果,比如列表项的展开/折叠、进度条的动态变化等,大大提升了终端应用的用户体验。
布局系统增强
0.15.0版本对Mosaic的布局系统进行了重要增强,新增了IntrinsicSize及相关修饰符:
Modifier.width/height:设置组件的宽度或高度Modifier.requiredWidth/requiredHeight:强制设置组件的宽度或高度IntrinsicSize:允许组件根据其内容计算固有尺寸
这些新特性使得布局系统更加灵活,开发者可以更精确地控制UI元素的尺寸,特别是在需要根据内容动态调整大小的场景下。
测试支持与布局标识
新版本引入了mosaic-testing库,专门用于测试Mosaic组件。这个库提供了以下能力:
- 确定性渲染:确保测试环境下UI渲染结果一致
- 组件状态验证:可以断言组件的各种状态
- 交互测试:模拟用户输入并验证UI响应
此外,新增的Mosaic.layoutId功能允许开发者为布局元素分配唯一标识符,这在复杂布局中特别有用,可以方便地在父组件中识别和操作特定的子组件。
自定义修饰符支持
Modifier.composed的引入是一个重要的API增强,它允许开发者创建自定义的可重用修饰符,并在其中访问Compose功能。这意味着:
- 可以封装复杂的修饰逻辑为可重用组件
- 可以在修饰符中访问状态和其他Compose特性
- 提高了代码的模块化和可维护性
性能优化与问题修复
在性能方面,0.15.0版本移除了20FPS的渲染帧率限制,现在渲染会尽可能快地进行(但仍只在必要时渲染)。这一变化减少了事件处理时的视觉延迟,使UI响应更加即时。
修复了自定义Modifier在多父类型(如同时继承LayoutModifier、DrawModifier等)情况下的处理问题,提高了框架的稳定性和可靠性。
总结
Mosaic 0.15.0版本通过引入动画支持、增强布局系统、改进测试能力和提供更灵活的API,显著提升了终端UI开发的体验和能力。这些改进使得开发者能够构建更加动态、响应迅速且易于维护的终端应用程序,进一步巩固了Mosaic作为现代化终端UI框架的地位。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00