From 4045158033c853733aefa981ccb6dda316cc92df Mon Sep 17 00:00:00 2001 From: David Stadelmann Date: Wed, 1 Jul 2026 09:54:18 +0200 Subject: [PATCH] chore: update CeTZ from 0.3.2 to 0.5.2 and fix coordinate handling for 3D vector requirements --- doc/example.typ | 2 +- gallery/test.typ | 6 +++--- gallery/test2.typ | 6 +++--- gallery/test3.typ | 2 +- gallery/test4.typ | 2 +- gallery/test5.typ | 2 +- gallery/test6.typ | 2 +- manual.typ | 2 +- mise.toml | 2 ++ src/circuit.typ | 2 +- src/elements/alu.typ | 2 +- src/elements/block.typ | 2 +- src/elements/element.typ | 4 ++-- src/elements/extender.typ | 2 +- src/elements/group.typ | 2 +- src/elements/logic/and.typ | 2 +- src/elements/logic/buf.typ | 2 +- src/elements/logic/gate.typ | 4 ++-- src/elements/logic/or.typ | 2 +- src/elements/logic/xor.typ | 2 +- src/elements/multiplexer.typ | 2 +- src/elements/ports.typ | 2 +- src/wire.typ | 12 ++++++------ 23 files changed, 35 insertions(+), 33 deletions(-) create mode 100644 mise.toml diff --git a/doc/example.typ b/doc/example.typ index 7e7af59..0c7c848 100644 --- a/doc/example.typ +++ b/doc/example.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "../src/circuit.typ": circuit #import "../src/util.typ" diff --git a/gallery/test.typ b/gallery/test.typ index fe07b62..2a5ef2f 100644 --- a/gallery/test.typ +++ b/gallery/test.typ @@ -117,7 +117,7 @@ wire.wire( "wExtender-ImmSrc", ( "Extender.north", - (18, -2) + (18, -2, 0) ), style: "zigzag", zigzag-ratio: 0%, @@ -138,8 +138,8 @@ ) wire.wire( "wBus", ( - (v => (v.at(0), -3.5), mid), - (horizontal: (), vertical: (0, 3.5)), + (v => (v.at(0), -3.5, 0), mid), + (horizontal: (), vertical: (0, 3.5, 0)), ), bus: true ) diff --git a/gallery/test2.typ b/gallery/test2.typ index f8ea126..0544ffe 100644 --- a/gallery/test2.typ +++ b/gallery/test2.typ @@ -124,7 +124,7 @@ wire.wire( "wExtender-ImmSrc", ( "Extender.north", - (18, -2) + (18, -2, 0) ), style: "zigzag", zigzag-ratio: 0%, @@ -145,8 +145,8 @@ ) wire.wire( "wBus", ( - (v => (v.at(0), -3.5), mid), - (horizontal: (), vertical: (0, 3.5)), + (v => (v.at(0), -3.5, 0), mid), + (horizontal: (), vertical: (0, 3.5, 0)), ), bus: true ) diff --git a/gallery/test3.typ b/gallery/test3.typ index 89db692..420fb90 100644 --- a/gallery/test3.typ +++ b/gallery/test3.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "../src/lib.typ": circuit, element, util, wire #set page(width: auto, height: auto, margin: .5cm) diff --git a/gallery/test4.typ b/gallery/test4.typ index 08f8d00..353a490 100644 --- a/gallery/test4.typ +++ b/gallery/test4.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "../src/lib.typ": * #set page(width: auto, height: auto, margin: .5cm) diff --git a/gallery/test5.typ b/gallery/test5.typ index ebf6e77..a653ce5 100644 --- a/gallery/test5.typ +++ b/gallery/test5.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "../src/lib.typ": * #set page(width: auto, height: auto, margin: .5cm) diff --git a/gallery/test6.typ b/gallery/test6.typ index ba76c94..d8cb273 100644 --- a/gallery/test6.typ +++ b/gallery/test6.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw, vector +#import "@preview/cetz:0.5.2": draw, vector #import "../src/lib.typ": * #set page(width: auto, height: auto, margin: .5cm) diff --git a/manual.typ b/manual.typ index 7a327d6..2b2a04b 100644 --- a/manual.typ +++ b/manual.typ @@ -1,5 +1,5 @@ #import "@preview/tidy:0.4.1" -#import "@preview/cetz:0.3.2": draw, canvas +#import "@preview/cetz:0.5.2": draw, canvas #import "src/lib.typ" #import "doc/examples.typ" #import "src/circuit.typ": circuit diff --git a/mise.toml b/mise.toml new file mode 100644 index 0000000..ac33d5e --- /dev/null +++ b/mise.toml @@ -0,0 +1,2 @@ +[tools] +typst = "0.15.0" diff --git a/src/circuit.typ b/src/circuit.typ index 7a701c7..e68e823 100644 --- a/src/circuit.typ +++ b/src/circuit.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": canvas +#import "@preview/cetz:0.5.2": canvas #import "@preview/tidy:0.3.0" /// Draws a block circuit diagram diff --git a/src/elements/alu.typ b/src/elements/alu.typ index 9a8cb82..9d25729 100644 --- a/src/elements/alu.typ +++ b/src/elements/alu.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "element.typ" #import "ports.typ": add-port diff --git a/src/elements/block.typ b/src/elements/block.typ index 84623fe..854b4bc 100644 --- a/src/elements/block.typ +++ b/src/elements/block.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "element.typ" #let draw-shape(id, tl, tr, br, bl, fill, stroke) = { diff --git a/src/elements/element.typ b/src/elements/element.typ index 635fc0b..ea05215 100644 --- a/src/elements/element.typ +++ b/src/elements/element.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw, coordinate +#import "@preview/cetz:0.5.2": draw, coordinate #import "ports.typ": add-ports, add-port #import "../util.typ" @@ -76,7 +76,7 @@ if (type(x) == dictionary) { let offset = x.rel let to = x.to - let (ctx, to-pos) = coordinate.resolve(ctx, (rel: (offset, 0), to: to)) + let (ctx, to-pos) = coordinate.resolve(ctx, (rel: (offset, 0, 0), to: to)) x = to-pos.at(0) } diff --git a/src/elements/extender.typ b/src/elements/extender.typ index a1b99e0..738a111 100644 --- a/src/elements/extender.typ +++ b/src/elements/extender.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "element.typ" #import "ports.typ": add-port diff --git a/src/elements/group.typ b/src/elements/group.typ index 1f3e41c..a065266 100644 --- a/src/elements/group.typ +++ b/src/elements/group.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw, coordinate +#import "@preview/cetz:0.5.2": draw, coordinate #import "../util.typ" /// Draws a group of elements diff --git a/src/elements/logic/and.typ b/src/elements/logic/and.typ index f32eb21..b2e093d 100644 --- a/src/elements/logic/and.typ +++ b/src/elements/logic/and.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "gate.typ" #let draw-shape(id, tl, tr, br, bl, fill, stroke) = { diff --git a/src/elements/logic/buf.typ b/src/elements/logic/buf.typ index 3db75a9..70a6911 100644 --- a/src/elements/logic/buf.typ +++ b/src/elements/logic/buf.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "gate.typ" #let draw-shape(id, tl, tr, br, bl, fill, stroke) = { diff --git a/src/elements/logic/gate.typ b/src/elements/logic/gate.typ index 7350a70..6af65d3 100644 --- a/src/elements/logic/gate.typ +++ b/src/elements/logic/gate.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw, coordinate +#import "@preview/cetz:0.5.2": draw, coordinate #import "../ports.typ": add-ports, add-port #import "../element.typ" @@ -51,7 +51,7 @@ if (type(x) == dictionary) { let offset = x.rel let to = x.to - let (ctx, to-pos) = coordinate.resolve(ctx, (rel: (offset, 0), to: to)) + let (ctx, to-pos) = coordinate.resolve(ctx, (rel: (offset, 0, 0), to: to)) x = to-pos.at(0) } diff --git a/src/elements/logic/or.typ b/src/elements/logic/or.typ index dca0f9b..30407e6 100644 --- a/src/elements/logic/or.typ +++ b/src/elements/logic/or.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "gate.typ" #let draw-shape(id, tl, tr, br, bl, fill, stroke) = { diff --git a/src/elements/logic/xor.typ b/src/elements/logic/xor.typ index 3f226a8..16fb36f 100644 --- a/src/elements/logic/xor.typ +++ b/src/elements/logic/xor.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "gate.typ" #let space = 10% diff --git a/src/elements/multiplexer.typ b/src/elements/multiplexer.typ index d7c29eb..492f49b 100644 --- a/src/elements/multiplexer.typ +++ b/src/elements/multiplexer.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "../util.typ" #import "element.typ" #import "ports.typ": add-port diff --git a/src/elements/ports.typ b/src/elements/ports.typ index 951fa4a..494fc59 100644 --- a/src/elements/ports.typ +++ b/src/elements/ports.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw +#import "@preview/cetz:0.5.2": draw #import "../util.typ": rotate-anchor #let add-port( diff --git a/src/wire.typ b/src/wire.typ index 8300a2c..ed41064 100644 --- a/src/wire.typ +++ b/src/wire.typ @@ -1,4 +1,4 @@ -#import "@preview/cetz:0.3.2": draw, coordinate +#import "@preview/cetz:0.5.2": draw, coordinate #import "util.typ": opposite-anchor /// List of valid wire styles @@ -68,8 +68,8 @@ let (ctx, p0) = coordinate.resolve(ctx, start) let (ctx, p3) = coordinate.resolve(ctx, end) - p0 = (x: p0.first(), y: p0.last()) - p3 = (x: p3.first(), y: p3.last()) + p0 = (x: p0.at(0), y: p0.at(1)) + p3 = (x: p3.at(0), y: p3.at(1)) let dx1 = margin-start let dx2 = margin-end @@ -86,13 +86,13 @@ if side-end == "east" { dx2 *= -1 } - p1 = (p0.x + dx1, p0.y) - p2 = (p3.x - dx2, p0.y) + p1 = (p0.x + dx1, p0.y, 0) + p2 = (p3.x - dx2, p0.y, 0) let points = ( start, (horizontal: p1, vertical: ()), - (horizontal: (), vertical: (0, dodge-y)), + (horizontal: (), vertical: (0, dodge-y, 0)), (horizontal: p2, vertical: ()), (horizontal: (), vertical: end), end