Luna is the reference MOTH client.
The emphasis here is on making source code that's easy to understand, although we have also made some effort to have it look okay, and be functional enough to be used for an event.
- Mobile-friendly
- Programmer-friendly, jsdoc-documented MOTH library
- Integrated browser-side Python interpreter
- Multiple built-in scoreboard views
- Main scoreboard, with optional display of server URL
- Projector scoreboard, rotating between different views
- Class scoreboard, to help track individual progress
- Accessibility features
- Honors dark/light mode (browser setting)
- Honors low-motion (browser setting)
Edit base.css to modify colors or other layout options.
MOTH client configuration is stored in the client directory of an
instance's state.
See the Client Configuration Guide for details.
/- Main interface/images- Images and fonts/scripts- ECMAScript Modules/puzzle- App: Puzzle rendering and answer submission/token- App: Token redemption/reports- App: KSA and other user-accessible reports/scoreboard- App: Scoreboard
The short answer is because we want maximum portability, and the ability to rapidly adapt to new web technologies.
Feel free to reach out to me for the long answer, if you care.
Maybe! Ask!
The Luna moth is very pretty, and doesn't eat in its adult stage.
Luna is also the name of my neighbor's daughter; this neighbor was also a co-worker who helped me design the fundamental client architecture in use since MOTHv2.
PNNL-SA-221959