Summary

Congratulations! You've completed all the tutorials that equip you to become a Penrose user, developer, and domain expert! We've come a long way. Here's a quick rundown of some of what we learned:

  • Style, Substance, and Domain files make up a Penrose program. They are called a triple.

  • We use type TYPE_NAME syntax to define the type of an object in our Domain.

  • We define the substances in our diagram with the TYPE_NAME Substance syntax in the Substance file.

  • We define the style selectors using the syntax forall TYPE_NAME x {}.

  • We use the keyword predicate to define relationships between objects, the keyword ensure to define constraints on the diagram, and the keyword function to declare a function.

  • When working with Style files, start by defining styles for base objects, make use of cascading styles, and override if needed with the keyword override.

  • The visual meaning is defined in the style program, including all the concrete numbers.

  • The substance and domain files are infinitely flexible with no built-in functionality.

  • Penrose implements constraints & objectives with energy functions in order to optimize diagrams.

We hope you've had a fun time going through the tutorials and exercises and have enjoyed the opportunity to view diagramming differently!

For further explorations, here are some resources:

Have fun diagramming, and we will see you for future tutorials!

Last updated

Was this helpful?