createGameStore guarda lo que sigue siendo cierto entre escenas y sesiones. Está repartido en ficheros como en un proyecto de verdad: state.ts (JSON plano, lo que se guarda), dos ficheros de acciones y un index.ts que lo junta. F da de comer, P juega, R reinicia; las barras bajan con el tiempo. Recarga la página y la mascota sigue donde la dejaste.
useStore(petStore, selector, handler) solo reacciona cuando cambia el valor elegido: la consola apunta el cambio de humor, no cada fotograma. Guardar en IndexedDB es una línea, y un servidor propio es un adaptador con dos funciones, load y save.