badge-maker: replace anafanafo with pretext for measurement#11748
badge-maker: replace anafanafo with pretext for measurement#11748LitoMore wants to merge 1 commit intobadges:masterfrom
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
4a0378e to
3c25b34
Compare
4d9eb61 to
0c49f70
Compare
0c49f70 to
2d6b981
Compare
|
I took a first look, and since this touches a core component, we want to be really intentional with how we proceed. How I see this trade-off
Performance Considerations Potential Paths Forward
I’m less of an expert on the design/UI side so I may have some bias here into the performance side, that's why i would like to see if you think that this change is a good trade-off. @PyvesB @LitoMore — would love to get your perspectives on the performance vs. accuracy balance here. |
|
regarding grafana data, we are a bit quicker then i was thinking let me know your thoughts. |
|
Thanks for the detailed analysis, LitoMore! The performance hit is unfortunate, but it's pretty negligeable considering the total rendering time of a badge, and could be offset by the other benefits. I'm a little more worried about maintainability. anafanafo is simple, it never requires updating, and if ever we needed to change stuff we'd arguably be in control, assuming we can reach out to Paul to get the ball rolling quickly. On the other hand, pretext and transitive canvas are more complex. In particular, the native canvas stuff underneath the hood feels like the kind of stuff that could be brittle and block upgrades on our side; I'm seeing many issues along the lines of "segfault, regression, crash on Node xx" in the repo. Perhaps only a benign part of that transitive dependency would be leveraged, I don't know how much we'd be exposed. |
Resolves #9728
I've generated
compare.htmlandperformance.htmlfiles in the project root that introduce its comparison and performance. I will remove these temporary files before merging.There is a new workflow step for downloading fonts because
pretextneeds it for calculating, but the Verdana font license does not allow us to commit the font file to the repository. Here are some of my thoughts: