sheet.git
2 months agobump versions of all pages with visible changes since v1.11 master v1.13
Mischa POSLAWSKY [Thu, 26 May 2022 21:08:35 +0000 (23:08 +0200)]
bump versions of all pages with visible changes since v1.11

2 months agodieren: smaller title description to fit mobile
Mischa POSLAWSKY [Mon, 30 May 2022 16:32:39 +0000 (18:32 +0200)]
dieren: smaller title description to fit mobile

2 months agodieren: derived additions (leeuwerik, draak*, behemoth)
Mischa POSLAWSKY [Wed, 11 May 2022 21:34:14 +0000 (23:34 +0200)]
dieren: derived additions (leeuwerik, draak*, behemoth)

2 months agosc: redirect subpage aliases to absolute paths
Mischa POSLAWSKY [Sun, 29 May 2022 13:44:25 +0000 (15:44 +0200)]
sc: redirect subpage aliases to absolute paths

Fix root request without trailing slash.

2 months agoemoji: prevent image enlargement (outside of figure elements)
Mischa POSLAWSKY [Sat, 28 May 2022 13:21:18 +0000 (15:21 +0200)]
emoji: prevent image enlargement (outside of figure elements)

Accidentally scaled to full width since commit v1.12-0-g70012d8c59
(2020-05-06) [dieren: image figures captioned by names] not accounting
for these preexisting icons.

2 months agobrowser: numeric order of agent versions >99
Mischa POSLAWSKY [Sun, 22 May 2022 20:04:30 +0000 (22:04 +0200)]
browser: numeric order of agent versions >99

Pad 3 digits (or preferably not at all) to fix recent releases all going up
to unimaginably large numbers.

2 months agoword/edit: preserve unknown json values
Mischa POSLAWSKY [Sun, 22 May 2022 18:28:20 +0000 (20:28 +0200)]
word/edit: preserve unknown json values

Replace only submitted input, keep existing experimental properties.

2 months agolatin: unistrokes circles matched separately
Mischa POSLAWSKY [Sat, 14 May 2022 12:12:55 +0000 (14:12 +0200)]
latin: unistrokes circles matched separately

Code cleanup to silence perl warning about redundant sprintf argument.

2 months agoword/memory: adjust grid count to fit size
Mischa POSLAWSKY [Fri, 25 Mar 2022 15:28:57 +0000 (16:28 +0100)]
word/memory: adjust grid count to fit size

5 months agocommon: sticky table header row
Mischa POSLAWSKY [Tue, 1 Mar 2022 20:15:27 +0000 (21:15 +0100)]
common: sticky table header row

Keep column legends visible while scrolling through larger tables,
especially digraphs and font where cells are much alike.

5 months agodieren: constant cell width for any gallery table
Mischa POSLAWSKY [Mon, 14 Feb 2022 17:09:14 +0000 (18:09 +0100)]
dieren: constant cell width for any gallery table

Common styling without percentage hints, replacing table elements by grid
columns with something resembling 1fr widths.

5 months agocli: frontend page listing commandline parameters
Mischa POSLAWSKY [Fri, 6 Sep 2019 20:54:05 +0000 (22:54 +0200)]
cli: frontend page listing commandline parameters

5 months agocli: mkclioptions core program presets
Mischa POSLAWSKY [Fri, 6 Sep 2019 18:57:42 +0000 (20:57 +0200)]
cli: mkclioptions core program presets

Input group names for selected entries from debian coreutils, bsdmainutils,
git subcommands, others.

5 months agofont: path to roboto fonts changed on debian
Mischa POSLAWSKY [Mon, 21 Feb 2022 11:41:10 +0000 (12:41 +0100)]
font: path to roboto fonts changed on debian

5 months agoword/edit: hide manual crop coordinates input
Mischa POSLAWSKY [Tue, 11 Jan 2022 00:12:17 +0000 (01:12 +0100)]
word/edit: hide manual crop coordinates input

Managed by js interface, values not needed as long as it works correctly.
Being hidden prevents workarounds so bugs are maybe forced to be fixed.

5 months agoword/memory: webkit prefix for turned card faces
Mischa POSLAWSKY [Sun, 20 Feb 2022 17:57:11 +0000 (18:57 +0100)]
word/memory: webkit prefix for turned card faces

Workaround for some versions of Safari where images are always visible.

5 months agoword/finder: .large images with multiple subcategories
Mischa POSLAWSKY [Thu, 10 Feb 2022 03:17:00 +0000 (04:17 +0100)]
word/finder: .large images with multiple subcategories

Automatic subdivision for a result similar to the previous cover attribute
without requiring manual maintenance.

5 months agoword: hover gallery captions only on larger screens
Mischa POSLAWSKY [Sat, 19 Feb 2022 15:37:07 +0000 (16:37 +0100)]
word: hover gallery captions only on larger screens

5 months agodigraphs: fix relative path in shiar include tool
Mischa POSLAWSKY [Thu, 17 Feb 2022 14:35:53 +0000 (15:35 +0100)]
digraphs: fix relative path in shiar include tool

Another one missed in commit v1.10-63-g00ffc9287b (2018-03-05)
[tools: fix includes from relative paths for perl v5.26].

5 months agotools: validate utf8 encoding in stdin/out
Mischa POSLAWSKY [Thu, 17 Feb 2022 14:33:39 +0000 (15:33 +0100)]
tools: validate utf8 encoding in stdin/out

Recommended by perlcritic.  Not likely to be an issue in these cases,
but might yet catch some data errors.

5 months agoword/finder: order by grade within levels
Mischa POSLAWSKY [Thu, 10 Feb 2022 03:21:22 +0000 (04:21 +0100)]
word/finder: order by grade within levels

6 months agoword/finder: caption text width bound to figure box
Mischa POSLAWSKY [Mon, 7 Feb 2022 18:13:36 +0000 (19:13 +0100)]
word/finder: caption text width bound to figure box

6 months agoword/finder: emulate gallery page in javascript
Mischa POSLAWSKY [Tue, 8 Feb 2022 22:04:22 +0000 (23:04 +0100)]
word/finder: emulate gallery page in javascript

Prepare replacement of the server-side index page.

6 months agoword: margin exception in common stylesheet
Mischa POSLAWSKY [Mon, 7 Feb 2022 17:42:16 +0000 (18:42 +0100)]
word: margin exception in common stylesheet

6 months agosource: create missing cache subdirectories
Mischa POSLAWSKY [Thu, 27 Jan 2022 22:45:50 +0000 (23:45 +0100)]
source: create missing cache subdirectories

Fix storage of modules such as Shiar_Sheet::Keyboard.

6 months agoword/edit: read fractional crop coordinates
Mischa POSLAWSKY [Sun, 23 Jan 2022 00:51:12 +0000 (01:51 +0100)]
word/edit: read fractional crop coordinates

Clean up various separators (,-x;:/) from manual input into common comma,
and allow dot for possible future fractions in large numbers:

UPDATE word SET image = jsonb_set(image, '{crop32}',
regexp_replace(image->>'crop32', '[^0-9,]', ',', 'g')
) WHERE image->>'crop32' IS NOT NULL;

Decided against dividing by 1000 to simplify code, but this would do that:

UPDATE word SET image = jsonb_set(image, '{crop32}',
to_jsonb(array_to_string(array(
SELECT unnest(string_to_array(image->>'crop32', ','))::float / 1000
), ','))
) WHERE image->>'crop32' IS NOT NULL;

6 months agoword/edit: fix (vertical) scale with different aspect ratios
Mischa POSLAWSKY [Sat, 22 Jan 2022 20:34:45 +0000 (21:34 +0100)]
word/edit: fix (vertical) scale with different aspect ratios

6 months agoword/edit: image container only needed for source
Mischa POSLAWSKY [Wed, 19 Jan 2022 19:35:36 +0000 (20:35 +0100)]
word/edit: image container only needed for source

6 months agounicode: mathematical hebrew symbols like greek a-b
Mischa POSLAWSKY [Mon, 17 Jan 2022 17:15:59 +0000 (18:15 +0100)]
unicode: mathematical hebrew symbols like greek a-b

6 months agounicode: colour blocks row of hues in unicode 12.0
Mischa POSLAWSKY [Mon, 17 Jan 2022 17:15:50 +0000 (18:15 +0100)]
unicode: colour blocks row of hues in unicode 12.0

6 months agounicode: one set of barb arrows from unicode 7.0
Mischa POSLAWSKY [Mon, 17 Jan 2022 17:13:24 +0000 (18:13 +0100)]
unicode: one set of barb arrows from unicode 7.0

Replace old private use variants by "modern" codepoints.  Limit to one
representative from Arrows-C for now.

6 months agounicode: circled playstation control symbols
Mischa POSLAWSKY [Mon, 17 Jan 2022 17:11:18 +0000 (18:11 +0100)]
unicode: circled playstation control symbols

Variant set completed in Unicode 11.0 with limited font support.

6 months agounicode: precomposed alchemical symbols for elements
Mischa POSLAWSKY [Mon, 17 Jan 2022 17:09:04 +0000 (18:09 +0100)]
unicode: precomposed alchemical symbols for elements

Semantic glyphs have been available since Unicode version 6.0 (2010)
so about time to replace these visual approximations.

6 months agocharset: map classic ti-8x calculators
Mischa POSLAWSKY [Sat, 8 Jan 2022 05:37:06 +0000 (06:37 +0100)]
charset: map classic ti-8x calculators

Closest unicode representations afaict, based on http://shiar.nl/calc/z80
images and guesses from manuals and emulators for unclear semantics.

6 months agocharset: legacy map ansel (and extensions)
Mischa POSLAWSKY [Sat, 8 Jan 2022 04:00:39 +0000 (05:00 +0100)]
charset: legacy map ansel (and extensions)

Reference: Wikipedia, <https://www.gedsite.com/en/character-encoding.htm>

6 months agocharset: compare unknown glyphs in custom tables
Mischa POSLAWSKY [Wed, 29 Dec 2021 18:35:36 +0000 (19:35 +0100)]
charset: compare unknown glyphs in custom tables

Ignore missing classes in Perl v5.28 for Unicode v13.0 legacy computing
symbols, while keeping unassigned code points in unicode blocks (various
gaps in Greek overview).

6 months agocharset: skip empty petscii rows
Mischa POSLAWSKY [Wed, 29 Dec 2021 18:28:12 +0000 (19:28 +0100)]
charset: skip empty petscii rows

Fix startpoint offset.

6 months agocharset: fix unicode name in cell title
Mischa POSLAWSKY [Wed, 29 Dec 2021 18:05:59 +0000 (19:05 +0100)]
charset: fix unicode name in cell title

Broken in commit v1.11-65-g57d7837d68 (2019-07-03)
[charset: silence warning of empty cell arguments].

6 months agocharset: legacy encodings petscii, atascii, msx, zx-spectrum
Mischa POSLAWSKY [Tue, 28 Dec 2021 15:24:38 +0000 (16:24 +0100)]
charset: legacy encodings petscii, atascii, msx, zx-spectrum

Sources now represented by unicode 13.0 legacy computing symbols.
Copied from Wikipedia.

6 months agoword/edit: separate consecutive input fields
Mischa POSLAWSKY [Wed, 12 Jan 2022 15:20:58 +0000 (16:20 +0100)]
word/edit: separate consecutive input fields

Spacing between multiple elements within each row.

6 months agoword/quiz: report table to save user actions
Mischa POSLAWSKY [Tue, 11 Jan 2022 05:53:54 +0000 (06:53 +0100)]
word/quiz: report table to save user actions

Setup basic logging system to gather usage events serverside for debugging
and hopefully difficulty analysis later on.  Initially always enabled while
in private testing.

6 months agoword/edit: track touch events in crop area
Mischa POSLAWSKY [Tue, 11 Jan 2022 01:01:31 +0000 (02:01 +0100)]
word/edit: track touch events in crop area

Reimplement mobile support lost with croppie.

6 months agoword/edit: custom crop interface superior to croppie
Mischa POSLAWSKY [Mon, 10 Jan 2022 16:13:17 +0000 (17:13 +0100)]
word/edit: custom crop interface superior to croppie

Some minimal js and absolute positioning can replace v1.12-226-gca5f2bee8e
(2022-02-07) [word/edit: croppie js thumbnail selection interface]
to exact demands, without rounding errors and restricted zoom control.

6 months agoword/edit: search button toggles empty input
Mischa POSLAWSKY [Thu, 6 Jan 2022 18:23:29 +0000 (19:23 +0100)]
word/edit: search button toggles empty input

Minimal javascript to make hiding work as expected.

6 months agoword/edit: search input form in hierarchy navigation
Mischa POSLAWSKY [Thu, 6 Jan 2022 18:21:39 +0000 (19:21 +0100)]
word/edit: search input form in hierarchy navigation

Styling to move it to top, and hide input until focused.

6 months agoword/edit: croppie js thumbnail selection interface
Mischa POSLAWSKY [Wed, 5 Jan 2022 00:36:16 +0000 (01:36 +0100)]
word/edit: croppie js thumbnail selection interface

Replace the unintuitive coordinate helper by a free (mit) external library
(~9kB compressed) to select and preview an image crop window.

Reference: <https://github.com/Foliotek/Croppie>

6 months agoword/edit: crop coordinates separate from convert parameters
Mischa POSLAWSKY [Wed, 5 Jan 2022 00:04:53 +0000 (01:04 +0100)]
word/edit: crop coordinates separate from convert parameters

Move -area value into a distinct image column crop32:

UPDATE word SET image = jsonb_insert(
image #- '{convert,0}' #- '{convert,0}',
'{crop32}', image->'convert'->1
)
WHERE image->'convert'->>0 = '-area';

UPDATE word SET image = jsonb_insert(
image #- '{convert,2}' #- '{convert,2}',
'{crop32}', image->'convert'->3
)
WHERE image->'convert'->>2 = '-area'
AND image->'convert'->>0 = '-gravity';

Remaining usage may be influenced by preceding options and need manual
inspection.

6 months agoword/edit: sub signatures in ImagePrep methods
Mischa POSLAWSKY [Mon, 3 Jan 2022 04:16:33 +0000 (05:16 +0100)]
word/edit: sub signatures in ImagePrep methods

6 months agoword: change directory name of 3:2 thumbnails
Mischa POSLAWSKY [Mon, 3 Jan 2022 04:05:43 +0000 (05:05 +0100)]
word: change directory name of 3:2 thumbnails

Specific to convert options (identified by resulting shape), not language.

6 months agoword/edit: decrease webp image quality to 40%
Mischa POSLAWSKY [Mon, 3 Jan 2022 04:55:10 +0000 (05:55 +0100)]
word/edit: decrease webp image quality to 40%

Reduce average size from 24kB to 18kB with the same increased resolution,
more comparable to 11kB JPEGs.

6 months agoword/edit: method generate() to create thumbnail variants
Mischa POSLAWSKY [Mon, 3 Jan 2022 04:04:12 +0000 (05:04 +0100)]
word/edit: method generate() to create thumbnail variants

6 months agoword/edit: remap/rename priority levels
Mischa POSLAWSKY [Sun, 2 Jan 2022 00:00:51 +0000 (01:00 +0100)]
word/edit: remap/rename priority levels

Insert additional levels to distinguish within animal groups, such as
recent mapping of different species with various levels of notoriety.
Splits priority 2 and 3 into two options each:

UPDATE word SET prio = prio + 1 WHERE prio > 2;

0 essential   → essential   : core terms and categorisation
1 basic       → ubiquitous  : beginner level words
2 common      → basic       : internationally known
              → common      : expected, readily recognisable
3 distinctive → distinctive : native names, popular genus
4 optional    → specialised : significant species in field
5 invisible   → rare        : expert distinction or knowledge
                invisible   : placeholder group, ignored

For future listings of people, it would map to Brian Buckley's hierarchy
of fame <https://briandbuckley.com/2017/08/07/a-hierarchy-of-fame/>:

1 = l8 Incredulity (Einstein, Shakespeare, Jesus, Batman)
2 = l7 Reassessment− (Joan of Arc, Bill Gates, Moses, Vader)
3 = l6 Hiccup− (Newton, Jobs, Lennon, Lancelot, Jabba)
4 = l5 Ambivalence (Elon Musk, Carl Sagan, Lovecraft, Boba Fett)
5 = l4 Hiccup+ (Randall Munroe, Shigeru Miyamoto, Sylvia Plath, Mothma)
6 = l3 Reassessment+ (Douglas Hofstadter, Carl Linnaeus, Kosh)
7 = l2 Explanation (notable not famous: Lu Xun, Jane Espenson, Sim Aloo)

6 months agoword/quiz: category selection from location hash
Mischa POSLAWSKY [Thu, 30 Dec 2021 07:14:29 +0000 (08:14 +0100)]
word/quiz: category selection from location hash

6 months agoword/memory: manual grid size override option
Mischa POSLAWSKY [Fri, 31 Dec 2021 13:35:54 +0000 (14:35 +0100)]
word/memory: manual grid size override option

Temporary workaround for unsupported aspect ratio and custom amounts.

7 months agoword/edit: ignore missing binomial name in wp download
Mischa POSLAWSKY [Fri, 31 Dec 2021 04:02:19 +0000 (05:02 +0100)]
word/edit: ignore missing binomial name in wp download

7 months agoword/memory: pick cards to fit grid dimensions
Mischa POSLAWSKY [Thu, 30 Dec 2021 07:05:35 +0000 (08:05 +0100)]
word/memory: pick cards to fit grid dimensions

7 months agoword/multichoice: stop when answers run out
Mischa POSLAWSKY [Thu, 30 Dec 2021 07:04:53 +0000 (08:04 +0100)]
word/multichoice: stop when answers run out

7 months agoword/multichoice: skip imageless (unanswerable) questions
Mischa POSLAWSKY [Thu, 30 Dec 2021 02:41:30 +0000 (03:41 +0100)]
word/multichoice: skip imageless (unanswerable) questions

7 months agoword/memory: celebration pause after each rotation
Mischa POSLAWSKY [Thu, 30 Dec 2021 07:04:05 +0000 (08:04 +0100)]
word/memory: celebration pause after each rotation

Normal visibility for 2 seconds.

7 months agoword/memory: mirrored duplication of unpaired images
Mischa POSLAWSKY [Thu, 30 Dec 2021 06:20:31 +0000 (07:20 +0100)]
word/memory: mirrored duplication of unpaired images

More typical gameplay operating on normal selections, but still distinguish
matches for added difficulty.

7 months agoword/quiz: filter preset category and empty subcategories
Mischa POSLAWSKY [Thu, 30 Dec 2021 04:55:21 +0000 (05:55 +0100)]
word/quiz: filter preset category and empty subcategories

Calculate category tree from references added in the previous commit.
Configure preset.cat to test.

7 months agoword: language includes for general use
Mischa POSLAWSKY [Thu, 30 Dec 2021 02:31:41 +0000 (03:31 +0100)]
word: language includes for general use

Reorder translation columns and add (possibly foreign) category references
as stable interface for quizzes.  Exceptional category index format for .en
English moved to extensionless include.

7 months agoword/quiz: preset configuration filters level
Mischa POSLAWSKY [Thu, 30 Dec 2021 00:40:43 +0000 (01:40 +0100)]
word/quiz: preset configuration filters level

Manual option preset.cat to test difficulty selection.

7 months agoword/wijzer: answers below image in vertical orientation
Mischa POSLAWSKY [Thu, 30 Dec 2021 00:40:13 +0000 (01:40 +0100)]
word/wijzer: answers below image in vertical orientation

7 months agoword/wijzer: quiz based on Per Seconde Wijzer
Mischa POSLAWSKY [Mon, 27 Dec 2021 02:02:38 +0000 (03:02 +0100)]
word/wijzer: quiz based on Per Seconde Wijzer

7 months agoword/quiz: fisher-yates shuffle algorithm
Mischa POSLAWSKY [Wed, 29 Dec 2021 05:04:34 +0000 (06:04 +0100)]
word/quiz: fisher-yates shuffle algorithm

Fixes very bad randomisation in some browsers.

Reference: <https://javascript.info/array-methods#shuffle-an-array>

7 months agoword/quiz: common js function to shuffle arrays
Mischa POSLAWSKY [Wed, 29 Dec 2021 05:00:24 +0000 (06:00 +0100)]
word/quiz: common js function to shuffle arrays

7 months agoword/quiz: common base class for all subpages
Mischa POSLAWSKY [Thu, 30 Dec 2021 04:57:50 +0000 (05:57 +0100)]
word/quiz: common base class for all subpages

Only json loading from multichoice to start with.

7 months agoword/quiz: rename initial subpage to multichoice
Mischa POSLAWSKY [Thu, 30 Dec 2021 04:54:04 +0000 (05:54 +0100)]
word/quiz: rename initial subpage to multichoice

Free the generic name since most pages will be quizzes.

7 months agoword: ignore non-numeric selection arguments
Mischa POSLAWSKY [Mon, 27 Dec 2021 00:00:54 +0000 (01:00 +0100)]
word: ignore non-numeric selection arguments

7 months agoword: webp images at double resolution
Mischa POSLAWSKY [Wed, 29 Dec 2021 04:23:31 +0000 (05:23 +0100)]
word: webp images at double resolution

Modern compression format supported by modern Imagemagick and browsers,
efficient enough to allow 600x400 quality (better detail @2x pixel density
or as workaround for upscaled covers and in quizzes, until dedicated
alternatives) at acceptable file sizes ~25kB.

7 months agoword: store data entries as prepared subarrays
Mischa POSLAWSKY [Sun, 26 Dec 2021 20:06:12 +0000 (21:06 +0100)]
word: store data entries as prepared subarrays

Time to split strings is comparable to directly loading structured values.
Considered hashes for scalability with more (optional) columns, but not
worth the cost at this time.

Benchmark loading 1264 rows in perl:
       rate memory size
strings 468/s  52kB 15kB
split  257/s 152kB  "
arrays 221/s 133kB 17kB
hashes 126/s 188kB 27kB

7 months agoword/memory: fullscreen grid of 4x3 or 2x6 cards
Mischa POSLAWSKY [Thu, 23 Dec 2021 02:12:13 +0000 (03:12 +0100)]
word/memory: fullscreen grid of 4x3 or 2x6 cards

7 months agoword/memory: celebration animation on completion
Mischa POSLAWSKY [Thu, 23 Dec 2021 01:27:04 +0000 (02:27 +0100)]
word/memory: celebration animation on completion

8 months agodieren: fill remaining placeholders for paard and hond
Mischa POSLAWSKY [Sat, 11 Dec 2021 12:29:03 +0000 (13:29 +0100)]
dieren: fill remaining placeholders for paard and hond

Replace adjective forms by distinct entities, but also an obscure easter egg
over non-animal turnpaard.

8 months agosource: subdirectory index for tools/
Mischa POSLAWSKY [Wed, 24 Nov 2021 23:58:19 +0000 (00:58 +0100)]
source: subdirectory index for tools/

8 months agosource: highlight preprocessor code like statements
Mischa POSLAWSKY [Wed, 24 Nov 2021 23:51:05 +0000 (00:51 +0100)]
source: highlight preprocessor code like statements

Identify @media parts in css.

8 months agosource: cache syntax highlighted html
Mischa POSLAWSKY [Wed, 24 Nov 2021 23:48:49 +0000 (00:48 +0100)]
source: cache syntax highlighted html

Massive speedup on repeated requests since Text::VimColor is so slow
(but the only readily available option for plp syntax).

8 months agosource: prepare highlighted lines before output
Mischa POSLAWSKY [Wed, 24 Nov 2021 23:45:16 +0000 (00:45 +0100)]
source: prepare highlighted lines before output

Code cleanup for readability and to facilitate upcoming caching.

8 months agobrowser: replace inter-feature links to caniuse.com
Mischa POSLAWSKY [Wed, 17 Nov 2021 01:37:54 +0000 (02:37 +0100)]
browser: replace inter-feature links to caniuse.com

8 months agobrowser: indicate release year in version title
Mischa POSLAWSKY [Mon, 15 Nov 2021 20:28:21 +0000 (21:28 +0100)]
browser: indicate release year in version title

8 months agobrowser: retain prefix of merged agents
Mischa POSLAWSKY [Mon, 15 Nov 2021 20:27:24 +0000 (21:27 +0100)]
browser: retain prefix of merged agents

8 months agobrowser: merge deprecated agents on newer target
Mischa POSLAWSKY [Mon, 15 Nov 2021 19:41:49 +0000 (20:41 +0100)]
browser: merge deprecated agents on newer target

Originally inverted to keep deprecated names, but after this long Edge
should be more familiar than IE.  Special case and_chr to keep shorter
"And." though.

8 months agobrowser: determine development status from version release
Mischa POSLAWSKY [Mon, 15 Nov 2021 19:09:42 +0000 (20:09 +0100)]
browser: determine development status from version release

Instead of assuming special status of last three version columns,
convert version metadata into a lookup hash so it can be used.

8 months agobrowser: store only changed values in version support
Mischa POSLAWSKY [Mon, 15 Nov 2021 18:15:25 +0000 (19:15 +0100)]
browser: store only changed values in version support

Full storage does not scale well, taking over 1.2s to load the current 23MB
perl structure (mostly indentation, minified it's 3MB like the original json).
Simple deduplication reduces this to 2.6MB pp (800kB as json) which takes only
0.2s excluding parsing.

8 months agobrowser: coalesce duplicate agent version in caniuse data
Mischa POSLAWSKY [Mon, 15 Nov 2021 18:12:57 +0000 (19:12 +0100)]
browser: coalesce duplicate agent version in caniuse data

Development version 95 in android is joined with and_chr.

8 months agobrowser: drop unused agent version metadata
Mischa POSLAWSKY [Mon, 15 Nov 2021 18:11:35 +0000 (19:11 +0100)]
browser: drop unused agent version metadata

8 months agobrowser: omit empty values from caniuse data
Mischa POSLAWSKY [Mon, 15 Nov 2021 17:58:01 +0000 (18:58 +0100)]
browser: omit empty values from caniuse data

Currently shaves 460kB off 23MB.

8 months agolatin: capital suetterlin letters on hover
Mischa POSLAWSKY [Mon, 15 Nov 2021 16:52:10 +0000 (17:52 +0100)]
latin: capital suetterlin letters on hover

Show additional divergent forms already available in font.

Restriction on first-letter seems broken in Firefox, but wanted to prevent
all-caps samples.

8 months agolatin: enlarge horizontal domino tiles to letter height
Mischa POSLAWSKY [Mon, 15 Nov 2021 16:51:46 +0000 (17:51 +0100)]
latin: enlarge horizontal domino tiles to letter height

8 months agolatin: alternate tap styling using crossed dashes
Mischa POSLAWSKY [Mon, 15 Nov 2021 16:51:07 +0000 (17:51 +0100)]
latin: alternate tap styling using crossed dashes

8 months agolatin: palm graffiti font placeholder
Mischa POSLAWSKY [Mon, 15 Nov 2021 16:50:43 +0000 (17:50 +0100)]
latin: palm graffiti font placeholder

Downloaded from https://blogfonts.com/graffiti--palm--1.font as preview.

8 months agoword: common language handling in quiz
Mischa POSLAWSKY [Mon, 15 Nov 2021 16:43:40 +0000 (17:43 +0100)]
word: common language handling in quiz

Replace hardcoded nl include by same ?lang result as overview.

8 months agoword/quiz: answer selection styling (hover)
Mischa POSLAWSKY [Mon, 15 Nov 2021 16:42:59 +0000 (17:42 +0100)]
word/quiz: answer selection styling (hover)

8 months agoword: prevent infinite loops on invalid data
Mischa POSLAWSKY [Mon, 1 Nov 2021 23:38:57 +0000 (00:38 +0100)]
word: prevent infinite loops on invalid data

8 months agosc: redirect subpage aliases to preferred canonical names
Mischa POSLAWSKY [Wed, 10 Nov 2021 23:37:52 +0000 (00:37 +0100)]
sc: redirect subpage aliases to preferred canonical names

8 months agosc: display upgrade range of 0 bonus damage
Mischa POSLAWSKY [Wed, 10 Nov 2021 03:15:57 +0000 (04:15 +0100)]
sc: display upgrade range of 0 bonus damage

Fix missing values for Hellbat and Tempest, after initial workaround in
commit v1.11-29-g7813ee51b9 (2018-05-10) [visibility of optional hellbat
bonus damage].

8 months agosc: lotv unit updates to patch 5.0.2 BU
Mischa POSLAWSKY [Wed, 10 Nov 2021 01:27:04 +0000 (02:27 +0100)]
sc: lotv unit updates to patch 5.0.2 BU

Changes copied from Blizzard patch notes.

Retains all earlier values since patch 4.1.4 hidden behind a hardcoded
version variable.

8 months agosc: lower precedence of hp order
Mischa POSLAWSKY [Thu, 28 Oct 2021 00:20:18 +0000 (02:20 +0200)]
sc: lower precedence of hp order

8 months agosc: apply html paging to 404 errors
Mischa POSLAWSKY [Sat, 16 Oct 2021 15:50:38 +0000 (17:50 +0200)]
sc: apply html paging to 404 errors