Introduce `baseview-core` crate for a common, more stable API for other crates to re-export
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start by reading the baseview crate’s public API and the GUI integration crates mentioned in the issue, egui-baseview and iced-baseview, to see which types they wrap or re-implement. Then identify which APIs are stable utilities for plugin use and which depend on WindowHandler and GUI adapters. Done means a proposed baseview-core crate boundary and trait-based API that reduces this duplication while supporting the compatibility goal.
由索引模型根据 Issue 内容生成。
描述
Currently, GUI framework integration crates (such as egui-baseview and iced-baseview) have to either wrap or re-implement a lot of baseview's types if they want to expose them in their public APIs, just to shield themselves from semver-incompatible baseview releases (even though the aforementioned APIs actually rarely change, compared to e.g. WindowHandler APIs).
This results in a lot of tedious and ultimately unnecessary code that those crates have to implement and maintain.
This is because the baseview crate currently acts as a bridge for two different sides: the GUI implementation/framework adapter side, and the plugin/plugin framework/host side.
We could create a new baseview-core (name TBD) crate that would expose the more stable utilities and APIs as traits for plugins to use directly, while leaving out the WindowHandler & co. APIs only for GUI implementations (and/or framework adapters) to use.
Ideally, plugin frameworks such as Nice-Plug could potentially even support spawning and managing any type of Window that implements baseview-core traits, making any-to-any compatibility between plugin frameworks and GUI frameworks possible.
- 主要语言
- Rust
- 星标
- 387
- 派生
- 128
- 平均合并
- 3 天 2 小时
- 30 天内合并 PR
- 15
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
RustAudio/baseview 的其他 Issue
-
难度 5/5 一周以上 新手友好度 14/100
RustAudio/baseview#359 · 4 条评论 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
维护者通常 1 天内回复
-
enhancement
难度 5/5 一周以上 新手友好度 25/100
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
RustAudio/baseview#342 · 1 个 reaction ·
维护者通常 1 天内回复
查看 RustAudio/baseview 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
dsx-ai-factory/infra-controller#8341 ·
维护者通常 1 天内回复
-
enhancement triage:deciding
难度 2/5 1-3 小时 新手友好度 70/100
open-telemetry/otel-arrow#4540 ·
维护者通常 2 天内回复
-
component:benchmark
难度 2/5 1-3 小时 新手友好度 76/100
agentic-os-org/ANOLISA#9177 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
oracle/rust-oracledb#61 ·
-
bug priority-medium to-agent
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复