Releases: rabbit-ear/rabbit-ear
v0.9.4-alpha
Rewrite of the entire library. some key takeaways from a user's perspective
- class objects have been largely removed (
vector,matrix,line) these now exist as Typescript type definitions, and the primitive itself is simply an object or array. VecLine2 and VecLine3 distinguish between 2D and 3D lines now (UniqueLine type is always in 2D). - the
convert/folder has been entirely refactored, supports conversion between FOLD and SVG, OBJ, OPX (including the newer ORIPA version) - a new
general/directory andear.generalsubcategory for operations on more general objects (not a FOLD graph), such as clustering, sorting, array set operations. - operations to modify a FOLD graph are quite different. different intersection methods, add components, join, planarize, subgraph, populate, new and improved folding methods.
- new validate section intended to report errors on poorly formed FOLD objects
- new layer solver which works in 3D is still in testing, available at
ear.layer.layer3D(). the 2D solver is still atear.layer() - complete rewrite of
singleVertex/directory svglibrary contains improved options for rendering FOLD objects, made available through the newconvert/fold-to-svgmethod- the WebGL rendering has undergone years of usage and improvements and is beginning to replace the SVG library as the preferred rendering in many Rabbit Ear apps now.
- Typescript types (via. JSDocs)
v0.9.32-alpha
new layer solver implementation at ear.layer.solver(), huge performance improvement. solver returns data bound to a prototype which includes methods to process and analyze the data. methods include
count()
solution(...indices)
allSolutions()
facesLayer(...indices)
allFacesLayers()
faceOrders(...indices)
allFaceOrders()ear.layer.assignmentSolver renamed to ear.layer.singleVertexAssignmentSolver.
ear.math.enclosingBoundingBoxes, new method. test if one bounding box is entirely inside another.
ear.graph.makeEdgesEdgesSimilar, answers which edges have the same endpoints (vertices) as other edges. endpoints can be in any order.
performance improvements for ear.graph.makeFacesFacesOverlap, ear.graph.makeEdgesFacesOverlap.
v0.9.31-alpha
docs are now versioned.
book now supports darkmode.
both UMD and ES6 module included in distributions now.
various improvements, including:
- axiom function wrapper has changed.
validate()is now exposed to the user, as is theaxiomInBoundarymethods. Normal-distance parameterization methods are now named as such. - new convex hull algorithm. two entrypoints:
convexHullreturns points,convexHullIndicesreturns indices of points from your points parameter array. onLeaveadded to the other three methodsonMoveonPressonReleasefor SVG elements.
v0.9.3-alpha
- introducing docs
- all snake_case renamed to camelCase
- library now has 0 dependencies
- rewrite axioms
v0.9.2-alpha
new layer-solver for folding a crease pattern
v0.9.11-alpha
math intersect/overlap rewrite. methods like "point_in_poly" now moved to "overlap_" or "intersect_" followed by names of primitives. like "overlap_convex_polygon_point".
math primitives also gained new methods which are wrappers around math core.
v0.9.01-alpha
substitute fold-to-draw for new concise and more integrated system
v0.9.0-alpha
first alpha build in anticipation of v1.0
RabbitEar 0.1
information at rabbitear.org