AuburnSounds / AuburnSounds/Dplug
Usability
- 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
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