Commit graph

100 commits

Author SHA1 Message Date
Anmol Sethi
09dc9fd12f
Merge remote-tracking branch 'upstream/master' into scenarios-a407 2023-02-02 10:33:31 -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
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
Gavin Nishizawa
54f34d72ad
extend previous segment to target if last segment is very short 2023-01-12 11:23:23 -08:00
Bernard Xie
80892f9ff9
Merge pull request #601 from berniexie/540/fit-to-screen-fix
export: add fit to screen mode to exported svg
2023-01-03 17:42:01 -08:00
Bernard Xie
35c1a1633f
add script to tests 2023-01-03 16:42:39 -08:00
Anmol Sethi
296b6407e9
lib/version/version.go: Update 2023-01-03 14:13:29 -08:00
Alexander Wang
2f545e3f61
tables 2022-12-22 11:06:57 -08:00
Alexander Wang
9812ea54fb
test 2022-12-22 00:46:46 -08:00
Alexander Wang
39cc074757
cleanup 2022-12-22 00:45:32 -08:00
Alexander Wang
4ccaf4a578
ok 2022-12-21 23:57:56 -08:00
Alexander Wang
3a9a784342
wip 2022-12-21 23:13:52 -08:00
Alexander Wang
07fb1a3d86
implement sketch 2022-12-21 20:55:27 -08:00
Anmol Sethi
e79c840ef8
v0.1.2 2022-12-18 22:46:59 -08:00
Alexander Wang
b3a47c845a
bump upscale factor 2022-12-18 20:25:29 -08:00
Bernard Xie
abb86e1c53
increase png export quality by 1.5 2022-12-14 10:35:15 -08:00
Alexander Wang
8b32b0965b
make compression dict determinstic 2022-12-10 16:38:02 -08:00
Anmol Sethi
d89354a8cf
lib/version: Update whoops 2022-12-08 03:03:05 -08:00
Anmol Sethi
b72959a91f
fmt 2022-12-07 23:22:20 -08:00
Anmol Sethi
22e0ed0f9f
v0.1.0 2022-12-06 09:22:51 -08:00
Júlio César Batista
15f83d3b03
Fix page inner size 2022-12-05 19:39:09 -08:00
Júlio César Batista
2cc9405a25
Change inner path base height to 79 2022-12-05 19:16:45 -08:00
Júlio César Batista
3db0afd9c7
Change inner path base width to 66 2022-12-05 19:05:35 -08:00
Júlio César Batista
58cd8d6922
Fix page outer path 2022-12-05 18:52:08 -08:00
Anmol Sethi
d116889fc9
Switch fully to util-go 2022-12-01 11:48:49 -08:00
Anmol Sethi
07e316fac5
xmain: rm -rf 2022-12-01 11:48:49 -08:00
Anmol Sethi
820226c72b
lib/xexec: rm -rf 2022-12-01 11:48:49 -08:00
Anmol Sethi
6139c35af2
watch: Move xbrowser to util-go and fix
Closes #175
Closes #205
2022-12-01 11:48:49 -08:00
Anmol Sethi
a05ba67a36
go2: rm -rf 2022-12-01 10:49:15 -08:00
Anmol Sethi
dd4a7bc2df
lib/diff: Delete in favour of util-go 2022-12-01 10:23:48 -08:00
Anmol Sethi
207a445766
Merge pull request #309 from nhooyr/urlenc-a461
compress -> urlenc
2022-12-01 10:15:52 -08:00
Anmol Sethi
712217050b
compress -> urlenc
And associated cleanup.

Blocked until oss.terrastruct.com/util-go is importable.
2022-12-01 10:06:28 -08:00
Anmol Sethi
2df2c781e9
lib/xmain: Print usage info in separate log 2022-12-01 09:24:48 -08:00
Anmol Sethi
c4ef432daf
Move textmeasure into lib
It's not a d2renderer.
2022-12-01 06:51:17 -08:00
Anmol Sethi
4cfd7c9c03
Update cmdlog 2022-12-01 00:44:59 -08:00
Anmol Sethi
63d5a66962
lib/version: Update to include some version context 2022-11-30 15:50:53 -08:00
Anmol Sethi
e3060f6aca
lib/version: Set to HEAD when building from source instead of ????
More clear. See https://github.com/terrastruct/d2/issues/202
2022-11-30 15:38:40 -08:00
Anmol Sethi
1d2ea2bb87
imgbundler: Use time.Ticker instead 2022-11-30 14:58:52 -08:00
Anmol Sethi
e3104688a6
pr278: Review fixes 2022-11-30 14:58:52 -08:00
Anmol Sethi
fd0eba997d
imgbundler: Split bundle into three functions 2022-11-30 14:58:52 -08:00
Anmol Sethi
b8b269db0c
imgbundler: Improve mime type detection
The order of priority in detecting the mime type is now:
- Content-Type response header
- File path extension
- http.DetectContentType
2022-11-30 14:58:52 -08:00
Anmol Sethi
0edf30a6cd
imgbundler: Fixes
- Make bundle flag work
- Display error and update render at the same time in watch mode.
  Before we would just display the render and not show the error.

- Rename imgbundler.InlineX functions to BundleX
- Print imgbundler fetch/readFile errors as they happen in the workers
  instead of coalescing and printing at the end.
- Minor performance improvements by using []byte everywhere possible.
- Improved symbol naming in imgbundler code
- **major**: Ignore already bundled images instead of trying to os.ReadFile them.
2022-11-30 14:58:52 -08:00
Anmol Sethi
f8418f3a2c
xmain: Return usage errors automatically from opts 2022-11-30 14:58:52 -08:00
Alexander Wang
7cbcd88f9c
2022-11-29 05:01:15PM 2022-11-29 17:01:15 -08:00
Alexander Wang
a295af23e0
2022-11-29 04:38:26PM 2022-11-29 16:38:26 -08:00
Alexander Wang
66b6c7de56
2022-11-29 02:20:17PM 2022-11-29 14:20:17 -08:00