## Changes
### Component customization
- Button rendering can now be completely customized, with a new flat renderer available among the defaults. This also means `TexturedButtonComponent` is now deprecated and superseded by the `texture` button renderer
- Scrollbar rendering is now fully customizable as well. By default, this includes the two types of vanilla scrollbar used in game menus and the creative inventory screen as well as the default flat owo-ui scrollbar. Scroll containers can now also define an increment by which they are scrolled and the length of the scrollbar can be set to a fixed value
- owo-ui now features the `NinePatchRenderer` utility, which can draw a nine-patch style texture in both tiled and stretched mode with next to no performance impact. This is used to enable the new scrollbar rendering and also allows buttons to scale to arbitrary sizes, contrary to the vanilla implementation. As it is also used to draw the panel surface, performance on all screens that use panels should be improved
### RenderDoc integration
When RenderDoc is injected into a game instance with owo installed, you can now take advantage of comprehensive bindings to RenderDoc API. In-game this enables the new `/renderdoc` client command which opens a screen that lets you configure the RenderDoc overlay as well as take captures and launch the Replay UI. Additionally, when in an owo screen, CTRL+ALT+R can create a capture of only the draw calls relevant to screen - check out the docs over at https://docs.wispforest.io/owo/renderdoc/
## Fixes
### owo-ui
- Scroll containers now properly account for their child's margins and mount it with the current scroll position already applied
- Named text colors no longer need to be intentionally misspelled to get parsed properly
- The inspector can no longer go offscreen
- Vanilla widgets now properly propagate the focus events
- Component visiblity is now checked with the model view transform applied
- Labels no longer cause unnecessary state updates
- Tooltips now properly respect overflow clipping and component visibility
- Checkboxes now properly emit all checked/unchecked events
### Other
- `@Nest` config entries can now have the same name as their class (#52)
- sentinel now always runs in console-mode on macOS (#51)
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }