* Make certain parameters optional
* Use builder pattern for project function's optional parameters
* Address comments posted in bezier-math-lib discord channel
* Minor changes to text
* Address PR comments
* Fix index.html
* Nit
* Replace builder pattern with simple struct
* Move constants to a separate file
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Implement line intersection for quadratics, begin work for cubic
* Implement line intersection for cubic beziers, add tests for cubic root finding
* Rename function and update comments
* Minor refactor and adjust comments
* Address PR comments
* Implement backend of extrema in bezier-rs
* Added extrema frontend
* Added extrema interface
* Wrapped extrema in filter function to remove points not on the curve
* Saved intermediate results while computing extrema
* Fixed extrema bug when a in cubic formula is 0
* Removed extra prints
* Fixed quadratic extrema regression
* Moved helper functions to utils file
* Fixed bug in solve linear
* Stylistic changes per review
* Sentence comments
Co-authored-by: Linda Zheng <thelindazheng@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* UI section for the projection function
* added bezier project impl
* Fix project function and add test for it
* Search method
* Re-use comptued distances
* Update comments
* rebase project changes
* clean up tests and library code
* use built-in functions and destructure syntax
* Remove redundant project implementation
* Fix typo, add lut size as parameter and add constant
* address comments
Co-authored-by: Thomas Cheng <contact.chengthomas@gmail.com>
* Implement quadratic and cubic from points
* Catch edge cases and integrate `t` slider
* Add 2 sliders for cubic
* Create utils file for bezier-rs and address other PR comments
* Rename variable and remove unnecessary ids
* Update rustdoc comments and rename variables
* Remove unnecessary file and refactor options for drawing beziers
* Address PR comments
* Update quadratic_through_points description
* Add wasm-pack to dependencies and change from spaces to tabs for indents
* Change strut to midpoint_separation, adjust sliders and section name
* Minor refactor
* Added split implementation and UI
Co-authored-by: Thomas Cheng <Androxium@users.noreply.github.com>
* Added bezier split impl
* Adjust struct traits
* Implement trim and adjust FE code to handle multiple sliders per feature
Co-authored-by: Thomas Cheng <contact.chengthomas@gmail.com>
Co-authored-by: Rob Nadal <robnadal44@gmail.com>
* Fix edge case in trim and add rust doc comments
* Stylistic changes per review
* More stylistic changes per review
* replaced last explicit color usages
Co-authored-by: Robert Nadal <Robnadal44@gmail.com>
Co-authored-by: Thomas Cheng <Androxium@users.noreply.github.com>
Co-authored-by: Thomas Cheng <contact.chengthomas@gmail.com>
* added ui for derivative impl
* Add derivative computation for bezier-rs library
* integrate devivative ui with library
* Add implementation for the normal function
* Update rustdoc comments
* Rename handles and getters, add tangent function
* Rename variables, address nits
Co-authored-by: Rob Nadal <robnadal44@gmail.com>
Co-authored-by: Thomas Cheng <contact.chengthomas@gmail.com>
Co-authored-by: ll2zheng <Linda Zheng>
Co-authored-by: Thomas Cheng <35661641+Androxium@users.noreply.github.com>
Co-authored-by: Robert Nadal <Robnadal44@gmail.com>
Co-authored-by: ll2zheng <ll2zheng@uwaterloo.ca>