Skip to content

Latest commit

 

History

History
509 lines (261 loc) · 27.1 KB

File metadata and controls

509 lines (261 loc) · 27.1 KB

Changelog

All notable changes to this project will be documented in this file.

2.9.0 (2025-12-18)

Features

  • audio: add recording support to WebAudioLayer (b4de04e)

Bug Fixes

  • platform-web-pixi: apply tint to graphics objects in PixiRenderingLayer (a6d4d98)
  • release: fix version sync order and use npm publish (7e99a89)

Refactoring

  • events: remove timestamp from event interfaces (b4ceef7)

Documentation

  • update documentation for monorepo structure (9828e85)

Tests

  • browser: remove obsolete timestamp test (b516602)

2.8.0 (2025-12-14)

Features

  • audio: add recording support to WebAudioLayer (b4de04e)

Bug Fixes

  • platform-web-pixi: apply tint to graphics objects in PixiRenderingLayer (a6d4d98)
  • release: fix version sync order and use npm publish (7e99a89)

Documentation

  • update documentation for monorepo structure (9828e85)

2.7.9 (2025-12-12)

Bug Fixes

  • platform-web-pixi: apply tint to graphics objects in PixiRenderingLayer (a6d4d98)
  • release: fix version sync order and use npm publish (7e99a89)

Documentation

  • update documentation for monorepo structure (9828e85)

2.7.8 (2025-12-12)

Bug Fixes

  • platform-web-pixi: apply tint to graphics objects in PixiRenderingLayer (a6d4d98)
  • release: fix version sync order and use npm publish (7e99a89)

Documentation

  • update documentation for monorepo structure (9828e85)

2.7.7 (2025-12-12)

Bug Fixes

  • platform-web-pixi: apply tint to graphics objects in PixiRenderingLayer (a6d4d98)
  • release: fix version sync order and use npm publish (7e99a89)

Documentation

  • update documentation for monorepo structure (9828e85)

2.7.6 (2025-12-12)

Bug Fixes

  • platform-web-pixi: apply tint to graphics objects in PixiRenderingLayer (a6d4d98)
  • release: fix version sync order and use npm publish (7e99a89)

Documentation

  • update documentation for monorepo structure (9828e85)

2.7.5 (2025-12-12)

Bug Fixes

  • platform-web-pixi: apply tint to graphics objects in PixiRenderingLayer (a6d4d98)
  • release: fix version sync order and use npm publish (7e99a89)

Documentation

  • update documentation for monorepo structure (9828e85)

2.7.4 (2025-12-12)

Documentation

  • update documentation for monorepo structure (9828e85)

2.7.3 (2025-12-12)

Documentation

  • update documentation for monorepo structure (9828e85)

2.7.2 (2025-12-12)

Refactoring

  • convert to monorepo structure with engine package (#4) (d22f1f6)

2.7.1 (2025-12-01)

Code Refactoring

  • loader: make HeadlessLoader wrap an actual loader (4d04f6e)

2.7.0 (2025-11-30)

Features

  • replay: add public stopReplay() method to ReplayManager (cd388d0)

2.6.1 (2025-11-30)

Code Refactoring

  • replay: change stopReplay to end game instead of pause (3ec1293)

2.6.0 (2025-11-29)

Features

  • canvas: trigger initial render when game engine is set (135bc2e)

2.5.0 (2025-11-26)

Features

  • platform: add animation complete callback for non-looping sprites (87a7059)

2.4.0 (2025-11-26)

Features

  • platform: add getRotation and getScale to DisplayNode (2c81351)

2.3.4 (2025-11-26)

Bug Fixes

  • rendering: use atomic counters for texture/spritesheet IDs (4160dde)

2.3.3 (2025-11-26)

Code Refactoring

  • assets: assume loader returns data URLs for binary assets (b63b382)

2.3.2 (2025-11-26)

Bug Fixes

  • assets: infer MIME type from file extension for blob URLs (41eee5f)

2.3.1 (2025-11-26)

Bug Fixes

  • assets: derive spritesheet JSON path by stripping image extension (fea1e81)

2.3.0 (2025-11-26)

Features

  • audio: add data URL support to WebAudioLayer.loadSound() (46c1b13)

2.2.0 (2025-11-26)

Features

  • rendering: add drawRoundRect support (6e36116)

2.1.1 (2025-11-23)

Bug Fixes

  • resolve AudioContext autoplay policy violation (b7b3512)

2.1.0 (2025-11-23)

Features

  • demo: add procedurally generated sound effects (8a245f6)

2.0.0 (2025-11-23)

Features

  • refactor engine to be platform-independent (#3) (2c1433b)

1.9.5 (2025-11-11)

Documentation

  • improve CLAUDE.md formatting and remove redundant instruction (c974ef1)

Code Refactoring

  • improve GameCanvas renderer management and lifecycle (8ed19c8)

1.9.4 (2025-11-06)

Code Refactoring

  • remove unneeded end check (2a2f6a7)

1.9.3 (2025-11-06)

Tests

  • add replay pause/resume functionality tests (4ce0151)

1.9.2 (2025-11-04)

Bug Fixes

  • prevent replay tick processing during state transitions (#1) (e186003)

1.9.1 (2025-10-22)

Code Refactoring

  • loader is now mandatory (8a725f7)

1.9.0 (2025-10-22)

Features

  • add color utility functions for hex parsing and darkening (ed06c6b)

1.8.1 (2025-10-19)

Code Refactoring

  • rename GameConfig.initialState to gameSpecific and remove snake-specific properties (5a7b073)

1.8.0 (2025-09-30)

Features

  • add bomb explosion effect with particle system (f264f0c)

1.7.0 (2025-09-21)

Features

  • make GameEngine reset/setup and ReplayManager replay methods async (6503fc2)

1.6.1 (2025-09-21)

Code Refactoring

  • rename PRNG initialize() method to reset() (58b7672)

1.6.0 (2025-09-21)

Features

  • demo: update UI to display ticks and real FPS (c8db781)
  • implement frames-to-ticks conversion in GameCanvas and demo (d4c2761)

Bug Fixes

  • improve stability of performance test with warmup and median timing (ac4c9e0)
  • tests: update GameCanvas test to use deltaTicks parameter (d6b7407)
  • update GameCanvas to use tick-based timing and format package.json (b891e65)

1.5.0 (2025-09-21)

Bug Fixes

  • demo: update remaining frame references to tick methods (de18108)
  • lint issues (de19a18)

Code Refactoring

  • migrate from frame-based to tick-based timing system (57da91d)
  • replay: update ReplayManager architecture to use proxy pattern (85398f0)

1.4.0 (2025-09-18)

Features

  • collision: prevent duplicate points in CollisionBspTree (84a515b)
  • core: add clearAndDestroy method to GameObjectGroup (480ed18)
  • lib: add performance timing utilities with comprehensive test coverage (fdae4f0)
  • loader: add Loader abstraction with DemoLoader implementation and comprehensive tests (8bafa06)
  • prng: add threshold parameter to randomBoolean() method (372bbc1)
  • rendering: add automatic PIXI Graphics cleanup with comprehensive testing (a6387b6)
  • rendering: add needsRepaint flag optimization system (b5466c2)

Bug Fixes

  • ci: improve workflow order and separate demo linting (85df80c)
  • ci: move linting before build and add demo linting to pre-commit hooks (0e9e6a2)
  • tests: implement comprehensive PIXI mocking and fix rendering tests (4877701)

Code Refactoring

  • move GameCanvas from rendering to root and add comprehensive lib utilities (fc6306f)
  • rendering: rename destroy() to clear() in AbstractRenderer (007dd78)
  • replace CollisionBspTree with simplified CollisionGrid (36aa34b)

1.3.0 (2025-09-12)

Features

  • add comprehensive PIXI.js rendering system (b7da431)
  • add GameObjectEventType enum for type-safe event handling (3234943)
  • add totalFrames parameter to GameObject.update() method (2cae386)
  • improve GameObjectGroup event emission system (6d80bd0)

Bug Fixes

  • ci: separate main and demo linting to resolve TypeScript resolution issues (83c535b)
  • correct formatting and broken links in documentation (b0017f3)
  • prevent GameObject update when destroyed (8812c7b)

Documentation

  • fix markdown links in README.md (fcddc78)

Tests

  • expand test coverage and improve code quality (83a57aa)

Code Refactoring

  • rename getAll() to getAllActive() in GameObjectGroup (b6531b8)

Performance Improvements

  • optimize CollisionUtils rebuildTree by merging index and bounds calculation (ecc7e75)

1.2.0 (2025-09-09)

Features

  • add automated release system with commit-and-tag-version (46bc9d4)
  • add singleton Serializer instance export (acccdef)
  • enhance game engine with improved recording/replay system and UI controls (09526ee)
  • enhance snake controls and remove start button (6ad9522)
  • implement CollisionBspTree-based spatial collision detection (76ac206)
  • implement event-driven recording system with enum-based event handling (b7785fe)
  • implement frame-perfect replay with enhanced UI state management (d245315)
  • improve determinism and add snake wrap-around gameplay (d698541)

Bug Fixes

  • build and publish (d1874af)
  • build coverage generation and reporting (c771e35)
  • configure Vite for relative paths in GitHub Pages deployment (6ec3f1f)
  • improve replay determinism by splitting large deltaFrames (c8e7e70)
  • npm package license (c1a86f2)
  • performance recording test not recording frame data (f26d1c0)
  • prevent double apple spawning in same frame (df8c147)
  • readme build badge (082f760)
  • resolve all TypeScript errors in test files and enhance type safety (47b10b0)
  • resolve concurrent timer modifications in Timer class (6078702)
  • resolve PRNG desynchronization in record-replay tests (802fee3)
  • resolve record-replay test failures and improve determinism (8016a5b)
  • resolve ReplayManager and integration test failures (14e057d)
  • serialization performance test expecting wrong type (c0d252d)
  • stress test looking for wrong game object group name (2939e90)

Documentation

  • add comprehensive documentation suite with live demo integration (0a162cd)
  • add coveralls badge and configure npm package files (da95533)
  • update deltaTime parameter to deltaFrames (df6148d)
  • update readme (56c4036)

Tests

  • improve code coverage to 100% for core modules (7de9f61)
  • restructure test suite with comprehensive coverage (9af1094)

Build System

  • add logging for tar (b5aa17e)
  • build on prepublish (d1c52b1)
  • bump version (8c6bc0f)
  • dont zip the tar (87b5a3c)
  • fix git config issues for gh-pages (c690157)
  • fix removal of tsconfig.buildinfo (7b80abd)
  • recursive tar (2003690)
  • switch to artifacts uploader for gh-pages (8c2cf3b)
  • try again (1a730f1)
  • try and fix gh-pages action usage (fc16127)
  • try to fix github pages asset upload (19d57aa)

CI/CD

  • add GitHub workflows for CI and demo deployment (aef070c)
  • switch deploy workflow to use gh-pages npm package (6ffe14d)

Code Refactoring

  • improve engine robustness and documentation (25c0fe6)
  • move collision checking to update loop and clean up unused methods (d8bb619)
  • move fractional frame logic to GameEngine for replay determinism (1379db2)
  • rename package to @hiddentao/clockwork-engine (a08d26b)
  • simplify game engine methods and improve PRNG tests (1cdeee1)
  • simplify walls to single blocks (63f2862)
  • update demo build instructions (d3e9301)

[1.1.1] - 2024-09-09

Features

  • Add singleton Serializer instance export

Bug Fixes

  • Prevent double apple spawning in same frame
  • Configure Vite for relative paths in GitHub Pages deployment
  • Fix git config issues for gh-pages

Documentation

  • Update deltaTime parameter to deltaFrames
  • Add coveralls badge and configure npm package files
  • Update readme

Tests

  • Improve code coverage to 100% for core modules

Build System

  • Bump version
  • Try and fix gh-pages action usage