Penrose Versions Save

Create beautiful diagrams just by typing notation in plain text.

v1.3.0

2 years ago

Change log

Changes for users

  • BREAKING: Style programs now support configurable canvas dimensions, and require that the canvas be configured. More information here.
  • New callout shapes (text bubbles) available in Style. API here.
  • Path shape now supports Arc commands. API here.
  • Arrowheads incorporated in the path length
  • Better computation of disjoint constraint on boxes
  • New existential graph domain (#600)

Changes for devs

  • Various synthesizer updates
  • See more detailed changelog here.

v1.2.0

2 years ago

1.2.0 (2021-05-24)

Bug Fixes

  • handle Text GPIs with empty strings (#553) (0a5cfe1)
  • remove canvas from browser-ui's dependencies (#559) (b62f9e1)

Features

v1.1.0

3 years ago

Change log

Changes for users

  • Interface: Easier optimization debugging. The new opt tab in inspector displays the objectives and constraints that apply to your diagram, as well as information about how well the optimizer was able to satisfy them.
  • Interface: autostep is no longer on by default. By default, you will see the initial state of a diagram, and should hit autostep to turn it on, so it optimizes.
  • Style: Support for dashed shape strokes. You can now set the strokeDashArray property of any shape to a string value, following the SVG spec for stroke-dasharray. For example: strokeDashArray: "4 1 2 3"
  • Library: Experimental support for shapes Polygon and Polyline. Example program triple in examples/shape-spec: shape-spec.dsl,shapes.sub, shape-spec.sty
  • Library: Support for sqrt, max, min, abs, norm, normsq, vdist, vdistsq, rot90 to be called from Style; better support for disjoint functions (example program: roger watch graph-domain/small-graph.sub graph-domain/disjoint-rect-line-horiz.sty graph-domain/graph-theory.dsl)
  • Optimization: Better support for optimizing functions that contain conditionals (ifCond, max, min, etc.)
  • Style: Experimental support for initializing varying variables by a custom value, VARYING_INIT(i) (where i is your custom value). This is helpful for testing the optimization with custom initial states. See the Style language page for more information.

Changes for devs

  • API: Expose evalFns for individual opt fns, and compile each opt fn
  • Domain: Add experimental graph domain
  • System: Add mathtransform (not yet used)
  • Language: Process prelude values in Substance only
  • Various bugfixes