14 Commits
31 changed files with 27 additions and 20 deletions
+7 -7
View File
@@ -3,7 +3,7 @@
Circuiteria is a [Typst](https://typst.app) package for drawing block circuit diagrams using the [CeTZ](https://typst.app/universe/package/cetz) package. Circuiteria is a [Typst](https://typst.app) package for drawing block circuit diagrams using the [CeTZ](https://typst.app/universe/package/cetz) package.
<p align="center"> <p align="center">
<img src="./gallery/platypus.png" alt="Perry the platypus"> <img src="./gallery/platypus.png" alt="A platypus / Perry the Platypus meme made with colored rounded rectangles">
</p> </p>
## Examples ## Examples
@@ -11,17 +11,17 @@ Circuiteria is a [Typst](https://typst.app) package for drawing block circuit di
<tr> <tr>
<td colspan="2"> <td colspan="2">
<a href="./gallery/test.typ"> <a href="./gallery/test.typ">
<img src="./gallery/test.png" width="500px"> <img src="./gallery/test.png" width="500px" alt="Block diagram of a multi-cycle RISC-V FPGA processor">
</a> </a>
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2">A bit of eveything</td> <td colspan="2">A bit of everything</td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<a href="./gallery/test5.typ"> <a href="./gallery/test5.typ">
<img src="./gallery/test5.png" width="500px"> <img src="./gallery/test5.png" width="500px" alt="Block diagram of a single-cycle RISC-V processor">
</a> </a>
</td> </td>
</tr> </tr>
@@ -31,12 +31,12 @@ Circuiteria is a [Typst](https://typst.app) package for drawing block circuit di
<tr> <tr>
<td> <td>
<a href="./gallery/test4.typ"> <a href="./gallery/test4.typ">
<img src="./gallery/test4.png" width="250px"> <img src="./gallery/test4.png" width="250px" alt="Top-level block diagram of a single-cycle RISC-V processor">
</a> </a>
</td> </td>
<td> <td>
<a href="./gallery/test6.typ"> <a href="./gallery/test6.typ">
<img src="./gallery/test6.png" width="250px"> <img src="./gallery/test6.png" width="250px" alt="Block diagram of a simple single-cycle RISC-V ALU">
</a> </a>
</td> </td>
</tr> </tr>
@@ -56,7 +56,7 @@ For more information, see the [manual](manual.pdf)
To use this package, simply import [circuiteria](https://typst.app/universe/package/circuiteria) and call the `circuit` function: To use this package, simply import [circuiteria](https://typst.app/universe/package/circuiteria) and call the `circuit` function:
```typ ```typ
#import "@preview/circuiteria:0.2.0" #import "@preview/circuiteria:0.2.1"
#circuiteria.circuit({ #circuiteria.circuit({
import circuiteria: * import circuiteria: *
... ...
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

+1 -1
View File
@@ -1,4 +1,4 @@
#import "../src/lib.typ": * #import "@preview/circuiteria:0.2.1": *
#set page(width: auto, height: auto, margin: .5cm) #set page(width: auto, height: auto, margin: .5cm)
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 160 KiB

+1 -1
View File
@@ -1,4 +1,4 @@
#import "../src/lib.typ": circuit, element, util, wire #import "@preview/circuiteria:0.2.1": circuit, element, util, wire
#set page(width: auto, height: auto, margin: .5cm) #set page(width: auto, height: auto, margin: .5cm)
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 160 KiB

+1 -1
View File
@@ -1,4 +1,4 @@
#import "../src/lib.typ": circuit, element, util, wire #import "@preview/circuiteria:0.2.1": circuit, element, util, wire
#set page(width: auto, height: auto, margin: .5cm) #set page(width: auto, height: auto, margin: .5cm)
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

+1 -1
View File
@@ -1,4 +1,4 @@
#import "../src/lib.typ": circuit, element, util, wire #import "@preview/circuiteria:0.2.1": circuit, element, util, wire
#set page(width: auto, height: auto, margin: .5cm) #set page(width: auto, height: auto, margin: .5cm)
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 195 KiB

+1 -1
View File
@@ -1,5 +1,5 @@
#import "/src/cetz.typ": draw #import "/src/cetz.typ": draw
#import "../src/lib.typ": * #import "@preview/circuiteria:0.2.1": *
#set page(width: auto, height: auto, margin: .5cm) #set page(width: auto, height: auto, margin: .5cm)
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 274 KiB

+1 -1
View File
@@ -1,5 +1,5 @@
#import "/src/cetz.typ": draw #import "/src/cetz.typ": draw
#import "../src/lib.typ": * #import "@preview/circuiteria:0.2.1": *
#set page(width: auto, height: auto, margin: .5cm) #set page(width: auto, height: auto, margin: .5cm)
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

+1 -1
View File
@@ -1,5 +1,5 @@
#import "/src/cetz.typ": draw #import "/src/cetz.typ": draw
#import "../src/lib.typ": * #import "@preview/circuiteria:0.2.1": *
#set page(width: auto, height: auto, margin: .5cm) #set page(width: auto, height: auto, margin: .5cm)
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 40 KiB

+1 -1
View File
@@ -1,4 +1,4 @@
#import "../src/lib.typ": circuit, element, util, wire #import "@preview/circuiteria:0.2.1": circuit, element, util, wire
#set page(width: auto, height: auto, margin: .5cm) #set page(width: auto, height: auto, margin: .5cm)
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -105,7 +105,7 @@ This package provides a way to make beautiful block circuit diagrams using the C
Simply import Circuiteria and call the `circuit` function: Simply import Circuiteria and call the `circuit` function:
#pad(left: 1em)[```typ #pad(left: 1em)[```typ
#import "@preview/circuiteria:0.2.0" #import "@preview/circuiteria:0.2.1"
#circuiteria.circuit({ #circuiteria.circuit({
import circuiteria: * import circuiteria: *
... ...
+2 -1
View File
@@ -16,7 +16,8 @@
/// Draws a block element /// Draws a block element
/// ///
/// #examples.block /// #examples.block
/// For parameters description, see #doc-ref("element.elmt") /// For other parameters description, see #doc-ref("element.elmt")
/// - radius (number, length, ratio, dictionary): The corner radius of the block. See CeTZ documentation for more information
#let block( #let block(
x: none, x: none,
y: none, y: none,
+6
View File
@@ -63,6 +63,12 @@
if to == "out" { if to == "out" {
dy = height / 2 dy = height / 2
} else { } else {
let all-ports = range(inputs).map(i => "in" + str(i))
let i = all-ports.position(p => p == to)
assert(
i != none,
message: "Unknown port '" + y.to + "' must be one of " + repr(all-ports)
)
dy = height * (i + 0.5) / inputs dy = height * (i + 0.5) / inputs
} }
+1 -1
View File
@@ -1,4 +1,4 @@
#let version = version(0, 2, 0) #let version = version(0, 2, 1)
#let name = "circuiteria" #let name = "circuiteria"
#import "circuit.typ": circuit #import "circuit.typ": circuit
+2 -2
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "circuiteria" name = "circuiteria"
version = "0.2.0" version = "0.2.1"
compiler = "0.13.1" compiler = "0.13.1"
repository = "https://git.kb28.ch/HEL/circuiteria" repository = "https://git.kb28.ch/HEL/circuiteria"
entrypoint = "src/lib.typ" entrypoint = "src/lib.typ"
@@ -9,6 +9,6 @@ authors = [
] ]
categories = [ "visualization" ] categories = [ "visualization" ]
license = "Apache-2.0" license = "Apache-2.0"
description = "Drawing block circuits with Typst made easy, using CeTZ" description = "Drawing block circuits made easy, using CeTZ"
keywords = [ "circuit", "block", "draw" ] keywords = [ "circuit", "block", "draw" ]
exclude = [ "gallery", "justfile", "doc" ] exclude = [ "gallery", "justfile", "doc" ]