From d98ef5717e3be98f355ba54eda9256e8969d0651 Mon Sep 17 00:00:00 2001 From: Azgaar Date: Sat, 15 Feb 2025 14:43:51 +0100 Subject: [PATCH] perf: set text-rendering to optimizeSpeed, v1.108.1 --- index.html | 24 ++++++++++++------------ main.js | 5 ++++- modules/dynamic/editors/states-editor.js | 1 + modules/renderers/draw-burg-labels.js | 2 ++ modules/renderers/draw-military.js | 9 ++++++++- modules/renderers/draw-scalebar.js | 2 ++ modules/renderers/draw-state-labels.js | 1 + modules/ui/editors.js | 5 ++++- modules/ui/layers.js | 1 + modules/ui/provinces-editor.js | 1 + modules/ui/regiment-editor.js | 1 + modules/ui/tools.js | 2 ++ versioning.js | 2 +- 13 files changed, 40 insertions(+), 16 deletions(-) diff --git a/index.html b/index.html index bffa0d29..460801b8 100644 --- a/index.html +++ b/index.html @@ -11,8 +11,8 @@ name="description" content="Free web app that helps fantasy writers, game masters, and cartographers create and edit fantasy maps" /> - + - + @@ -8108,20 +8108,20 @@ - + - + - - + + - + @@ -8148,7 +8148,7 @@ - + @@ -8168,12 +8168,12 @@ - + - - - + + + diff --git a/main.js b/main.js index a38d96c1..848ff3c5 100644 --- a/main.js +++ b/main.js @@ -1067,7 +1067,7 @@ function generatePrecipitation() { const from = west[0][0], to = west[west.length - 1][0]; const y = (grid.points[from][1] + grid.points[to][1]) / 2; - wind.append("text").attr("x", 20).attr("y", y).text("\u21C9"); + wind.append("text").attr("text-rendering", "optimizeSpeed").attr("x", 20).attr("y", y).text("\u21C9"); } } if (easterly.length > 1) { @@ -1078,6 +1078,7 @@ function generatePrecipitation() { const y = (grid.points[from][1] + grid.points[to][1]) / 2; wind .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("x", graphWidth - 52) .attr("y", y) .text("\u21C7"); @@ -1088,12 +1089,14 @@ function generatePrecipitation() { if (northerly) wind .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("x", graphWidth / 2) .attr("y", 42) .text("\u21CA"); if (southerly) wind .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("x", graphWidth / 2) .attr("y", graphHeight - 20) .text("\u21C8"); diff --git a/modules/dynamic/editors/states-editor.js b/modules/dynamic/editors/states-editor.js index 81836f31..4160fb4b 100644 --- a/modules/dynamic/editors/states-editor.js +++ b/modules/dynamic/editors/states-editor.js @@ -743,6 +743,7 @@ function showStatesChart() { node .append("text") + .attr("text-rendering", "optimizeSpeed") .style("font-size", d => rn((d.r ** 0.97 * 4) / lp(d.data.name), 2) + "px") .selectAll("tspan") .data(d => d.data.name.split(exp)) diff --git a/modules/renderers/draw-burg-labels.js b/modules/renderers/draw-burg-labels.js index d887b9ca..69c3956b 100644 --- a/modules/renderers/draw-burg-labels.js +++ b/modules/renderers/draw-burg-labels.js @@ -13,6 +13,7 @@ function drawBurgLabels() { .data(capitals) .enter() .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("id", d => "burgLabel" + d.i) .attr("data-id", d => d.i) .attr("x", d => d.x) @@ -28,6 +29,7 @@ function drawBurgLabels() { .data(towns) .enter() .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("id", d => "burgLabel" + d.i) .attr("data-id", d => d.i) .attr("x", d => d.x) diff --git a/modules/renderers/draw-military.js b/modules/renderers/draw-military.js index 96ed52e4..5e85bd4f 100644 --- a/modules/renderers/draw-military.js +++ b/modules/renderers/draw-military.js @@ -43,6 +43,7 @@ const drawRegiments = function (regiments, s) { g.append("text") .attr("x", d => d.x) .attr("y", d => d.y) + .attr("text-rendering", "optimizeSpeed") .text(d => Military.getTotal(d)); g.append("rect") .attr("fill", "currentColor") @@ -52,6 +53,7 @@ const drawRegiments = function (regiments, s) { .attr("height", h); g.append("text") .attr("class", "regimentIcon") + .attr("text-rendering", "optimizeSpeed") .attr("x", d => x(d) - size) .attr("y", d => d.y) .text(d => (d.icon.startsWith("http") ? "" : d.icon)); @@ -91,7 +93,11 @@ const drawRegiment = function (reg, stateId) { .attr("transform", `rotate(${reg.angle || 0})`) .attr("transform-origin", `${reg.x}px ${reg.y}px`); g.append("rect").attr("x", x1).attr("y", y1).attr("width", w).attr("height", h); - g.append("text").attr("x", reg.x).attr("y", reg.y).text(Military.getTotal(reg)); + g.append("text") + .attr("x", reg.x) + .attr("y", reg.y) + .attr("text-rendering", "optimizeSpeed") + .text(Military.getTotal(reg)); g.append("rect") .attr("fill", "currentColor") .attr("x", x1 - h) @@ -100,6 +106,7 @@ const drawRegiment = function (reg, stateId) { .attr("height", h); g.append("text") .attr("class", "regimentIcon") + .attr("text-rendering", "optimizeSpeed") .attr("x", x1 - size) .attr("y", reg.y) .text(reg.icon.startsWith("http") ? "" : reg.icon); diff --git a/modules/renderers/draw-scalebar.js b/modules/renderers/draw-scalebar.js index 1eb25da2..b318f0be 100644 --- a/modules/renderers/draw-scalebar.js +++ b/modules/renderers/draw-scalebar.js @@ -43,6 +43,7 @@ function drawScaleBar(scaleBar, scaleLevel) { .data(d3.range(0, 6)) .enter() .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("x", d => rn((d * length) / 5, 2)) .attr("y", 0) .attr("dy", "-.6em") @@ -52,6 +53,7 @@ function drawScaleBar(scaleBar, scaleLevel) { if (label) { texts .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("x", (length + 1) / 2) .attr("dy", ".6em") .attr("dominant-baseline", "text-before-edge") diff --git a/modules/renderers/draw-state-labels.js b/modules/renderers/draw-state-labels.js index d30d185c..9586a9c1 100644 --- a/modules/renderers/draw-state-labels.js +++ b/modules/renderers/draw-state-labels.js @@ -106,6 +106,7 @@ function drawStateLabels(list) { const textElement = textGroup .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("id", "stateLabel" + stateId) .append("textPath") .attr("startOffset", "50%") diff --git a/modules/ui/editors.js b/modules/ui/editors.js index c11166c6..30e4a763 100644 --- a/modules/ui/editors.js +++ b/modules/ui/editors.js @@ -179,6 +179,7 @@ function addBurg(point) { burgLabels .select("#towns") .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("id", "burgLabel" + i) .attr("data-id", i) .attr("x", x) @@ -464,6 +465,7 @@ function drawLegend(name, data) { labels .append("text") + .attr("text-rendering", "optimizeSpeed") .text(data[i][2]) .attr("x", offset + colorBoxSize * 1.6) .attr("y", fontSize / 1.6 + lineHeight + l * lineHeight + vOffset); @@ -474,6 +476,7 @@ function drawLegend(name, data) { const offset = colOffset + legend.node().getBBox().width / 2; labels .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("text-anchor", "middle") .attr("font-weight", "bold") .attr("font-size", "1.2em") @@ -1290,7 +1293,7 @@ function refreshAllEditors() { // dynamically loaded editors async function editStates() { if (customization) return; - const Editor = await import("../dynamic/editors/states-editor.js?v=1.106.1"); + const Editor = await import("../dynamic/editors/states-editor.js?v=1.108.1"); Editor.open(); } diff --git a/modules/ui/layers.js b/modules/ui/layers.js index 1591a778..ac9f37ab 100644 --- a/modules/ui/layers.js +++ b/modules/ui/layers.js @@ -723,6 +723,7 @@ function drawCoordinates() { .data(data) .enter() .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("x", d => d.x) .attr("y", d => d.y) .text(d => d.text); diff --git a/modules/ui/provinces-editor.js b/modules/ui/provinces-editor.js index c41acf6a..69707b95 100644 --- a/modules/ui/provinces-editor.js +++ b/modules/ui/provinces-editor.js @@ -706,6 +706,7 @@ function editProvinces() { node .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("dx", ".2em") .attr("dy", "1em") .attr("x", d => d.x0) diff --git a/modules/ui/regiment-editor.js b/modules/ui/regiment-editor.js index 6a677923..d1b90c18 100644 --- a/modules/ui/regiment-editor.js +++ b/modules/ui/regiment-editor.js @@ -309,6 +309,7 @@ function editRegiment(selector) { .on("end", () => new Battle(attacker, defender)); svg .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("x", window.innerWidth / 2) .attr("y", window.innerHeight / 2) .text("⚔️") diff --git a/modules/ui/tools.js b/modules/ui/tools.js index 359842ad..b2d9681c 100644 --- a/modules/ui/tools.js +++ b/modules/ui/tools.js @@ -618,8 +618,10 @@ function addLabelOnClick() { group.classed("hidden", false); group .append("text") + .attr("text-rendering", "optimizeSpeed") .attr("id", id) .append("textPath") + .attr("text-rendering", "optimizeSpeed") .attr("xlink:href", "#textPath_" + id) .attr("startOffset", "50%") .attr("font-size", "100%") diff --git a/versioning.js b/versioning.js index 8de59ae4..4e289fac 100644 --- a/versioning.js +++ b/versioning.js @@ -13,7 +13,7 @@ * Example: 1.102.2 -> Major version 1, Minor version 102, Patch version 2 */ -const VERSION = "1.108.0"; +const VERSION = "1.108.1"; if (parseMapVersion(VERSION) !== VERSION) alert("versioning.js: Invalid format or parsing function"); {