Amelinium - JavaScript demo

A live showcase of the embedded engine - clock, stopwatch, a reaction game, a calculator, dice, colour mixer, theme, tabs, lists and a toast, all driven by JavaScript with no page reloads. A full PASS/FAIL conformance run sits at the very bottom.

JavaScript: OFF - open this in a _JS build (JS toggle ON).

1. Clock (Date + setInterval)

--:--
Updates once a minute. A full-screen redraw is costly on slower Amigas, so no seconds hand (partial repaint, planned, would make it cheap).

2. Stopwatch (Date.now, no live tick)

0.0s
Start Stop Reset
Start, then Stop - elapsed is shown on Stop (no per-tick redraw).

3. Reaction timer (millisecond Date.now)

Press Start
Start
Wait for green, then click the box fast.

4. Calculator (eval)

0
789/
456*
123-
0.=+
Clear

5. Dice (Math.random)

-
Roll

6. Colour mixer (live style setters)

#888888
R - 136 +   G - 136 +   B - 136 +

7. Counter

- 0 +

8. Theme

Toggle dark / light light

9. Tabs

Overview Engine Scope
Click the tabs - querySelectorAll + classList switch the active panel.
A tree-walking JS interpreter embedded in the browser EXE, build-optional.
Great for menus, toggles, validation, small widgets. Heavy SPAs are out of scope.

10. Accordion

What runs this?
The NodeAmiga engine on a classic Amiga (68020+). Each header toggles a CSS class.
How fast?
Fast enough for interactive widgets. Date.now() is true 64-bit so timers are precise.

11. Build a list (createElement + appendChild)

Add item Clear

12. Timed toast (setTimeout)

Show toast (2 s)

Conformance test (PASS / FAIL)

Run conformance tests

If the cards respond to clicks, JavaScript is live. Pure ASCII on purpose.