Skip to content

Latest commit

 

History

History
330 lines (234 loc) · 16.6 KB

CHANGELOG.md

File metadata and controls

330 lines (234 loc) · 16.6 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.

3.1.0 (2024-10-07)

🚀 Features

  • clamp value args to min/max range (ee866b1)
    • update dial, ring, sliders and XY pad components
    • ensure provided value arg is within limits
  • update ramp component & RampOpts (953f2fa)

♻️ Refactoring

  • update DropDownOpts (fe0f080)
    • rename title option => label

3.0.0 (2024-10-03)

🛑 Breaking changes

  • update all component/widget functions (ffe21dd)
  • BREAKING CHANGE: replace function args w/ option objects

2.3.1 (2024-09-05)

🩹 Bug fixes

  • update ramp(), clamp mouse pos (420b41a)

2.3.0 (2024-09-05)

🚀 Features

♻️ Refactoring

  • update textLabel to use geom types (176024f)

2.2.60 (2024-06-21)

♻️ Refactoring

  • update geom deps, update imports (afd0b8b)
  • enforce uniform naming convention of internal functions (56992b2)

2.2.55 (2024-04-20)

♻️ Refactoring

2.2.8 (2023-11-09)

♻️ Refactoring

  • update all tests (packages A-S) (e3085e4)

2.2.5 (2023-10-30)

♻️ Refactoring

  • add IGridLayout generics (bdca6fc)

2.2.0 (2023-10-18)

🚀 Features

  • add defGUI() factory fn (syntax sugar) (84ef0a8)
    • minor internal refactoring

2.1.9 (2022-04-07)

♻️ Refactoring

  • replace deprecated .substr() w/ .substring() (0710509)

2.1.0 (2021-11-17)

🚀 Features

  • Using workspaces for local tools (bf7a404) Improving the overall build ergonomics
    • introduced a tools workspaces
    • imported it in all needed packages/examples
    • inclusive project root

♻️ Refactoring

  • testrunner to binary (4ebbbb2) this commit reverts (partly) changes made in: ef346d7a8753590dc9094108a3d861a8dbd5dd2c overall purpose is better testament ergonomics: instead of having to pass NODE_OPTIONS with every invocation having a binary to handle this for us.

2.0.1 (2021-10-13)

♻️ Refactoring

  • update imports in all pkgs (5fa2b6f)
    • add .js suffix for all relative imports
  • update imports in all tests/pkgs (effd591)

2.0.0 (2021-10-12)

🛑 Breaking changes

  • major update of ALL pkgs (export maps, ESM only) (0d1d6ea)
  • BREAKING CHANGE: discontinue CommonJS & UMD versions
    • only ESM modules will be published from now on
    • CJS obsolete due to ESM support in recent versions of node:
      • i.e. launch NodeJS via:
      • node --experimental-specifier-resolution=node --experimental-repl-await
      • in the node REPL use await import(...) instead of require()
    • UMD obsolete due to widespread browser support for ESM Also:
    • normalize/restructure/reorg all package.json files
    • cleanup all build scripts, remove obsolete
    • switch from mocha to @thi.ng/testament for all tests

♻️ Refactoring

1.0.3 (2021-08-18)

🩹 Bug fixes

  • include missing src folder in pkg (67e2f71)
    • thanks to @djmike for reporting
    • see fix in fa8fdda12

0.2.70 (2021-04-24)

♻️ Refactoring

0.2.53 (2021-02-20)

♻️ Refactoring

0.2.44 (2020-12-07)

♻️ Refactoring

  • update type-only imports in various tests/pkgs (3fd9c24)
  • update type-only imports (f01e3f4)

0.2.42 (2020-11-24)

🩹 Bug fixes

  • update XY-pad value rounding/snapping (d45c073)

♻️ Refactoring

0.2.40 (2020-09-22)

♻️ Refactoring

  • dedupe dial/ring value labels (ff2b318)
    • extract dialValueLabel() helper
  • update textField() key/cursor handling (27889d3)
  • dedupe button label handling/creation (467159c)
  • dedupe dropdown caret (69332d9)
  • minor updates IMGUI class (aec84c6)
    • extract gc() method
    • update endTheme()/endDisabled()
  • extract layoutBox() helper, re-use (7e94bb4)
  • update hoverButton() behavior, re-use (a2a4c3b)
  • extract handleTextfieldKeys() (3c676aa)

0.2.39 (2020-09-13)

♻️ Refactoring

  • update deps, imports, use new Fn types (7921929)

0.2.36 (2020-08-19)

🩹 Bug fixes

  • don't update curr value to click position (12d6705)
    • when click occurs only update result value, not current value
    • fixes jitter issue when component state values are being interpolated (externally)

0.2.7 (2020-04-05)

♻️ Refactoring

  • switch to non-const enums (f0552e2)

0.2.0 (2020-02-25)

🚀 Features

♻️ Refactoring

0.1.6 (2020-01-24)

♻️ Refactoring

0.1.0 (2019-08-16)

🚀 Features

  • import as new package @thi.ng/imgui (f94b430)
  • add key consts, update key handling (shift/alt mods) (7809734)
  • add textField widget, update theme & key handling (53b068f)
  • add slider value format, minor other updates (399fa21)
  • add textfield scrolling, cursor movement, word jump (c94d4d9)
  • update textField, set cursor via mouse, update alt move/del (4f9760d)
  • update tab handling, allow all items unfocused (1a63694)
  • add touch support, minor widget refactoring (dcd19bc)
  • add XY-pad widget (6446e6e)
  • add dropdown widget, update hover behaviors (b9d725a)
  • add color type, keys, update default theme (e4facae)
  • add home/end key support in textField (ae75c08)
  • update dropdown, add tooltip support & tri icon (d662811)
  • add vertical slider, rename slider/sliderGroup (40c050e)
    • slider / sliderGroup = sliderH/sliderHGroup
    • add new sliderV / sliderVGroup
  • add toggle & radio buttons (6a491aa)
  • update theme init/config, add setTheme() (76ad91c)
  • add xyPad label offset args, minor refactoring (d224fe0)
  • add GridLayout, update all components (4f94981)
  • add/update layout types, handling, add more ctrl key consts (4086590)
  • update IGridLayout & GridLayout.next() (0c1d483)
    • expose readonly layout props
    • clamp colspan to max cols
    • minor optimizations
  • update button, dropdown, radio, sliderHGroup (588a321)
    • update buttonRaw to allow any IShape
    • update button to provide rect
    • update dropdown, radio, sliderHGroup to use nested layout
    • update radio to support horizontal/vertical layouts
    • remove dropdownRaw, radioRaw, sliderHGroupRaw
  • add layouted sliderV/Group, add/update various comp (7e0bfeb)
    • add square option for toggle() & radio()
    • add sliderV/sliderVGroup()
    • add textLabel() (layouted version)
    • add layouted xyPad w/ opt height constraints
    • minor optimizations GridLayout.next()
    • add IMGUI.textWidth()
  • add dial widget, extract key handlers, update layout (d3d2b27)
    • add dial/diaRaw() widgets
    • extract button & slider value updaters / key handlers
    • add GridLayout.nextSquare()
    • update button, toggle, sliders & xyPad widgets
  • add buttonV, radialMenu, update dropdown (03d5932)
  • rename dial => ring, add new dial, extract dialVal() (cd9a339)
  • add component resource caching & GC, update all comps & theme (7c3d399)
    • add .registerID() to mark used components & invalidate cache
    • add .resource() to retrieved component assets
    • update all comps to use cached shapes (at least partially)
  • update IMGUIOpts, input handling, optional event handling (d06a235)
    • remove width/height from IMGUIOpts
    • add IMGUI.setMouse/setKey to update mouse/key state
    • remove obsolete Set of active keys
    • make existing event handling optional, move to .useDefaultEventHandlers()
  • update toggleRaw() to update value earlier (21ba39d)
  • add GridLayout.spansForSize/colsForWidth/rowsForHeight (713dce1)
  • add textTransformH/V, update buttons to allow any body (05cc31f)
    • cache button labels in buttonH/V
  • add iconButton() (07599a4)
  • add cursor blink config, update textFieldRaw() (1d80e14)
  • update dropdown key handlers (Esc) (c2ef036)
  • non-destructive value updates, local state (b499c8c)
    • update all components to return new values (if edited) or else undefined
    • store local state (dropdown, textfield) in IMGUI state cache
  • add cursor & LayoutBox support, add docs (b8d0892)
  • add theme stack, extract default event handlers (b4aee22)
  • add disabled component stack, update theme & behaviors (dce481a)
  • add dialGroup, ringGroup, fix/update label hashing (0333fa6)
  • add key handling for radialMenu() (99c2987)
  • add IMGUI.draw flag, update components, add/update hash fns (c9bc287)
  • add IMGUI.clear(), update deps (d10732d)

🩹 Bug fixes

  • touch event handling (FF/Safari) (af697d9)

⏱ Performance improvements

  • update comp hashing to use murmur hash vs toString, use ES6 Maps (7db92b9)
    • hash() ~2x faster than String()
    • use ES6 Maps for IMGUI resource caches to avoid hash string conv (8-10x faster)

♻️ Refactoring

  • update button & dropdown (c030b4d)
  • update mouse hover handling (8e907e0)
  • update label handling in sliderV/radialMenu, update ring (ad0d9c9)
  • extract hover behavior fns, fix button behavior (15ae744)
    • extract IMGUI.isHover as isHoverSlider()
    • add isHoverButton(), revert behavior to not trigger if mouse released outside
    • update all required comps