2 Commits
dev ... main

2 changed files with 3 additions and 31 deletions

View File

@@ -36,6 +36,6 @@ For more information, see the [manual](manual.pdf)
To use this package, simply import `schema` from [rivet](https://typst.app/universe/package/rivet) and call `schema.load` to parse a schema description. Then use `schema.render` to render it, et voilà ! To use this package, simply import `schema` from [rivet](https://typst.app/universe/package/rivet) and call `schema.load` to parse a schema description. Then use `schema.render` to render it, et voilà !
```typ ```typ
#import "@preview/rivet:0.3.0": schema #import "@preview/rivet:0.3.0": schema
#let doc = schema.load(yaml("path/to/schema.yaml")) #let doc = schema.load("path/to/schema.yaml")
#schema.render(doc) #schema.render(doc)
``` ```

View File

@@ -407,11 +407,6 @@
indices.push(r.start) indices.push(r.start)
indices.push(r.end) indices.push(r.end)
} }
// ensure first and last bits are included
if not indices.contains(0) { indices.insert(0, struct.start) }
if not indices.contains(struct.bits + struct.start - 1) {
indices.push(struct.bits + struct.start - 1)
}
} }
for i in range(struct.bits) { for i in range(struct.bits) {
@@ -458,9 +453,8 @@
let desc-y = bits-y + bit-h * 2 let desc-y = bits-y + bit-h * 2
// Names + simple descriptions // Names + simple descriptions
for (i, range_) in ranges.enumerate() { for range_ in ranges {
let start-i = to-real-i(if config.ltr-bits {range_.start} else {range_.end}) let start-i = to-real-i(if config.ltr-bits {range_.start} else {range_.end})
let end-i = to-real-i(if config.ltr-bits {range_.end} else {range_.start})
let start-x = bits-x + start-i * bit-w let start-x = bits-x + start-i * bit-w
let width = rng.bits(range_) * bit-w let width = rng.bits(range_) * bit-w
@@ -471,28 +465,6 @@
shapes += draw-line(border-col, (line-x, bits-y), (line-x, bits-y + bit-h)) shapes += draw-line(border-col, (line-x, bits-y), (line-x, bits-y + bit-h))
shapes += draw-text(range_.name, txt-col, name-x, name-y, fill: bg-col) shapes += draw-text(range_.name, txt-col, name-x, name-y, fill: bg-col)
// paint end line only if needed
if (
start-i != 0
and end-i != struct.bits - 1
and ranges
.at(
i
+ {
if config.ltr-bits and i < ranges.len() - 1 { 1 } else { -1 }
},
)
.end
!= range_.start - 1
) {
line-x += if config.ltr-bits { -width } else { width }
shapes += draw-line(
border-col,
(line-x, bits-y),
(line-x, bits-y + bit-h),
)
}
if range_.description != "" { if range_.description != "" {
let shapes_ let shapes_
(shapes_, desc-x, desc-y) = draw-description( (shapes_, desc-x, desc-y) = draw-description(