The layout of the html here is a bit different for the slize puzzle
than for other demo because it is using a display: grid.
As a result, placing the spinner in the grid would cause the canvas
to be resized when the spinner goes away, with firefox. Since we don't
get resize event when the canvas gets resized withtout the whole page
being resized, the scaling and coordinate were off.
So put the spinner outside of the grid
Text's behavior right now is to clip on a line basis, so with the given
font-size for these two elements, the glyphs aren't shown at all because
the ascent + descent that's use for the clip test is bigger than the
maximum height, despite the actual glyphs fitting.
For now, reduce the font-size slightly to make the glyphs fit.
Let's keep source compatibility and define `drop-shadow-blur` to be a radius.
The CSS spec says that the standard deviation is half of the radius.
We just need to scale again and increase the shadow rect to make sure that no borders are visible.
This replaces the box gradient with a new implementation that
behaves like the HTML Canvas element, by applying a gaussian
blur to the alpha of the rectangle to shadow.
The drop-shadow-blur property is changed to be now just a "level", like
the HTML Canvas shadowBlur property, which is defined to be half of the
standard deviation of the gaussian blur to be applied.
Use a brush instead of color as property type for those theme properties
that can be brushes.
This allows to use gradients for backgrounds for live demonstrations
Remove the `application` infix from `register_application_font`, to
reduce the changes that it might be interpreted to be a function that
also changes the default font in all text elements.
We can use fontdb on all platforms, which gives consistent font query
behavior of application fonts. And then we also don't need our hand-made
"db" anymore for the wasm build and the included DejaVu font.
If `clip` were a similarly created property, then
this would probably look a little nicer in the source code.
The `Clip` element is a little in the way.