Skip to content

Latest commit

 

History

History
497 lines (257 loc) · 12.6 KB

CHANGELOG.md

File metadata and controls

497 lines (257 loc) · 12.6 KB

Changelog

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

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.3.1 - 2024-11-24

Bug Fixes

Camera

  • Calculate proper camera position for text by @tversteeg

Deps

Documentation

Math

  • Fix return comment for chuot::lerp by @tversteeg

0.3.0 - 2024-11-17

Refactor

Context

  • [breaking] Use dynamic typestate builder to improve performance and allow extensions by @tversteeg in #115
  • [breaking] Implement typestate without using traits that need to be loaded by @tversteeg in #115
  • [breaking] Make better use of generics to reduce code duplication by @tversteeg

Graphics

  • [breaking] Use rgb crate for all colors, exposed as chuot::RGBA8 by @tversteeg in #110

Path

  • [breaking] Change re-export path of chuot::context::{Axis,Button,MouseButton,KeyCode} to chuot::{GamepadAxis,GamepadButton,MouseButton,KeyCode} by @tversteeg in #112

Sprite

  • [breaking] Remove pivot enum struct in favor of direct methods by @tversteeg

Features

Camera

  • [breaking] Add a main game and a UI camera system by @tversteeg in #112
  • Add CameraContext::set_lerp{_x,_y} by @tversteeg in #112
  • Implement screen shake with CameraContext::shake by @tversteeg
  • Add {Sprite,Text}Context::translate_previous{,_x,_y} for smooth camera movement of moving objects by @tversteeg

Context

  • [breaking] Move Context::font_glyph to own FontContext::glyph and add Context::font by @tversteeg

Entrypoint

  • Add optional Game::init which is called once after the window has been created by @tversteeg in #112

Font

  • Add Context::font_sprite for getting a single glyph from a font as a sprite by @tversteeg
  • [breaking] Make FontContext::glyph numeric values instead of just char by @tversteeg

Math

  • Add chuot::lerp by @tversteeg

Sprite

  • [breaking] Rename offset to pivot and allow specifying at runtime by @tversteeg
  • [breaking] Add argument to sprite creation with sprite pivot by @tversteeg
  • Add Pivot::Fraction to the enum & add sprite stacking example by @tversteeg

Bug Fixes

Deps

Graphics

  • Always render with viewport to fix flipping issue by @tversteeg

Input

  • Handle button press and release within a single update tick by @tversteeg

Performance

Compile-time

  • Improve compilation time by keeping pivot a generic type by @tversteeg
  • Improve compilation speed by creating inner functions for generics by @tversteeg

Documentation

Examples

  • Add random colors and better updates to falling-sand examples by @tversteeg

Styling

Clippy

  • Apply new Rust 1.81, 1.82 and 1.83 clippy lints by @tversteeg

Fmt

  • Use 2024 style edition for cargo fmt by @tversteeg

Miscellaneous Tasks

Credits

  • Create CREDITS.md of inspiration and sources by @tversteeg

Deps

  • Update rust crate naga to v22 by @renovate[bot]
  • Update rust crate rgb, rust crate winit, rust crate gilrs and rust crate oxipng by @tversteeg
  • Update rust crate wgsl-minifier to 0.6.0 by @renovate[bot] in #116
  • Update rust crate naga to v23 by @renovate[bot]

0.2.1 - 2024-07-11

Features

Context

  • Add Context::mouse_x and Context::mouse_y

Sprite

  • Add SpriteContext::scale{,_x,_y} for scaling the sprite horizontally and vertically

Performance

Shader

  • Optimize vertex shaders a tiny bit

Documentation

Examples

  • Fix render_interpolation example where it points to a missing asset

Readme

  • Change Matrix room to matrix.org

Styling

Fmt

  • Enforce strict cargo fmt with nightly requirement

Miscellaneous Tasks

Release

  • Cleanup changelog and improve release PR with labels

0.2.0 - 2024-07-05

Refactor

Crate

  • [breaking] Redesign crate structure (#83)

Png

  • Read bytes from PngLoader instead of returning a reader

Features

Context

  • Add Context::aspect_ratio (#96)
  • Add Context::is_minimized and Context::is_maximized (#99)

Bug Fixes

Loop

  • Limit the maximum amount of Game::update calls before a single Game::render call to 20

Render

  • Don't draw when target size is too small (#98)

Wasm

  • Fix framerate issue on WASM (#101)

Performance

Render

  • Optimize nearest neighbor rotation shader

Documentation

Examples

  • Replace particles example with simpler bunnymark

Readme

  • Fix CI badge

Styling

Formatting

  • Apply cargo fmt

Miscellaneous Tasks

Ci

  • Run lints and tests on pull request

Deps

  • Update patch versions of crates (#86)

0.1.2 - 2024-06-05

Refactor

Exports

  • Move re-exported exports only used by Context to the context module

Features

Embedded

  • Read all images to memory when read-image flag is set

Sprite

  • Add DrawSpriteContext::read_pixels for reading pixels behind a feature flag read-image

Bug Fixes

Deps

Macros

  • Add read-image feature flag which adds some fields to the texture mapping

Performance

Image

  • Don't process PNG twice when read-image feature flag is enabled

Documentation

Assets

  • Show example for loading a custom TOML asset

Examples

  • Remove quit with escape button from each example, simplifying them

Testing

Ci

  • Test building with read-image feature flag enabled

Miscellaneous Tasks

Funding

  • Link liberapay

0.1.1 - 2024-05-27

Features

Mouse

  • Allow getting scroll wheel delta with Context::scroll_delta

Screen

  • Allow toggling fullscreen with Context::toggle_fullscreen

Bug Fixes

Render

  • Don't crash when multiple images are inserted in a single frame

Documentation

Changelog

  • Use proper version

[0.1.0] - 2024-05-22

Refactor

Packer

  • Implement custom skyline rect packer for later manually setting already defined rectangles

Random

  • [breaking] Rename random_range() to random() and remove random()

Features

Gamepad

  • Add gamepad support

Hot-reload

  • Implement hot-reloading for all asset types except images
  • Implement hot-reloading of sprites (#56)

Packer

  • Add Packer::with_existing_rectangles_iter for re-building packed atlasses

Render

  • Implement 'cleanEdge' pixel art rotation shader

Bug Fixes

Assets

  • Load and upload image assets from disk when embed-assets feature flag is disabled

Ci

  • Don't override website with custom WASM
  • Temporarily disable building in-game-profiler feature since it's broken and depends on egui updates
  • Add missing udev dependency for Linux
  • Add missing udev dependency for Linux

Deps

Features

  • [breaking] Disable hot-reload-assets and in-game-profiler as default features

Sprite

  • Allow updating sprite pixels and add example for it

Web

  • [breaking] Attach to canvas element with ID 'chuot' or create a new one, also don't set CSS styles

Performance

Context

  • Decrease asset allocations by only taking owned ID references at the last moment, also decreases monomorphization

Render

  • Improve performance of cleanEdge shader by ~40%

Documentation

Changelog

  • Use nice keep-a-changelog based output
  • Link to rust crates

Crate

  • Improve documentation and fix some mistakes

Examples

  • Add sprite_rotation example
  • Add text example
  • Make all examples the same size and improve documentation for website
  • Add fps example

Install

  • Document udev dependency on Linux

Readme

  • Link to website instead of documentation

Styling

Clippy

  • Enforce very pedantic code style

Example

  • Fix clippy warning in example

Miscellaneous Tasks

Deps

  • Update rust crate naga to 0.20.0
  • Update patch versions of dependencies