diff --git a/index.html b/index.html
index c55262b1..7c80092a 100644
--- a/index.html
+++ b/index.html
@@ -140,7 +140,12 @@
-
+
-
Temperature:
-
, like in
-
-
+
@@ -8103,7 +8112,7 @@
-
+
@@ -8140,7 +8149,7 @@
-
+
@@ -8151,8 +8160,8 @@
-
+
diff --git a/libs/jquery-ui.css b/libs/jquery-ui.css
index 36d437d5..ad11d1a6 100644
--- a/libs/jquery-ui.css
+++ b/libs/jquery-ui.css
@@ -314,30 +314,44 @@ body .ui-dialog {
}
.ui-dialog .ui-dialog-titlebar {
display: flex;
- padding: 0.4em 0.3em;
- justify-content: space-evenly;
+ padding: 0.3em 0.8em;
+ justify-content: space-between;
+ align-items: center;
font-size: 1.2em;
min-width: 150px;
}
.ui-dialog .ui-dialog-title {
- float: left;
- margin: 0.1em 0;
white-space: nowrap;
- width: 90%;
+ width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar button {
- padding: 0;
- width: 1.8em;
- height: 1.8em;
+ padding: 3px;
+ margin-left: 5px;
+ width: 19px;
+ height: 18px;
color: #ffffff;
background: none;
- font-size: 0.75em;
+ font-size: 0.8em;
border: 1px solid #c5c5c5;
}
+@media (max-width: 600px) {
+ .ui-dialog .ui-dialog-title {
+ font-size: 1.6em;
+ }
+
+ .ui-dialog .ui-dialog-titlebar button {
+ padding: 3px;
+ margin-left: 10px;
+ width: 40px;
+ height: 32px;
+ font-size: 1.6em;
+ }
+}
+
.ui-dialog .ui-dialog-titlebar button:active {
border: 1px solid #5d4651;
color: #5d4651;
diff --git a/modules/river-generator.js b/modules/river-generator.js
index 9e1f15eb..254e1af8 100644
--- a/modules/river-generator.js
+++ b/modules/river-generator.js
@@ -196,7 +196,7 @@ window.Rivers = (function () {
flux: discharge,
pointIndex: meanderedPoints.length,
widthFactor,
- sourceWidth
+ startingWidth: sourceWidth
})
);
@@ -387,13 +387,12 @@ window.Rivers = (function () {
const LENGTH_FACTOR = 200;
const LENGTH_STEP_WIDTH = 1 / LENGTH_FACTOR;
const LENGTH_PROGRESSION = [1, 1, 2, 3, 5, 8, 13, 21, 34].map(n => n / LENGTH_FACTOR);
- const MAX_PROGRESSION = last(LENGTH_PROGRESSION);
const getOffset = ({flux, pointIndex, widthFactor, startingWidth}) => {
if (pointIndex === 0) return startingWidth;
const fluxWidth = Math.min(flux ** 0.7 / FLUX_FACTOR, MAX_FLUX_WIDTH);
- const lengthWidth = pointIndex * LENGTH_STEP_WIDTH + (LENGTH_PROGRESSION[pointIndex] || MAX_PROGRESSION);
+ const lengthWidth = pointIndex * LENGTH_STEP_WIDTH + (LENGTH_PROGRESSION[pointIndex] || LENGTH_PROGRESSION.at(-1));
return widthFactor * (lengthWidth + fluxWidth) + startingWidth;
};
diff --git a/modules/ui/burg-editor.js b/modules/ui/burg-editor.js
index c6d507f8..20462fe3 100644
--- a/modules/ui/burg-editor.js
+++ b/modules/ui/burg-editor.js
@@ -78,7 +78,8 @@ function editBurg(id) {
const temperature = grid.cells.temp[pack.cells.g[b.cell]];
byId("burgTemperature").innerHTML = convertTemperature(temperature);
- byId("burgTemperatureLikeIn").innerHTML = getTemperatureLikeness(temperature);
+ byId("burgTemperatureLikeIn").dataset.tip =
+ "Average yearly temperature is like in " + getTemperatureLikeness(temperature);
byId("burgElevation").innerHTML = getHeight(pack.cells.h[b.cell]);
// toggle features
@@ -402,46 +403,47 @@ function editBurg(id) {
}
// in °C, array from -1 °C; source: https://en.wikipedia.org/wiki/List_of_cities_by_average_temperature
+const meanTempCityMap = {
+ "-5": "Snag (Yukon)",
+ "-4": "Yellowknife (Canada)",
+ "-3": "Okhotsk (Russia)",
+ "-2": "Fairbanks (Alaska)",
+ "-1": "Nuuk (Greenland)",
+ 0: "Murmansk (Russia)",
+ 1: "Arkhangelsk (Russia)",
+ 2: "Anchorage (Alaska)",
+ 3: "Tromsø (Norway)",
+ 4: "Reykjavik (Iceland)",
+ 5: "Harbin (China)",
+ 6: "Stockholm (Sweden)",
+ 7: "Montreal (Canada)",
+ 8: "Prague (Czechia)",
+ 9: "Copenhagen (Denmark)",
+ 10: "London (England)",
+ 11: "Antwerp (Belgium)",
+ 12: "Paris (France)",
+ 13: "Milan (Italy)",
+ 14: "Washington (D.C.)",
+ 15: "Rome (Italy)",
+ 16: "Dubrovnik (Croatia)",
+ 17: "Lisbon (Portugal)",
+ 18: "Barcelona (Spain)",
+ 19: "Marrakesh (Morocco)",
+ 20: "Alexandria (Egypt)",
+ 21: "Tegucigalpa (Honduras)",
+ 22: "Guangzhou (China)",
+ 23: "Rio de Janeiro (Brazil)",
+ 24: "Dakar (Senegal)",
+ 25: "Miami (USA)",
+ 26: "Jakarta (Indonesia)",
+ 27: "Mogadishu (Somalia)",
+ 28: "Bangkok (Thailand)",
+ 29: "Niamey (Niger)",
+ 30: "Khartoum (Sudan)"
+};
+
function getTemperatureLikeness(temperature) {
- if (temperature < -5) return "Yakutsk";
- const cities = [
- "Snag (Yukon)",
- "Yellowknife (Canada)",
- "Okhotsk (Russia)",
- "Fairbanks (Alaska)",
- "Nuuk (Greenland)",
- "Murmansk", // -5 - 0
- "Arkhangelsk",
- "Anchorage",
- "Tromsø",
- "Reykjavik",
- "Riga",
- "Stockholm",
- "Halifax",
- "Prague",
- "Copenhagen",
- "London", // 1 - 10
- "Antwerp",
- "Paris",
- "Milan",
- "Batumi",
- "Rome",
- "Dubrovnik",
- "Lisbon",
- "Barcelona",
- "Marrakesh",
- "Alexandria", // 11 - 20
- "Tegucigalpa",
- "Guangzhou",
- "Rio de Janeiro",
- "Dakar",
- "Miami",
- "Jakarta",
- "Mogadishu",
- "Bangkok",
- "Aden",
- "Khartoum"
- ]; // 21 - 30
- if (temperature > 30) return "Mecca";
- return cities[temperature + 5] || null;
+ if (temperature < -5) return "Yakutsk (Russia)";
+ if (temperature > 30) return "Mecca (Saudi Arabia)";
+ return meanTempCityMap[temperature] || null;
}
diff --git a/modules/ui/temperature-graph.js b/modules/ui/temperature-graph.js
index c025b700..4d4411f1 100644
--- a/modules/ui/temperature-graph.js
+++ b/modules/ui/temperature-graph.js
@@ -47,11 +47,13 @@ function showBurgTemperatureGraph(id) {
// Standard deviation for average temperature for the year from [0, 1] to [min, max]
const yearSig = lstOut[0] * 62.9466411977018 + 0.28613807855649165;
+
// Standard deviation for the difference between the minimum and maximum temperatures for the year
const yearDelTmpSig =
lstOut[1] * 13.541688670361175 + 0.1414213562373084 > yearSig
? yearSig
: lstOut[1] * 13.541688670361175 + 0.1414213562373084;
+
// Expected value for the difference between the minimum and maximum temperatures for the year
const yearDelTmpMu = lstOut[2] * 15.266666666666667 + 0.6416666666666663;
@@ -60,7 +62,7 @@ function showBurgTemperatureGraph(id) {
const minT = burgTemp - Math.max(yearSig + delT, 15);
const maxT = burgTemp + (burgTemp - minT);
- const chartWidth = Math.max(window.innerWidth / 2, 580);
+ const chartWidth = Math.max(window.innerWidth / 2, 520);
const chartHeight = 300;
// drawing starting point from top-left (y = 0) of SVG
@@ -107,9 +109,9 @@ function showBurgTemperatureGraph(id) {
});
drawGraph();
+
$("#alert").dialog({
- title: "Annual temperature in " + b.name,
- width: "auto",
+ title: "Average temperature in " + b.name,
position: {my: "center", at: "center", of: "svg"}
});