Releases: edemaine/fold
Releases · edemaine/fold
v0.12.0
- Spec version 1.2 includes new edge assignments (cuts and joins), new frame attributes,
vertices_edges
andfaces_faces
definitions,null
values, and adds lots of clarifying text. - API renamed
filter.cutEdges
→filter.splitCuts
, which now automatically splits all cut edges (from FOLD 1.2) into regular boundary edges (from FOLD 1.0/1.1). - API adds
filter.cutEdges
andfilter.joinEdges
to list all cut and join edges respectively.
Full Changelog: v0.11.6...v0.12.0
v0.11.6
- Fix long-standing bug in
filter.cutEdges
(and cp-editor) not properly handling T junctions of cuts filter.cutEdges
now recomputesvertices_vertices
if it exists, instead of just discarding it
Full Changelog: v0.11.5...v0.11.6
v0.11.5
- Add
convert.edges_vertices_to_vertices_edges_unsorted
andfilter.edges_vertices_to_vertices_edges
for simple inversion ofedges_vertices
intovertices_edges
.
Full Changelog: v0.11.4...v0.11.5
v0.11.4
- Fix
convert.vertices_edges_to_faces_vertices_edges
to follow the spec:faces_edges[f][i]
is the edge connectingfaces_vertices[f][i]
andfaces_vertices[f][(i+1)%d]
. - Fix examples
diagonal-cp
anddiagonal-folded
accordingly.
Full Changelog: v0.11.3...v0.11.4
v0.11.3
v0.11.2
- Update xmldom, in particular potential security vulnerability
v0.11.1
- Fix
geom.matrixMatrix
when multiplying nonsquare (e.g. translation) matrix by square (e.g. rotation) matrix or vice versa - Rename
convert.flat_folded_geometry
→geom.flatFoldedGeometry
(for consistency) - Add
faces_flatFoldOrientation
output fromconvert.flatFoldedGeometry
v0.11.0
- Upgrade to CoffeeScript 2. The generated code will now not work in old browsers; open an issue if you have any problems.
- Also upgrade
browserify
andcoffeeify
- Also upgrade
- Move executable script into
bin
directory, removing shebang fromfile.coffee
andfile.js
(fixes #18 and needed for CoffeeScript 2 upgrade) - Change testing infrastructure to use Jest
- Transformation matrices:
geom.matrixMatrix
: multiply two matricesgeom.matrixVector
: multiple matrix times vectorgeom.matrixInverse
: invert matrixgeom.matrixRotate2D
: 2D rotation matrixgeom.matrixTranslate
: translation matrixgeom.matrixReflectAxis
: reflection through coordinate axisgeom.matrixReflectLine
: reflect through a line segment- Also nonmatrix forms:
geom.reflectPoint
andgeom.reflectLine
- Also nonmatrix forms:
- Add
filter.transform
for applying a transformation matrix - Add
filter.remove
,filter.removeVertex
,filter.removeEdge
,filter.removeFace
for removing a vertex/edge/face by index - Add
convert.flat_folded_geometry
: convert flat foldable crease pattern into flat folded geometry- Available on command line via
fold-convert --flat-fold
, which modifiesvertices_coords
and changescreasePattern
class tofoldedForm
class. - See new example: single diagonal fold (CP and folded)
- Available on command line via
- Add
convert.edges_vertices_to_edges_faces_edges
- Fix boundary detection in
convert.faces_vertices_to_edges
v0.10.4
v0.10.3
- Add
FOLD.filter.cutEdges
for cutting apart ("unwelding") edges in 2D crease pattern, usingvertices_edges
vertices_edges
manipulators:- Add
FOLD.convert.vertices_edges_to_faces_vertices_edges
- Add
FOLD.convert.edges_vertices_to_vertices_edges_sorted
helper - Add
FOLD.convert.edges_vertices_to_faces_vertices_edges
helper - Rename
FOLD.convert.edges_vertices_faces_vertices_to_faces_edges
toFOLD.convert.faces_vertices_to_faces_edges
.
- Add
- Helpers:
- Add
FOLD.filter.addVertexLike
similar toFOLD.filter.addEdgeLike
(for vertex duplication) - Re-order arguments of
FOLD.filter.addEdgeLike
(for edge duplication) - Add
FOLD.convert.deepCopy
for deep copying fold structures - Improve
FOLD.filter.numType
(and thusFOLD.filter.numVertices
) to use..._type
keys when there are notype_...
keys. - Change
filter.edges_verticesIncident
to return common vertex when the answer is "yes" (instead oftrue
), andnull
otherwise (instead offalse
).
- Add
- Update documentation