/// import { type Cell, Default, handler, recipe, UI } from "commontools"; interface Player { playerName: string; score: number; level: number; } interface GameState { stats: Default< Player, { playerName: "Player 1"; score: 500; level: 10; } >; } const incrementScore = handler }>( (_, { stats }) => { const currentScore = stats.key("score").get(); stats.key("score").set(currentScore + 10); }, ); const levelUp = handler }>( (_, { stats }) => { const currentLevel = stats.key("level").get(); stats.key("level").set(currentLevel + 1); }, ); export default recipe("Game Stats with Default", (state) => { return { [UI]: (

Game Stats

Player: {state.stats.playerName}

Level: {state.stats.level}

Score: {state.stats.score}

), stats: state.stats, }; });