feat(roadtrip): state a range as the car it comes from

A range could only be typed as one number, and that is the number fewest
travellers actually know. A tank size is on the filler flap, a consumption is in
the manual, a battery capacity and a kWh per hundred are on the data sheet. All
of them divide into the same figure, so the dialog now takes either and does the
division itself. What the parts say wins over what was typed, because it is the
more specific answer, and the range row goes read-only when they do so there is
never a second answer to the same question.

Of ABRP's list only battery wear is here. Plug type, reference speed, relative
speed and drive style shape a consumption PREDICTION; this addon does not
predict one, it divides a capacity by a consumption the traveller states, so
those fields would add typing without moving a kilometre. Wear is different in
kind: it shrinks the capacity itself, and on an older car by enough to decide
whether the last leg of a day arrives.

Storage stays metric throughout, the same rule the range itself follows. An
imperial traveller types gallons, miles per gallon and kWh per 100 miles and
gets them back unchanged; mpg is the inverse of litres per hundred rather than a
scale factor, which a straight multiplication would have stored as a car four
times as thirsty.

The gauge under the picker is the argument that these two ways of stating a
range are the same thing, so it answers while the figures are still being typed
rather than after the field is left. It draws the tank the day it left the
factory: the filled part is what a stop actually puts back in, the hatched tail
is what age has taken off, and both are things the bare number cannot say.

Also here, from the same round: a fill-up that stops short of full. Nobody
charges to 100 % on the road, and counting every stop as a full tank overstated
everything after it by that last fifth. Stops that refuel now carry a badge
saying how far they fill.
This commit is contained in:
Maurice
2026-09-09 22:35:11 +02:00
committed by Maurice
parent 5b147af0b6
commit aaf6559d5d
32 changed files with 1381 additions and 112 deletions
+20
View File
@@ -22,6 +22,26 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.legLabel': 'أطول قيادة متواصلة',
'roadtrip.limit.dayLabel': 'القيادة في اليوم',
'roadtrip.limit.rangeLabel': 'المدى بخزان واحد',
'roadtrip.limit.fillLabel': 'التعبئة حتى',
'roadtrip.limit.fillFull': 'ممتلئ',
'roadtrip.limit.fillBadge': 'يملأ حتى {percent} ٪',
'roadtrip.limit.wearNote': '{percent} ٪ مفقودة بسبب التقادم',
'roadtrip.limit.rangeLabelCharge': 'المدى لكل شحنة',
'roadtrip.limit.sectionDriving': 'القيادة',
'roadtrip.limit.sectionVehicle': 'المركبة',
'roadtrip.limit.tankLabel': 'سعة الخزان',
'roadtrip.limit.batteryLabel': 'البطارية',
'roadtrip.limit.useLabel': 'الاستهلاك',
'roadtrip.limit.wearLabel': 'تآكل البطارية',
'roadtrip.limit.computed': 'محسوب من بيانات المركبة',
'roadtrip.limit.perFill': 'لكل خزان',
'roadtrip.limit.perCharge': 'لكل شحنة',
'roadtrip.limit.afterFill': 'توقف حتى {percent} ٪: {distance}',
'roadtrip.limit.fullNote': 'التوقف يملأ بالكامل',
'roadtrip.limit.rangeEmpty': 'لا يوجد مدى',
'roadtrip.limit.rangeEmptyHint': 'أدخل المدى، أو املأ الحقول ليحسبه TREK.',
'roadtrip.limit.specHint': 'عند تعبئتها، تحدد هذه الحقول المدى أعلاه.',
'roadtrip.limit.vehicleHint': 'حدد نوع سيارتك لتُدخل بياناتها بدل المدى.',
'roadtrip.limit.minutes': 'دقيقة',
'roadtrip.limit.off': 'معطل',
'roadtrip.limit.hint': 'يحسب وقت القيادة فقط. لا يشمل التوقفات والمبيت.',