Skip to content

WIP Experiment with not requiring Vec in Polygon etc - #399

Draft
jdahlstrom wants to merge 74 commits into
devfrom
as-slice-trait
Draft

jdahlstrom wants to merge 74 commits into
devfrom
as-slice-trait

Conversation

@jdahlstrom

@jdahlstrom jdahlstrom commented Jul 18, 2026 •

Copy link
Copy Markdown
Owner

Add trait AsSlice to abstract over Vec, slices, arrays

This is a soft prerequisite for making alloc optional

In general could impl for any AsRef<[]> or Deref<Target=[]>?

jdahlstrom added 30 commits May 14, 2026 15:06
Directional, point, and spot lights are implemented.
This allows passing light, material, etc. information to the fragment shader.
Adds functions to Text:

* render() for simple 2D rendering
* batch() for more customized rendering
* shader() returning a suitable shader

Other improvements:

* finish anchor/alignment support
* color field to easily set text color
The stats printing code has a fairly large binary footprint.
Collecting the stats may also have a slight performance impact.
Keys 1 to 5 toggle various visualizations.
0 toggles rendering of the mesh itself.
Refactor the animation+debug state in solids to a new type.
col_vec has a pretty unfortunate implementation due to const limitations...
If the last row is 0, ..., 1 (which should always be for affine matrices)
inverse and determinant calculations can be simplified quite a bit.
Add a comprehensive API overview to the module docs.
These use Cramer's rule to solve Mx = y without computing the full inverse.
* Fix triangle winding issue
* Enable allocatin tracking
* Output images to a subdirectory
* Impl Clip for primitive rather than [primitive]
* Change Clip::clip from a method to an associated function
  * Takes IntoIterator and returns Iterator, avoiding a collect
* Remove now unneeded Render::Clips associated type
* Add Clip bound to Render::Clip, simplifying bounds
* Remove complex and now unneeded [Prim::Clip]: Clip<...> bounds, yay!
* Remove now unnecessary collect from primitive assembly
Add trait AsSlice to abstract over Vec, slices, arrays
In general could impl for any AsRef<[]> or Deref<Target=[]>?
@jdahlstrom

Copy link
Copy Markdown
Owner Author

Conflicts with #390

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant