/// import { type Cell, cell, handler, lift, recipe, UI } from "commontools"; const calcAC = (dex: number): number => 20 + Math.floor((dex - 10) / 2); const updateName = handler< { detail: { message: string } }, { characterName: Cell } >( (event, { characterName }) => { console.log("Updating character name to:", event.detail.message); characterName.set(event.detail.message); }, ); export default recipe("state test", () => { const characterName = cell(""); characterName.set("Lady Ellyxir"); const dex = cell(16); const ac = lift(calcAC)(dex); return { [UI]: (

Character name: {characterName}

  • DEX: {dex}
  • DEX Modifier: {Math.floor((dex - 10) / 2)}
  • AC: {ac}
  • ), }; });