该 QML.jl 包为 Windows、OS X 和 Linux 上的 Qt QML 提供了 Julia 绑定。在当前状态下,存在基本的 GUI 功能,并且与 Makie.jl 的粗略集成可用,允许将 QML GUI 元素叠加在 Makie 可视化之上。
将 Makie 的 QML 代码拆分到一个单独的包中。 这将允许在 QML 和 Makie 之间指定适当的包兼容性,而无需使 Makie 成为 QML 的强制依赖项(目前我们使用 Requires.jl 来实现这一点)
改进集成。 目前,Makie 和 QML 之间的连接主要需要手动设置。我们需要实现一些常用的功能,例如在视口中注册点击并进行正确的坐标转换以及 3D 视口的导航。
推荐技能:熟悉 Julia 和 Qt 框架,一些基本的 C++ 技能,对 3D 图形和 OpenGL 的亲和力。
持续时间:175 小时,预计难度:中等
导师:Bart Janssens 和 Simon Danish
Makie.jl 是 Julia 编程语言的可视化生态系统,专注于交互性和性能。 JSServe.jl 是使 Makie 的基于 Web 的后端成为可能的核心基础设施库。
目前,设计 Makie 中的基于 Web 的用户界面 (UI) 所需的所有要素都已存在,但该过程本身非常底层且耗时。该项目的目的是简化该过程。
实现新颖的 UI 组件并改进现有的组件。
引入适合表示复杂 UI 的数据结构。
为常见场景添加更简单的语法,类似于 Interact 的 @manipulate
宏。
改进文档和教程。
简化部署过程。
额外任务。 如果时间允许,可以探索以下方向之一。
使 Makie 基于 Web 的绘图更适合于通用 Web 应用(将更多计算转移到客户端,提高交互性和响应能力)。
将 UI 基础结构推广到原生小部件,这些小部件已在 Makie 中实现,但具有不同的界面。
所需技能。 熟悉 HTML、JavaScript 和 CSS,以及反应式编程。拥有 Julia 可视化和 UI 生态系统的经验。
持续时间。 350 小时。
难度。 中等。
导师。 Pietro Vertechi 和 Simon Danisch。