All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
- separate Substance environment and remove unused features (#1677)
- Add array-manipulation diagram to gallery (#1716) (7f08c63)
- More fractals (#1644) (4862055)
- Nephroid as Envelope (#1647) (09119bd)
- Random Index Style Function & Chaos Game (#1643) (36d4299)
- Update spectral graph examples (#1642) (97daca2)
- Update variation for caffeine example (#1700) (cd68afa)
--dump-metadata
inroger
(#1717) (98b96a5)- dump SVG option in
roger
(#1697) (243b306) - initial values for unknown variables (#1638) (61f2ad7)
- run the compiler and optimizer in a web worker (#1681) (42a657d)
- substance literal values (#1682) (7c1978f)
- update upload-artifact action to latest version (#1699) (3516985)
- warn
editor
users to save local changes (#1734) (c088040)
- Substance parsing of floating-point numbers (#1672) (e6e271a)
- UI bugs in
edgeworth
(#1706) (c255e39) - Update api.md (#1670) (97c8679)
- download functionality in the editor (#1678) (6401b84)
- duplicate
<penrose>
tags in exported SVGs (#1652) (1da2cab) - exclude function body from
FunctionInternalError
(#1714) (0f96b30) - improper Style matching of functions without parameters (#1679) (171110c)
- improper handling of flipped index ranges (#1687) (f4c5675)
- off-by-one error in time-travel slider (#1698) (bcb0c6c)
- public links and build config in
docs-site
(#1731) (a66cd72) - queue and resolve pending requests in optimizer worker (#1722) (357b1da)
- resolve state-related bugs in the editor (#1696) (b9e08d4)
- separate Substance environment and remove unused features (#1677) (7ad14e7)
- vector subtraction in tutorial3.md (#1701) (2680e34)
Bond
constructor names in the chemistry domain (#1712) (11ae235)- commented geometry domain (#1728) (2a335ee)
- integrate Rose (#1636) (d7c1ef4)
- replace
safe
util with nicerunwrap
(#1662) (4621bb5) - simplified shared
Grid
and customGrid
in Edgeworth (#1729) (a7c9d4d)
- "getting involved" page (#1639) (192b363)
- add
ob-penrose
to tool integration section (#1668) (617ebd3) - add documentation and an example of arrowhead styles (#1702) (13fe8a0)
- comment SolidJS
sample
function (#1656) (68975e5) - remove link to planned subsection on the contributing page (#1719) (3c66163)
- split up language reference docs (#1703) (1126038)
- typo in staged layout blog post (#1720) (caf797b)
- update CONTRIBUTING.md to require Node 18+ (#1710) (6d31981)
- update links to the technical roadmap (#1718) (af5de7d)
- update vitepress and index function library (#1704) (12b0442)
- add default canvas block to
editor
(#1674) (52f8fd2) - delete deprecated file extensions from Roger (#1675) (12ff3d0)
- fix
no-non-null-assertion
lint rule name (#1663) (b8b18b3) - fix labeling objective in ray tracing Style (#1660) (4f9ed8e)
- obviate custom unary-minus ESLint package (#1673) (3ffb9e8)
- rename
contrib
tolib
incore
(#1651) (f909232) - simplify names of
IsSubset
andNotIntersecting
(#1724) (b5e8cb8) - wait until the end to write the text chart (#1665) (31492d0)
- write out registry stats after every diagram (#1664) (c16e63f)
- CI workflow for comparing registry performance (#1637) (8ef997e)
- share memory across all Rose compilations (#1725) (10869e2)
v3.2.0 (2023-08-08)
- Add common matrix functions to standard library (#1538) (fdbe56e)
- Add dinoshade example to registry (#1601) (ef2a536)
- Penrose logo (#1605) (f3e7369)
- Substance indexed sets (#1572) (83f3869)
- Update 3D Spectral Graphs (#1550) (a2b813b)
numberof
andnameof
(#1583) (d3049af)- diagrams for selected and generic Alloy models (#1584) (1ca7d33)
- row-indexing of matrices (#1599) (b35b82d)
- Alloy example dining-philosophers use
numberof
andnameof
(#1587) (0503d5b) - bounding boxes and points for rotated rects (#1600) (ec0fa7b)
- Update README.md (#1580) (f2d865f)
- allow TeX in Style function docs (#1592) (95ab946)
- blog post for tailoring graph domain (#1590) (90398ca)
- fix anchors for functions (#1570) (a145853)
- fix single quotation mark (#1579) (098c33d)
- render Style function docstrings at build-time (#1602) (81de1f4)
- render markdown in function param description (#1575) (1bd1e2d)
- add
eslint-plugin-unary-minus
(#1589) (100dc7a) - enable strict TS checking in
roger
(#1576) (3a698f9) - go from
.eslintrc.cjs
to.eslintrc.json
(#1585) (7908f9f) - graphs blog post fixes (#1594) (6d74d93)
- remove redundant TSConfig stuff for Roger (#1581) (0d2ac0a)
v3.1.0 (2023-07-19)
- added UI for LLM program generation in
edgeworth
(#1556) (865ee9e) - added
mod
function toFunctions.ts
(#1565) (b7a7c3b) - nondistinct matching (#1567) (77e2714)
CircleCenter
behavior in Euclidean geometry Style (#1571) (a2ed8e1)- compile
@penrose/roger
for distribution 💂♂️ (#1562) (7b36125) - gallery loading by switching to pure Vue (#1549) (7c96d70)
- layering on nonexistent objects (#1560) (0bbe47c)
- Correct domain code snippet type (#1566) (ad0005a)
- add "Edit this page" button to pages (#1555) (2ca37bd)
- add Discord badge to GitHub README (#1548) (84cf567)
- add a short intro to v3 blog post (#1551) (4c8f75c)
- explain the origin of the project name (#1554) (add467a)
- fix
npx
command for roger (#1568) (cea1d0e) - improve blog excerpt styling (#1552) (b4514ca)
- update Vanilla JS usage for v3 (#1544) (d1ee0ea)
- Update
team.md
with new website URL for Rijul Jain (#1559) (93ecea1) - enable Prettier for
*.jsx
in VS Code (#1558) (fb47302)
v3.0.0 (2023-07-14)
- clean up
core
exports and synthesizer modules (#1367) - cleanup optimizer interface (#1368)
- combine
automator
androger
(#1387) - consolidate shape types (#1337)
- decouple optimizer from codegen (#1338)
- more readable
core
language API (#1527) - put each trio in its own JSON file (#1393)
- remove old file extensions from Roger (#1499)
- support non-trio examples in the registry (#1418)
- Additional curve support (#1503) (daa593d)
- Another curved graph style (#1386) (44a9005)
- Blobs (#1388) (5c192ae)
- Expose random sampling in Style (#1404) (2afb63c)
- Geometric Queries (#1428) (092063a)
- Improve elastic energy (#1384) (291e244)
- Spectral graph (#1487) (9a347ad)
- Substance as spreadsheet for timeline diagrams (#1419) (8c54f24)
- Substance variable collection (#1390) (c2d2467)
- Update curves (#1533) (41655a4)
- Update not found image (#1532) (d09b3d6)
- Walk on stars (#1493) (1678a91)
renderer
adds tightest viewbox metadata to SVG (#1444) (0c7b9f0)- abstract shape parameters (#1361) (627ee5c)
- accurate
Equation
measurements (#1445) (93d30f5) - add command to render multiple trios in
roger
(#1471) (9c052fe) - add multiple choice component to
synthesizer-ui
(#1344) (8767e36) - additional constructor declaration syntax in Domain and Substance (#1472) (ff1a7d7)
- allow namespace updates in Style (#1379) (5991b84)
- box-arrow style and computer architecture diagram (#1492) (2c428c3)
- cleanup optimizer interface (#1368) (fec7838)
- cropping picks smaller viewbox in gallery and
editor
(#1518) (b59854a) - decouple optimizer from codegen (#1338) (99f2633)
- deduplication of mutated Substance programs in
edgeworth
(#1481) (9eec6d1) - error and warning markings in IDE editor (#1513) (c91a6c9)
- export SVGs with plain TeX labels (#1433) (3e589a0)
- export
core
API functions for optimization specification and solving (#1391) (71aa047) - function as data (#1352) (8df3229)
- function warnings (#1498) (3e68a94)
- homepage gallery component (#1464) (130b2b7)
- line wrap in error pane (#1357) (58bd78b)
- remove old file extensions from Roger (#1499) (744aa0a)
- shape clipping (#1411) (03873af)
- show warnings in
editor
(#1381) (31a59f9) - space curves (#1399) (20e187d)
- support non-trio examples in the registry (#1418) (4fe953f)
- support trio switching in
roger watch
andeditor
(#1486) (8581efc) - t-SNE Experiment (#1453) (42bac33)
- timeline (#1369) (71aaf38)
- updated examples visible in gallery (#1505) (230d534)
- Diagram panel empty on iOS Chrome and iOS/macOS Safari (#1465) (cb89d4c)
halfPlaneSDF
and padding (#1360) (d234a96)style
passthrough incore
renderer (#1517) (18b9218)- async loading of solid examples in the registry (#1484) (3234243)
- bad clipping on transformed shape (#1495) (6ed899f)
- baseline center for TeX SVG
Equation
s (#1452) (dc7d41f) - broken Edgeworth geometry examples (#1346) (0f31177)
- corrected
triangle
function signature (#1351) (499cd21) - dependency graph for paths with indices (#1429) (d7e101e)
- fill and stroke settings for
Path
,Line
, andPolyline
(#1423) (284ad80) - find the correct working directory for
roger
(#1434) (3e1e970) - list whitespace parsing in Style (#1475) (e05a990)
- passthrough auto fill (#1396) (de70455)
- query string for examples in
editor
(#1519) (5c11a6d) - remove width and height attributes in
editor
SVG export (#1410) (3f68541) - render zero-length
Line
s (#1491) (6b2550e) - repeated state updates in
Gridbox
ofcomponents
(#1430) (7c5657c) - reuse resolver when example becomes local (#1473) (5ba3c00)
- separate type exports in core API and remove solid examples from registry (#1482) (d3dd1f9)
- unique line arrow (#1341) (52c6877)
- use
Serializer::json_compatible()
(#1457) (d120b25) - warnings in example diagrams (#1522) (9abc3a2)
- bump TypeScript version to 5.0 (#1395) (b4ae329)
- clean up
core
exports and synthesizer modules (#1367) (cf24aaa) - combine
automator
androger
(#1387) (678c6e5) - consolidate shape types (#1337) (0d69c97)
- don't concatenate tag in
updateExpr
(#1377) (2ce26c2) - more readable
core
language API (#1527) (22c8fc6) - pull out base
tsconfig.json
(#1392) (e6c5f55) - put L-BFGS into its own module (#1355) (cc21457)
- put each trio in its own JSON file (#1393) (803d7fc)
- remove
key
field fromad.Input
(#1366) (73664bf) - restore the 2D triangle mesh domain (#1354) (a09d193)
- simplify derivative of
div
(#1524) (b3bbd66) - unify default strokeColor for outline shapes (#1169) (a105c7c)
- use Clippy (#1426) (59da3d2)
- Penrose blog landing page (#1535) (197df0e)
CONTRIBUTING.md
andmatch_total
(#1364) (7536da0)- add @rjainrjain and @ravenrothkopf to team page (#1497) (47b2224)
- add a page about tools and update docs overview (#1521) (d179143)
- adding descriptions of new constructor syntax (#1508) (20a4188)
- auto-generate documentation for Style functions (#1427) (72d84fc)
- create
CODE_OF_CONDUCT.md
(#1507) (0e49636) - fix the tutorial (#1501) (60332b7)
- give exact
wasm-bindgen
version command (#1365) (baa6444) - homepage tweaks (#1515) (0fa290e)
- load Style function data using SSR (#1529) (23595c9)
- remove "installation instructions" phrase (#1343) (bc1ef99)
- remove obsolete VS Code workspace stuff (#1413) (966d2a2)
- revise constr/obj doc page (#1534) (e77d579)
- show default values of function parameters (#1496) (68f83de)
- start a blog (#1325) (6669567)
- syntax highlight docs for Group (#1506) (9b36e87)
- syntax highlighting in documentation site (#1502) (e43980b)
- update dependency and add instructions on
roger
and the registry (#1435) (035e1cb) - using Penrose programmatically (#1525) (7952b2b)
- Point to gallery (#1540) (6d4d613)
- Remove old assets (#1500) (04ee09f)
- Revert "fix: Diagram panel empty on iOS Chrome and iOS/macOS Safari" (#1466) (fad7125)
- bump version to 3.0.0-beta.0 (#1542) (ef4fffb)
- bump version to 3.0.0-beta.1 (#1543) (abe43d9)
- choose easier Hamilton circuit example (#1349) (bc77c2a)
- delete AD syntax transform and remove test folders in
core
(#1371) (46c7220) - don't use a multi-root VS Code workspace (#1412) (7b2883b)
- enable example panel on
editor
startup (#1510) (8888e7f) - fix a couple blogpost typos (#1523) (41f43b4)
- get rid of cross-instance energy eval (#1541) (e1a2e39)
- remove dead Nx config in
@penrose/solids
(#1422) (6f23aae) - split valence electrons into predicates (#1347) (3aa67e9)
- sum Edgeworth weights to 100% (#1345) (0e48271)
- switch from jest to vitest (#1406) (8ef8c77)
v2.3.0 (2023-03-14)
- Add a function to compute closest points (#1039) (c2c8fc6)
- Add group-theory example to registry (#1301) (115a609)
- Lewis structures Style (#1320) (5411f35)
- added "ctrl+enter" binding for recompiling (#1306) (d0472d1)
- basic group shape (#1294) (cf77bff)
- compile diagrams in
editor
after detected changes inroger
(#1264) (5ec39dd) - compute rect-line distance exactly (#1332) (b86be31)
- experimental example emulating 3D diagramming (#1299) (171a1d7)
- matrix and vector operations in Style (#1310) (70d190e)
- provide a
shapeDistance
function (#1328) (76a91e5) - show multiple diagram instances on a grid in
editor
(#1287) (fbaf03c) - triangle-mesh-3d example improvements (#1300) (b308c36)
- SVG overflow in
Simple
component (#1321) (df119ac) inRange
implemented incorrectly (#1297) (f692a44)- avoid
EPS_DENOM
in core autodiff (#1333) (db9f38b) - github action node version (#1318) (0d52677)
- improve performance of pseudoTopsort (#1302) (60bc4b5)
- nondeterminism in renderer (#1316) (9795420)
- render shapes in order for determinism (#1323) (c479eec)
- guide for creating new releases (#1304) (1895d8f)
- move wiki (#1331) (062e8ed)
- update Team page (#1324) (e61e0ca)
- add Lewis structures examples to
synthesizer-ui
(#1334) (2f1f624) - add graph examples to
synthesizer-ui
(#1336) (3b5f964) - add more stuff to
.prettierignore
(#1339) (e3a3f34) - add optimizer
build/
to.prettierignore
(#1315) (3c8b424) - diagram some graphs (#1317) (37acb1b)
- expand presets in
synthesizer-ui
(#1149) (58c288a) - layout tweaks in
euclidean.style
(#1335) (12363c9) - remove ESLint from PR template checklist (#1330) (ef74877)
v2.2.0 (2023-02-02)
- Add link to Wiki (#1275) (5c2f368)
- Group theory (#1276) (16c64fa)
- Group theory - multiplication table style (#1277) (fea6d0b)
- improve registry schema and loading (#1212) (d6bbc30)
- inline comparison operators (#1257) (b3c7c2f)
- support longer file extensions (#1280) (6e83596)
- clarify a couple
Graph
method docstrings (#1285) (6da46aa) - fix Twitter badge in README (#1260) (e60b3ed)
- remove full moon trio (#1259) (664595b)
v2.1.1 (2023-01-19)
- make pandemonium a dependency of core (#1249) (aac81e8)
- symmetric predicate check runs on empty type graph (#1248) (2493c51)
2.1.0 (2023-01-19)
- Stage reset after dragging (#1237) (9bf0a36)
- style relation checker using substance variables (#1239) (2e7de5e)
- Wrong flipped start arrowhead X offset (#1236) (ce7a348)
2.0.0 (2023-01-17)
- errors for undefined terms in Style selectors (#660) (e7f1f5f)
draw
command in@penrose/automator
(#937) (261fd4c)ReferenceError
in storybook (#1228) (74a0440)- Absolute imports for panels (#685) (bb0737e)
- account for descent in
Text
center computation (#842) (d9999eb) - add duplicate name check in Substance checker (#657) (1a3df91)
- add editor as explicit dep (#996) (ce1ee31)
- add examples to build (#994) (e9d2ac9)
- add labels to unmatched Substance objects in the translation (#666) (15462a6)
- Add Support for images with absolute URLs (#1033) (03a9b03)
- Allow Docusaurus and IDE co-existence (#916) (d8aa65f)
- Automator NPE in staged mode. Fixed #887 (#946) (dc50785)
- avoid 404 in homepage try link (#1187) (9da7193)
- base url (#997) (d329dd0)
- build
@penrose/core
before deploying storybook (a87cc23) - bump pug version (#669) (633f101)
- calls correct node navigation methods (#807) (4a94cac)
- canvas disappears on mobile browsers (#1136) (a060858)
- Catch errors thrown in
core
inbrowser-ui
(#625) (2a2ca45) - Change the derivative of abs to be sign (#1104) (2cb933f)
- check constructor name match in Style selector (#757) (3ab0042)
- Circle CI OOM error when building #651 (#655) (a50ccae)
- circle-rectangle interactions (#848) (428cad6)
- circleci resource class and storybook trigger (50e808b)
- clone rendered SVG node for
Equation
at render-time (#1144) (47b6dd2) - Cos/sin shouldn't use degrees #374 (#677) (d65ac8d), closes #651
- Default fill xor stroke. FreeformPolygon stack dumps renderer. Closes #704, Closes #706, Closes #708 (#707) (7662137), closes #651 #374 #392 #392 #392 #392 #392
- delete
svg-flatten
(#1208) (976ca77) - Delete packages/browser-ui/src/contexts.tsx (#912) (ffd63d0)
- determine
pointer-event
for dragging based on shape kind (#686) (c3c0cc3) - docs site mkdir (#995) (c149e59)
- Docs-site Shape Property page errors and crashes (#1045) (880d197)
- empty label check in Style selector (#789) (f28c1ba)
- Fix #935 Automator fails in draw mode (#936) (5b3d464)
- GitHub Actions canary release (#778) (7f8f093)
- GitHub Actions canary release (#780) (00681d5)
- Give Vite 8 GiB in editor (#1090) (3e328c8)
- Issue #1023 Allow stroke on Equations (#1026) (77e1f87)
- issue #1024 exclude name, ensureOnCavas in SVG (#1025) (ed7bb4d)
- Local image resolution not working in IDE (#1037) (c5220b4)
- Make autodiff deterministic in graph shape (#945) (c6fe4e3)
- Make Roger allow unordered triples (#658) (2d8f90e)
- Make TypeDecl subType range more precise (#963) (a7811dd)
- make website routing work (#1195) (08f4f61)
- map
Option::None
tonull
, notundefined
(#1191) (cd195e9) - multiple matching (#1063) (eb0991b), closes #1064 /github.com/penrose/penrose/issues/1064#issuecomment-1189228125
- path resolution in
automator
(#836) (52972af) - PointcareDisk.sty missing canvas def (#851) (b20400a)
- Reaction example Style (#1125) (6b76d1e)
- Remove duplicate 'pow' conditional (#880) (033a259)
- remove error wrapper in
browser-ui
(#695) (5a194aa) - Remove Rectangle Rotation BBox logic (#803) (2ea92aa)
- remove reference to disambiguateFunctions (#940) (a6be39f)
- Rename the padding argument of the overlapping constraint to overlap and negate its semantic (#1130) (28684f4)
- repel objective on segments causes slow optimization time (#613) (cfc8f46)
- Replace Substance undefined symbol usage (#745) (7587ce6)
- Resample button in panes (#881) (c1626cf)
- resize behaviors of diagram panel components (#1105) (7874667)
- Resolve browser-ui build warnings (#839) (21425aa)
- resolved NaN in the nested.sub by increasing the max size of sets shapes #498 (#628) (dcce355)
- responsive tab layout on mobile (#1137) (95b7f3e)
- return types in exported functions (#637) (944eb01)
- selector matching
n^m
complexity (#1016) (930fa0d) - Set paint none=none() in style examples. Closes #703 (#705) (f631d57), closes #651 #374 #392 #392 #392 #392 #392
- some symmetric predicates don't match (#1127) (b1f35e8)
- storybook deployment base directory (#1124) (7fb7a01)
- storybook examples and add exterior algebra to registry (#1122) (261055e)
- Strengthen length check in zip3 (#915) (36c0867)
- strokeDasharray strokeLinecap consistency (#850) (c7bf34b)
- Support empty fill and stroke style #392 (#699) (ee28a6f), closes #651 #374
- symmetry in nested predicates (#1069) (7d0d4bf), closes #1068
- synthesizer-ui typescript build warnings (#846) (2b00441)
- Throw error on invalid labels (#663) (96772ca)
- toHex usage (#746) (847c033)
- top-level diagram function (#862) (7f0f727)
- transform polygon/polyline points to screen space (#849) (861447f)
- twosets-simple example #616 (#617) (184ac34)
- unwrap the result of
stepUntilConvergence
inbrowser-ui
(#634) (e5796fb) - update examples in storybook (#790) (3c968b9)
- Upgrade TypeScript for roger prepack (#781) (b89b4af)
- use empty string as the default label and check autolabel statements (#754) (6ce1b97)
- Use ifCond in atDist (#667) (07157b6)
- "follow the cursor" dragging mode (#1143) (e15276c)
- 2d triangle mesh domain (#770) (bfc7b2e)
- 2d triangle mesh examples (#808) (e407858)
- add "Duplicate Workspace" button (#1106) (e576078)
- add
@penrose/panels
to the monorepo (#681) (24d5bd0) - Add a polynomial roots node (#906) (580ada4)
- add browser for synthesizer (#640) (2d81a55)
- add debug mode setting to
@penrose/editor
(#1030) (d9c5485) - add default
onCanvas
constraints for all shapes (#694) (20409e4) - add docs-site build (#856) (526a635)
- Add examples with nonconvex shapes (#893) (91edc5c)
- add full moon example (#872) (7c84f09)
- Add Mobius transform example (#1216) (43e7740)
- add right angle marker to euclidean style (#606) (ec12a72)
- Add SVG text (#740) (e066e53)
- add visualization of computational graph of energy in inspector #238 (#540) (133576b)
- added multiple tick mark functionality to euclidean style (#643) (1ec90f5)
- added swap-in mutator (#646) (71b872b)
- allow autodiff addends to be masked (#1192) (2870b5f)
- Allow convex partition on clockwise polygons (#901) (27a99ee)
- allow cycles in partial layer orderings (#760) (004ba9e)
- Allow Greek letters in style identifiers (#804) (fa49392)
- Allow subtypes inline (#735) (e4a0e41)
- Allow SVG kebab passthroughs via map (#806) (08a0fc7)
- basic symmetric predicates (#1061) (80e0a61)
- call
evalShapes
only twice to generate a computation graph (#976) (0ff28e5) - check existence and type of labels in Style selectors (#777) (9357e4e)
- compile on vim write (resolves #1046) (#1197) (9ee17a6)
- compute
Text
bounding box (#829) (8886074) - customizable arrowheads on both ends + new arrowhead styles (#1140) (0f60f05)
- Define bounding box function for every shape (#698) (28226dd)
- detect and report cyclic assignments in Style (#1147) (0f122fb)
- display errors in the
Simple
component (#953) (aa6209f), closes #535 - docusaurus site (#771) (13396b2)
- Domain syntax highlighting (#691) (d9fdcb5)
- Editor Rewrite (#992) (91022fa)
- enumerative search of Substance mutations (#638) (97db076)
- export diagrams in png (#1134) (307c574)
- Exterior algebra (#812) (9e49a45)
- Fake 3d linear algebra examples (#1058) (41d0c83)
- faster matching (#1072) (99c6383)
- Graphics tweaks (#843) (c492e4a)
- hexadecimal color literals in Style (#1114) (ce4cb51)
- host tutorial in online editor (#1196) (4f361c9)
- Hypergraph example (#998) (15053e3)
- Implement convex partitioning (#877) (d7968fb)
- improve
euclidean.sty
(#1117) (3a94d6d) - increase coverage of geometry domain for use with textbook problems (#633) (04619a0)
- increase test coverage for constraints (#791) (28a8cfd)
- Lagrange bases (#999) (e4d0259)
- Line polygon constraints (#810) (7d5538b)
- load function names from
core
for style autocomplete (#692) (e7eab14) - Make NotTypeConsIn... into ParseError (#961) (047ce4b)
- Make parse errors more readable (#1080) (1a8b440)
- Make Penrose deterministic (#864) (baabbe6)
- Make SVGs "Penrose-editable" (#1171) (edb5dc8)
- match metadata (#1074) (3f09477)
- Math functions (#736) (9ded71d)
- maximal and minimal objectives (#852) (c402b7f)
- Minkowski penalties (#648) (f2b799f)
- Minkowski penalties for Ellipse-Ellipse (#977) (2be787c)
- Minkowski penalties for Ellipse-Polygon (#911) (2842be8)
- More domain examples (#635) (c0a0c3f)
- Persistent homology example (#1007) (299145b)
- Polygon contains (#868) (9b7ad99)
- port the SIGGRAPH Euclidean geometry example (#693) (25878c4)
- Predicate aliasing (#1066) (de83edf), closes #623
- preset loading in
synthesizer-ui
(#1133) (7d0d7d8) - put the demo in the VitePress site (#1193) (22fba15)
- React component library (#671) (7f5977b)
- renderer: Passthrough unknown properties to Svg output (d3175c6)
- renderer/style: Passthrough unknown properties to Svg output (#759) (d6b4283)
- requires
forall
declarations (#1073) (942b06f) - resolve image paths in
@penrose/editor
(#1018) (7bb69e6) - resolve paths for included SVGs (#825) (cedbf1b)
- Signed distance functions for Penrose shapes (#979) (1a00e4c)
- Split Optimization Status Tab Into Constraints and Objectives (#611) (ab9eee9)
- staged diagram generation in automator (#610) (3de4a31)
- Structural formula example (#734) (bb18a6f)
- Style inline color widgets (#1094) (3ffdbbe)
- Substance mutations as data + refactored program generator (#601) (da8f9e5)
- support layout stages in Style (#1199) (d22602a)
- support path lists in
layer
expressions (#1111) (e1340e8) - Text baseline fix (#875) (eadf6a1)
- unify browser-ui and editor (#1000) (3e7f647)
- Use C-style syntax for Domain arglists (#737) (2af2447)
- Walk on spheres (#1019) (a5d5da1)
- Walk on spheres (#1022) (5863147)
- Add a benchmark suite (#921) (9513462)
- improve performance of Autodiff (#796) (8bca6db)
- improve performance of symbolic differentiation (#840) (7b5dd6a)
- port the optimizer to WebAssembly (#1092) (768895a)
- speed up
automator
using SWC (#1163) (516f57e)
1.3.0 (2021-06-24)
- add repo link to docs deploy (#598) (1c2c2c8)
- arrowheads incorporated in the path length (#587) (ba8ddf2)
- type-change in synthesizer was adding improperly formed bind statements to AST (#590) (b3c50a6)
- Unify BBox Computation in
Constraints.ts
and MakeSquare
Rect-Like (#582) (cce0160), closes #584
- add arc command to path shape object, implement tick marks for triangle congruency (#603) (b3190dd)
- Add callout shapes (#556) (6e3d5a2)
- existential graph domain (#600) (115111d)
- rename statement mutation added to synthesizer (#578) (dbf7106)
- Style-Controlled Canvas Dimensions (#589) (9bf6901)
- type-change implemented for synthesizer (#585) (81ea4cd)
1.2.0 (2021-05-24)
- handle Text GPIs with empty strings (#553) (0a5cfe1)
- remove canvas from browser-ui's dependencies (#559) (b62f9e1)
1.1.0 (2021-04-21)
- #481 - wrong NS attribute (#485) (e6b4c7a)
- #520 (moving types out, fixing soundness) (#526) (ba0abf3)
- [style-errors-2] fix style path validation code or remove unsupported style program features so LA example works (
findExpr
accesses lists) #489 (#491) (389f25c) - add cross-env in browser-ui build scripts (#497) (201390e)
- add source loc to parser errors; report unexpected EOF (#510) (8555c84)
- handle CRLF in all parsers (#500) (da2238a)
- K&R style braces in GPI exprs (#544) (ef0ae12)
- newlines in errors (wrap now) and newlines in mathjax (#493) (9fbe49f)
- render sizing due to container (#488) (3aa475b)
- skip static check for access paths (#495) (ffeb55b)
- stroke-dasharray rendering (5815cac)
- vector initialization, as well as overriding elements of vector-typed shape properties (#522) (238145c), closes #501 #515 #501 #515 #515 #516 #521 #2 #504
- [layout] add
evalFns
for individual opt fns, and compile each opt function (#527) (3eec8eb) evalEnergy
API function (#512) (2830bf0)- add
strokeDashArray
to all GPIs (#531) (629d5cc) - Add basic graph domain and more standard library functions for Style (#502) (859f3ae), closes #501
- add Polygon and Polyline to the shape library (#539) (50bd559)
- Enhance opt inspector (#537) (fe05e5c)
- Get disjoint AABB rect/line constraints to work; make autodiff more correct; add varying initialization to Style (#538) (f848970), closes #504 #504 #504 #496 #542
- mathtransform with jscodeshift (#389) (db17b27)
- opt tab for inspector; localStorage settings (#534) (b1e69cd)
- process prelude values in substance checker (#533) (2c143ac)
- #442 (7b39f52)
- #443 #444; add type annotations to all postprocessors (c952679)
- #448 (940f118)
- add decl_bind back to Substance parser (#457) (c6760e0)
- add global pseudorandomness (#472) (0e1f793), closes #466
- add missing contrib functions (2dda7b6)
- add string transform to string_literal token (#458) (9fb2169)
- allow trailing comments without newline at the end (#471) (3098b62)
- disable new iter warning #431 (d2b69ae)
- enable autostep on startup #420 (712ff5c)
- layer expr error #433 (4d60331)
- return parser errors monadically (#468) (6305301)
- still process state packets in protocol (af7ccdd)
1.0.0-alpha.3 (2021-02-15)
Note: Version bump only for package penrose
1.0.0-alpha.2 (2021-02-15)
Note: Version bump only for package penrose
- #442 (7b39f52)
- #443 #444; add type annotations to all postprocessors (c952679)
- #448 (940f118)
- install script for roger (2724feb)
- still process state packets in protocol (af7ccdd)
- First version. Released on an unsuspecting world.