Commit graph

147 commits

Author SHA1 Message Date
Bernard Xie
29e76b77b8
Merge branch 'master' into support-diagram-fill-pdf 2023-02-27 14:11:07 -08:00
Bernard Xie
fb4eb36214
Add support 2023-02-27 14:10:59 -08:00
Alexander Wang
9cdfd20ff9
changelog 2023-02-27 12:58:21 -08:00
Alexander Wang
e5eacbd499
fix theme regex 2023-02-27 12:56:04 -08:00
Anmol Sethi
5c2a80330f
docker: Install playwright dependencies on arm64
Also changed our code to only install chromium.

Closes #835
2023-02-27 10:30:59 -08:00
Bernard Xie
9eaf77aa4b
Merge branch 'master' into 120/pdf-export 2023-02-24 13:48:15 -08:00
Alexander Wang
0fe1c6d0cf
fix color codes 2023-02-23 17:15:29 -08:00
Bernard Xie
ece87708d6
fix imports 2023-02-23 15:59:50 -08:00
Bernard Xie
9dca4d93f6
Fix fonts 2023-02-23 15:50:56 -08:00
Bernard Xie
f1f95ba818
Merge branch 'master' into 120/pdf-export 2023-02-23 12:55:58 -08:00
Bernard Xie
0d1c3c019d
Merge branch 'master' into 120/pdf-export 2023-02-21 14:26:18 -08:00
Vojtěch Fošnár
732f5c241f
bgColor and fgColor are now just constants 2023-02-19 15:54:17 +01:00
Vojtěch Fošnár
331cf95284
move ThemableElement and others to d2themes, smaller fixes 2023-02-19 13:00:01 +01:00
Vojtěch Fošnár
6a89beaeb1
merge updates 2023-02-19 12:32:44 +01:00
Bernard Xie
c561de4856
reset colors 2023-02-14 17:42:44 -08:00
Bernard Xie
890a7d8b2c
pdf exports 2023-02-14 17:28:42 -08:00
Alexander Wang
156c974241
unicode tests 2023-02-14 11:41:21 -08:00
Alexander Wang
9cb7e7f396
scale multi-width unicode 2023-02-14 11:40:49 -08:00
Gavin Nishizawa
4de1f76751
limit oval shape aspect ratio 2023-02-13 11:23:30 -08:00
Gavin Nishizawa
94bf92a28b
use per-axis padding 2023-02-10 16:19:19 -08:00
Gavin Nishizawa
93fa13ab0f
add FullShape to use shape's InnerBox for placement 2023-02-10 13:52:58 -08:00
Gavin Nishizawa
6b65665b61
fix GetInsidePlacement inconsistencies 2023-02-10 13:52:58 -08:00
Gavin Nishizawa
4bfb6af7e6
Merge branch 'master' into shape-specific-inner-boxes 2023-02-02 20:25:52 -08:00
Anmol Sethi
09dc9fd12f
Merge remote-tracking branch 'upstream/master' into scenarios-a407 2023-02-02 10:33:31 -08:00
Gavin Nishizawa
1b1cdaff15
Merge branch 'master' into shape-specific-inner-boxes 2023-02-01 10:31:46 -08:00
Gavin Nishizawa
57fa903fe6
also limit person AR with width/height attributes unless both are entered 2023-01-31 16:08:06 -08:00
Vojtěch Fošnár
01928a5032
review fixes 2023-01-30 12:06:54 +01:00
Vojtěch Fošnár
61bf09107a
Merge branch 'terrastruct:master' into master 2023-01-29 23:23:22 +01:00
Vojtěch Fošnár
462bd1e23d
resolve conflicts 2023-01-27 21:08:01 +01:00
Gavin Nishizawa
bd23d0758b
update hexagon inner box 2023-01-26 16:44:20 -08:00
Gavin Nishizawa
597bc319bf
update other chopPrecision 2023-01-26 16:44:20 -08:00
Gavin Nishizawa
fed4bd2b9f
ceil dimensions to fit 2023-01-26 16:44:20 -08:00
Gavin Nishizawa
e367a007e5
chopPrecision once at end 2023-01-26 16:44:20 -08:00
Gavin Nishizawa
f30fe2c2c4
round from float32 precision 2023-01-26 16:44:20 -08:00
Gavin Nishizawa
c12e71af15
update circle fitting 2023-01-26 16:44:19 -08:00
Gavin Nishizawa
cc8c7756ab
cleanup 2023-01-26 16:44:19 -08:00
Gavin Nishizawa
d5f2ed00d5
handle person shape aspect ratio 2023-01-26 16:44:19 -08:00
Gavin Nishizawa
b1beddc9e2
Adjust padding per shape 2023-01-26 16:44:19 -08:00
Gavin Nishizawa
6f26167beb
fix class dimensions 2023-01-26 16:44:19 -08:00
Gavin Nishizawa
0311a3f7d7
use paddingX and paddingY in GetDimensionsToFit 2023-01-26 16:44:19 -08:00
Gavin Nishizawa
b76d43536d
remove debugging code 2023-01-26 16:44:18 -08:00
Gavin Nishizawa
23097370e2
set up shape specific inner bounding boxes for labels 2023-01-26 16:43:36 -08:00
Kevin David
9ba1d85d21
d2graph: check that font family is entirely loaded before using it
I tested this by removing the changes I added in `d2fonts`, which led to:
```
[21:23:54] info: compiling GetUniqueColumnName-fix.d2...
[21:23:54] err: failed to compile: ruler does not have entire font family SourceCodePro loaded, is a style missing?
```

The error was also rendered in the UI.
2023-01-24 21:25:01 -05:00
Anmol Sethi
4b50748dd0
d2ir: Final PR imports
https://github.com/terrastruct/terrastruct-backend/pull/975/files#diff-1b00307a7a2bd1ffc68527a7df7c9c83327d8cd2dd00f4741ec6bd0b96605cd4
2023-01-24 02:56:31 -08:00
Kevin David
bd7e18395e
d2renderers: d2fonts: add bold + italic styles for Source Code Pro
👋 I've been playing around with changing the entire font of a diagram to something fixed-width, starting by hand-editing `main.go`

I noticed that if I switched over the family to Source Code Pro, d2 crashed with the following stack:

```
[23:38:30] info: compiling GetUniqueColumnName-fix.d2...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1c4 pc=0x16b562c]

goroutine 43 [running]:
github.com/golang/freetype/truetype.(*Font).Bounds(0xc000669670?, 0x0?)
        /Users/kevin/dev/go/pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/truetype/truetype.go:378 +0xc
github.com/golang/freetype/truetype.NewFace(0x0, 0xc0003276c0)
        /Users/kevin/dev/go/pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/truetype/face.go:199 +0x325
oss.terrastruct.com/d2/lib/textmeasure.(*Ruler).addFontSize(0xc00037c000, {{0x1bb9a34, 0xd}, {0x1b82732, 0x4}, 0x1f})
        /Users/kevin/dev/d2/lib/textmeasure/textmeasure.go:141 +0x112
oss.terrastruct.com/d2/lib/textmeasure.(*Ruler).MeasurePrecise(0xc00037c000, {{0x1bb9a34, 0xd}, {0x1b82732, 0x4}, 0x1f}, {0xc000582100, 0x1f})
        /Users/kevin/dev/d2/lib/textmeasure/textmeasure.go:157 +0xde
oss.terrastruct.com/d2/lib/textmeasure.(*Ruler).Measure(...)
        /Users/kevin/dev/d2/lib/textmeasure/textmeasure.go:151
oss.terrastruct.com/d2/d2graph.GetTextDimensions({0x0, 0x0, 0xc000657860?}, 0xc00037c000, 0xc000620280, 0xc000092020)
```

Which I tracked down to these missing styles, which appear to matter even if they aren't used.

I acquired the `ttf` files from https://fonts.google.com/specimen/Source+Code+Pro

I created the encoded fonts on my Mac with:
```
base64 -i SourceCodePro-Italic.ttf -o ../encoded/SourceCodePro-Italic.txt
```

Hopefully this is correct! Open to all feedback, especially since I think this is the first change I've ever made to a go program :)

Signed-off-by: Kevin David <kevin-david@github.com>
2023-01-23 00:35:19 -05:00
Gavin Nishizawa
1a07492517
update li measurement + h1 border-bottom 2023-01-15 23:31:06 -08:00
Vojtěch Fošnár
1e89c33cee
removed theming code from styling methods 2023-01-15 21:38:25 +01:00
Vojtěch Fošnár
66dc978418
resolved merge conflict 2023-01-15 21:36:43 +01:00
Alexander Wang
0314a74eab
unescape img hrefs 2023-01-14 14:20:08 -08:00
Gavin Nishizawa
224af99efd
add sketch versions of arrowheads 2023-01-13 18:13:28 -08:00