Skip to content

Version 0.3.0 (May 20, 2024)

Latest
Compare
Choose a tag to compare
@Mc-Zen Mc-Zen released this 20 May 18:52
· 3 commits to main since this release

This release contains a complete rewrite of the layout algorithm, finally allowing for transparent gates. Also, it is now possible to place gates and co. explicitly, similar to table.cell().

Changelog:

  • New features
    • Enable manual placement of gates, gate($X$, x: 3, y: 1), similar to built-in table() in addition to automatic placement. This works for most elements, not only gates.
    • Add parameter pad to lstick() and rstick().
    • Add parameter fill-wires to quantum-circuit(). All wires are filled unto the end (determined by the longest wire) by default (breaking change ⚠️). This behavior can be reverted by setting fill-wires: false.
    • gategroup() slice() and annotate() can now be placed above or below the circuit with z: "above" and z: "below".
    • help() command for quickly displaying the documentation of a given function, e.g., help("gate"). Powered by [tidy][tidy].
  • Improvements:
    • Complete rework of circuit layout implementation
      • allows transparent gates since wires are not drawn through gates anymore. The default fill is now auto and using none sets the background to transparent.
      • midstick is now transparent by default.
    • setwire() can now be used to override only partial wire settings, such as wire color setwire(1, stroke: blue), width setwire(1, stroke: 1pt) or wire distance, all separately. Before, some settings were reset.
  • Fixes:
    • Fixed lstick/rstick when equation numbering is turned on.
  • Removed:
    • The already deprecated scale-factor (use scale instead)