AuburnSounds / AuburnSounds/Dplug

Usability

Open
#936 0 comments 0 reactions 0 assignees View on GitHub
Enhancement Good 1st issue Mental load
Dominant language
D
Stars
564
Forks
34
PR merge metrics
No merged PRs in 30d

Description

- [ ] `ImageRef` should have `.scanptr` or `.scanPtr`
- [ ] Canvas and canvasity should have a `roundRect` and `arcTo` function (see Auburn product n°8 to see how)
- [x] `setDirty` and `setDirtyWhole` should have overloads with `Rect2i` as input
- [x] `box2i`/`box2f`/`box2d` should have conversion functions from/to `Rect2i`/ `Rect2`/`Rect2d` (resp.)
- [x] box2i should have .left .right .top .bottom getters
- [ ] `loadOwnedImage` (bad name BTW) should be paired with `destroyOwnedImage`, though there is still some shakiness with mipmaps images being swapped and then .destroyFree. DANGER. Ideally mipmaps should clone contents instead of taking ownership, I feel.
- [ ] for saving memory: Mipmap should clear excess levels in case of size with less levels (and it should support size 0x0 too which means 0 levels)
- [ ] the name `.cropImageRef` sucks. `.crop` shouldn't be used anywhere as it's all `ImageRef` now. `.cropToRect` ???

Contributor guide

Open the contributing guide

Research direction

Locate the ImageRef, Canvas/canvasity, loadOwnedImage, Mipmap, and cropImageRef entry points named in the checklist, then read their existing ownership and API behavior. Treat the unchecked items as separate pieces of work and clarify the mipmap ownership and naming decisions before considering the checklist complete.

Written by the indexing model from the issue text.

Assessment

Domain
developer-experience, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.