Pumpkin Carver 1.0.1: cuts, light and safer saves
Cut a face into a digital pumpkin, shave a patch until it glows, then light it and find a place for it on the porch. The release work also repairs how the game protects that carving while importing, replaying and exporting.
· Truckfish Games
How a cut catches the light
Ten tools work on a 1024-square carving mask mapped onto the curved pumpkin. Knife and Drill can cut through the skin; Shave leaves material that glows with the candle behind it. Putty fills a mistake, and Undo restores earlier carving states.
With Realism enabled, disconnected pieces fall away. An enclosed middle in a letter or stencil needs a bridge to stay attached. The game has face presets, words, patterns and picture stencils, as well as freehand tools. A finished carving can join a porch collection or become an exported picture or silent animation. Play is untimed, with no score or campaign.
Keeping carving and porch files intact
The supplied source treated a candle height of zero as a missing value. Its +value || -.5 fallback moved the candle when a carving or porch file loaded. Finite-number checks now preserve zero through the save and open cycle.
Porch imports also replaced the current collection before every incoming pumpkin image had decoded. A broken image could leave an incomplete collection. Import now validates the incoming images in temporary state and replaces the porch only after all succeed. A genuinely empty porch file can also be saved and reopened.
Browser saving can fail or browser data can be cleared. The game reports persistence failures and points to downloadable JSON backups. Keep both a carving file and a porch file for work you want to retain; a photo cannot restore an editable collection.
Replay must keep the finished carving
Review of the first release candidate found that Replay temporarily put earlier masks into the same canvas used by autosave. A pending save or a page closing during Replay could therefore preserve an unfinished frame.
Version 1.0.1 keeps the complete final state in previewState while Replay or time-lapse displays older masks. stateObj() reads that final state for saves and JSON backups. The preview saves before it starts and after it restores the final image; the pagehide save also runs during busy operations. Replay blocks editing while the preview plays. Replay and time-lapse still use the retained undo history from the current session.
Redraws and recovery buttons
Reduced motion had frozen the porch's redraw clock along with its animation. Changing the time of day, resizing the view or deleting a pumpkin could leave an old image on screen. porFrame() now receives the advancing frame time for redraw scheduling; only the animation phase passed to renderPorch() stays fixed.
The input lock also blocked temporary download links created by the Quit and graphics-reset backup buttons. clickDownload() now allows those internally created links through for their click while background editing stays blocked. If WebGL2 is unavailable at startup, a focused graphics-requirement message replaces the publisher screen.
Bounding exports
GIF creation keeps frame buffers in memory. The release checks the requested RGB and transparency buffers against a 64 MiB limit before rendering and asks for smaller settings when the request exceeds it. Imports have file and image-size limits, animated exports can be cancelled, and completed or cancelled exports release their temporary resources. GIF delays are distributed across the intended loop duration.
What the release checks cover
The final 1.0.1 ZIP was extracted and opened offline in Windows Edge. Automated checks exercised pointer carving, Undo and Redo, a JSON round trip, a 1080-square Photo export, Replay and time-lapse save protection, reduced-motion redraws and backup downloads during graphics loss. Independent review opened the final screenshots and exported picture and checked their hashes against that package.
These checks used isolated Windows Edge with software rendering. Physical touch and pen input, hardware GPUs, other operating systems and browsers, human play and audible sound quality remain unverified. Earlier checks of unchanged media exporters belong to the preceding candidate; the final build received fresh PNG and short time-lapse checks.
Pumpkin Carver is free to play in your browser and download. No account or payment is required. The download contains a self-contained HTML game and opening instructions. It needs WebGL2; no installer or server is required to play the extracted game. The illustrated booklet is free.