linebender / linebender/druid

Add a "resource bundle" for files like images, fonts, and localization

Open
#397 18 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

architecture discussion
Dominant language
Rust
Stars
9.7k
Forks
565
PR merge metrics
No merged PRs in 30d

Description

This came up in the #353 discussion. I'll let @cmyr explain it:

> My long-term vision for this is that you shouldn't be loading data directly from the file system; there should be a 'resource bundle' that druid exposes that contains various types of resources (image files, font files, localization files) and that is validated at compile time, so that at runtime getting a resource looks something like,

```rust
let my_svg: SvgData = env.get_bundle_resource(MY_SVG_IDENTIFIER);
```

> or maybe even in a very fancy world there's a build phase that generates per-app marker 'keys' (like env::Key) for each of the resources in this app's bundle?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the #353 discussion and the proposed env::Key and get_bundle_resource entry points described here. Before implementation, clarify the resource types, compile-time validation, bundle format, and acceptance criteria; the work is done only when those decisions are reflected in a usable resource-bundle API.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.