Index

mmo-xp-lab

1 symbol · generated 5 Oct 2026

element

mmo-xp-lab

mmo-xp-lab.jhs:1

"Stat Sheet" — a configurable RPG-style XP/leveling lab for personal development objectives. Define an objective, pick a level curve that matches its psychological shape, and log daily progress against it.

<mmo-xp-lab></mmo-xp-lab>
Extends
CustomShadowElement
See
docs/XP system.md

Index

init()
toPlain(v)this.view.get(path) returns a live MMO.core.Map for any object/array value (only leaf/scalar paths come back as plain JS values) -- plain dot/array access on a Map silently reads undefined instea…
defaultForm()
bootstrap() async
loadObjectives() async
highlightActiveObjective()
applyCurveType(type, valuesOverride)
getCurveParams()
refreshPreview() async
resetForm()
loadPreset(slug)
selectObjective(id)
updateLogPanel(obj)
onSubmitForm(event) async
onLogSubmit(event) async

Methods15

toPlain(v)

mmo-xp-lab.jhs:235

this.view.get(path) returns a live MMO.core.Map for any object/array value (only leaf/scalar paths come back as plain JS values) -- plain dot/array access on a Map silently reads undefined instead of throwing, since Map doesn't expose its data as own-enumerable properties. Route every compound get() through this before treating the result as plain JS data.

toPlain(v)
v

applyCurveType(type, valuesOverride)

mmo-xp-lab.jhs:307
applyCurveType(type, valuesOverride)
type
valuesOverride