Skip to content

Latest commit

 

History

History
156 lines (117 loc) · 5.3 KB

CHANGELOG.md

File metadata and controls

156 lines (117 loc) · 5.3 KB

Changelog

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

The format is based on Keep a Changelog, except for minor stylistic changes to organize features and accomodate named versions. This project adheres to Semantic Versioning with respect to the Rust API for ndcell_core, the NDCA API for ndcell_lang, and the combined Lua/NDCA API for ndcell_ui, the main application.

[Unreleased]

[0.2.5] Blinker (2021-02-26)

Fixed

  • Crash on startup with an NVIDIA GPU

[0.2.4] Blinker (2021-02-25)

Optimized

  • 3D rendering performance (5x-20x FPS)

[0.2.3] Blinker (2021-02-22)

Added

  • Application icon for Windows, macOS, and Linux

Changed

  • Disabled console window on Windows
  • Updated Linux build to libffi7

Fixed

  • Missing executable permission on macOS and Linux
  • Selection rendering glitch (#9)
  • Selection pasting not stopping simulation (#10)

[0.2.2] Blinker (2020-02-21)

Fixed

  • Crash on placing grid plane with an NVIDIA GPU

[0.2.1] Blinker (2020-02-21)

Fixed

  • Crash on startup with an NVIDIA GPU

[0.2.0] Blinker (2020-02-21)

Blinker

Added

  • Simulation
    • 3D rendering and simulation
    • Advance one generation (Space)
    • Advance one step (Tab)
    • Place grid plane on cell face (E)
  • Selection
    • Added edge resize indicator
    • Cancel selection drag (Esc)
  • Navigation
    • 3D orbit (right mouse drag)
    • 3D pan (///, W/A/S/D, or middle mouse drag)
    • 3D pan horizontally (middle mouse drag with Shift)
    • Zoom (right mouse drag with Ctrl)
  • GUI
    • Load/save file

Changed

  • Simulation
    • Cells align better to pixel boundaries when zoomed out, appearing crisper
    • Optimized 2D rendering of empty areas
  • Selection
    • Selection edge resizing now clamps to the opposite corner
  • GUI
    • Disabled rounded window borders
    • Display "RUNNING" or "STEPPING" accordingly instead of "SIMULATING"
    • Relabeled "Trigger garbage collection" button to "Clear cache"
    • Replaced inaccurate maximum simulation speed with average simulation time.
  • Tweaked colors

Fixed

  • Changing the step size while the simulation is running now takes effect immediately (#6)
  • Selected cells no longer appear to be tiled infinitely
  • Touchpad scrolling now zooms in/out at a reasonable pace
  • Crash when pressing an exotic mouse button

[0.1.1] Block (2020-12-17)

Fixed

  • Crash when selecting cells

[0.1.0] Block (2020-12-17)

Block

Added

  • Simulation
    • Display and simulate unbounded 2D Conway's Game of Life using HashLife algorithm
    • Toggle simulation (Enter)
    • Double/halve step size (+/-)
    • Highlight with crosshairs on hovered cell
      • Blue for drawing
      • White for selecting
  • Navigation
    • 2D pan (///, W/A/S/D, or right/middle mouse drag)
    • Zoom (scroll wheel or Q/Z)
    • Pan/zoom faster while holding Shift
    • Reset view (Ctrl+M)
    • Fit pattern in view (Ctrl+F)
  • Drawing
    • Toggle cells (left mouse click/drag)
    • Select numbered cell state (0-9)
    • Cycle selected cell state ([/])
    • Cancel drawing (Esc)
  • Selection
    • Select rectangle (left mouse drag with Ctrl)
    • Select all (Ctrl+A)
    • Resize selection rectangle (left mouse drag with Ctrl+Shift)
    • Resize selection edge (left mouse drag from selection edge)
    • Resize selection to cursor (left mouse click/drag with Ctrl+Shift)
    • Move selected cells (left mouse drag from selection)
    • Duplicate selected cells (left mouse drag with Ctrl from selection)
    • Move selection (left mouse drag with Shift from selection)
    • Delete selected cells (Delete)
    • Deselect (Esc)
  • Copy/paste
    • Cut/copy selection as RLE (Ctrl+X/C)
    • Cut/copy selection as Macrocell (Ctrl+Shift+X/C)
    • Paste RLE or Macrocell (Ctrl+V)
  • Undo history
    • Undo (Ctrl+Z)
    • Redo (Ctrl+Y or Ctrl+Shift+Z)
    • Reset (Ctrl+R)
  • GUI
    • Simulation breakpoint
    • Display framerate (with color)
    • Display estimated maximum simulation update rate (with color)
    • Display generation count
    • Display total population
    • Display view scale and position
    • Display cursor position
    • Display estimated HashLife node pool memory usage
    • Display selected cell state