@thi.ng/imgui 3.1.16 → 3.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +3 -246
  2. package/README.md +1 -1
  3. package/package.json +12 -14
package/CHANGELOG.md CHANGED
@@ -1,9 +1,11 @@
1
1
  # Change Log
2
2
 
3
- - **Last updated**: 2025-01-21T15:46:53Z
3
+ - **Last updated**: 2025-01-29T16:25:48Z
4
4
  - **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
5
5
 
6
6
  All notable changes to this project will be documented in this file.
7
+ Only versions published since **2022-01-01** are listed here.
8
+ Please consult the Git history for older version information.
7
9
  See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
8
10
 
9
11
  **Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
@@ -83,248 +85,3 @@ and/or version bumps of transitive dependencies.
83
85
  #### ♻️ Refactoring
84
86
 
85
87
  - replace deprecated .substr() w/ .substring() ([0710509](https://github.com/thi-ng/umbrella/commit/0710509))
86
-
87
- ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@2.1.0) (2021-11-17)
88
-
89
- #### 🚀 Features
90
-
91
- - Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
92
- Improving the overall build ergonomics
93
- - introduced a tools workspaces
94
- - imported it in all needed packages/examples
95
- - inclusive project root
96
-
97
- #### ♻️ Refactoring
98
-
99
- - testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
100
- this commit reverts (partly) changes made in:
101
- ef346d7a8753590dc9094108a3d861a8dbd5dd2c
102
- overall purpose is better testament ergonomics:
103
- instead of having to pass NODE_OPTIONS with every invocation
104
- having a binary to handle this for us.
105
-
106
- ### [2.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@2.0.1) (2021-10-13)
107
-
108
- #### ♻️ Refactoring
109
-
110
- - update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
111
- - add .js suffix for all relative imports
112
- - update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
113
-
114
- # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@2.0.0) (2021-10-12)
115
-
116
- #### 🛑 Breaking changes
117
-
118
- - major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
119
- - BREAKING CHANGE: discontinue CommonJS & UMD versions
120
- - only ESM modules will be published from now on
121
- - CJS obsolete due to ESM support in recent versions of node:
122
- - i.e. launch NodeJS via:
123
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
124
- - in the node REPL use `await import(...)` instead of `require()`
125
- - UMD obsolete due to widespread browser support for ESM
126
- Also:
127
- - normalize/restructure/reorg all package.json files
128
- - cleanup all build scripts, remove obsolete
129
- - switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
130
-
131
- #### ♻️ Refactoring
132
-
133
- - update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
134
- - update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
135
- - update all test stubs ([f2d6d53](https://github.com/thi-ng/umbrella/commit/f2d6d53))
136
- - update imports ([138571a](https://github.com/thi-ng/umbrella/commit/138571a))
137
- - update imports ([82767ed](https://github.com/thi-ng/umbrella/commit/82767ed))
138
- - update imports (transducers) ([1ffb357](https://github.com/thi-ng/umbrella/commit/1ffb357))
139
- - dedupe ringRaw() internals ([6af7e1e](https://github.com/thi-ng/umbrella/commit/6af7e1e))
140
- - update imports ([1381ade](https://github.com/thi-ng/umbrella/commit/1381ade))
141
- - update imports ([d885c67](https://github.com/thi-ng/umbrella/commit/d885c67))
142
- - update imports ([e6c97d2](https://github.com/thi-ng/umbrella/commit/e6c97d2))
143
-
144
- ### [1.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@1.0.3) (2021-08-18)
145
-
146
- #### 🩹 Bug fixes
147
-
148
- - include missing src folder in pkg ([67e2f71](https://github.com/thi-ng/umbrella/commit/67e2f71))
149
- - thanks to @djmike for reporting
150
- - see fix in [fa8fdda12](https://github.com/thi-ng/umbrella/commit/fa8fdda12)
151
-
152
- ### [0.2.70](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.70) (2021-04-24)
153
-
154
- #### ♻️ Refactoring
155
-
156
- - modulo handling in radialMenu() ([7a207ab](https://github.com/thi-ng/umbrella/commit/7a207ab))
157
- - reflecting change in [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/main/packages/math)
158
-
159
- ### [0.2.53](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.53) (2021-02-20)
160
-
161
- #### ♻️ Refactoring
162
-
163
- - use clamp0() ([6c4a2c0](https://github.com/thi-ng/umbrella/commit/6c4a2c0))
164
-
165
- ### [0.2.44](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.44) (2020-12-07)
166
-
167
- #### ♻️ Refactoring
168
-
169
- - update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
170
- - update type-only imports ([f01e3f4](https://github.com/thi-ng/umbrella/commit/f01e3f4))
171
-
172
- ### [0.2.42](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.42) (2020-11-24)
173
-
174
- #### 🩹 Bug fixes
175
-
176
- - update XY-pad value rounding/snapping ([d45c073](https://github.com/thi-ng/umbrella/commit/d45c073))
177
-
178
- #### ♻️ Refactoring
179
-
180
- - update destructuring ([273e2bd](https://github.com/thi-ng/umbrella/commit/273e2bd))
181
-
182
- ### [0.2.40](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.40) (2020-09-22)
183
-
184
- #### ♻️ Refactoring
185
-
186
- - dedupe dial/ring value labels ([ff2b318](https://github.com/thi-ng/umbrella/commit/ff2b318))
187
- - extract dialValueLabel() helper
188
- - update textField() key/cursor handling ([27889d3](https://github.com/thi-ng/umbrella/commit/27889d3))
189
- - dedupe button label handling/creation ([467159c](https://github.com/thi-ng/umbrella/commit/467159c))
190
- - dedupe dropdown caret ([69332d9](https://github.com/thi-ng/umbrella/commit/69332d9))
191
- - minor updates IMGUI class ([aec84c6](https://github.com/thi-ng/umbrella/commit/aec84c6))
192
- - extract gc() method
193
- - update endTheme()/endDisabled()
194
- - extract layoutBox() helper, re-use ([7e94bb4](https://github.com/thi-ng/umbrella/commit/7e94bb4))
195
- - update hoverButton() behavior, re-use ([a2a4c3b](https://github.com/thi-ng/umbrella/commit/a2a4c3b))
196
- - extract handleTextfieldKeys() ([3c676aa](https://github.com/thi-ng/umbrella/commit/3c676aa))
197
-
198
- ### [0.2.39](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.39) (2020-09-13)
199
-
200
- #### ♻️ Refactoring
201
-
202
- - update deps, imports, use new Fn types ([7921929](https://github.com/thi-ng/umbrella/commit/7921929))
203
-
204
- ### [0.2.36](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.36) (2020-08-19)
205
-
206
- #### 🩹 Bug fixes
207
-
208
- - don't update curr value to click position ([12d6705](https://github.com/thi-ng/umbrella/commit/12d6705))
209
- - when click occurs only update result value, not current value
210
- - fixes jitter issue when component state values are
211
- being interpolated (externally)
212
-
213
- ### [0.2.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.7) (2020-04-05)
214
-
215
- #### ♻️ Refactoring
216
-
217
- - switch to non-const enums ([f0552e2](https://github.com/thi-ng/umbrella/commit/f0552e2))
218
-
219
- ## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.2.0) (2020-02-25)
220
-
221
- #### 🚀 Features
222
-
223
- - remove layout, update imports, readme ([c89a6d8](https://github.com/thi-ng/umbrella/commit/c89a6d8))
224
- - all layout features migrated to new [@thi.ng/layout](https://github.com/thi-ng/umbrella/tree/main/packages/layout) pkg
225
-
226
- #### ♻️ Refactoring
227
-
228
- - update imports ([feba46c](https://github.com/thi-ng/umbrella/commit/feba46c))
229
-
230
- ### [0.1.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.1.6) (2020-01-24)
231
-
232
- #### ♻️ Refactoring
233
-
234
- - add IClear decl ([f498e31](https://github.com/thi-ng/umbrella/commit/f498e31))
235
-
236
- ## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imgui@0.1.0) (2019-08-16)
237
-
238
- #### 🚀 Features
239
-
240
- - import as new package [@thi.ng/imgui](https://github.com/thi-ng/umbrella/tree/main/packages/imgui) ([f94b430](https://github.com/thi-ng/umbrella/commit/f94b430))
241
- - add key consts, update key handling (shift/alt mods) ([7809734](https://github.com/thi-ng/umbrella/commit/7809734))
242
- - add textField widget, update theme & key handling ([53b068f](https://github.com/thi-ng/umbrella/commit/53b068f))
243
- - add slider value format, minor other updates ([399fa21](https://github.com/thi-ng/umbrella/commit/399fa21))
244
- - add textfield scrolling, cursor movement, word jump ([c94d4d9](https://github.com/thi-ng/umbrella/commit/c94d4d9))
245
- - update textField, set cursor via mouse, update alt move/del ([4f9760d](https://github.com/thi-ng/umbrella/commit/4f9760d))
246
- - update tab handling, allow all items unfocused ([1a63694](https://github.com/thi-ng/umbrella/commit/1a63694))
247
- - add touch support, minor widget refactoring ([dcd19bc](https://github.com/thi-ng/umbrella/commit/dcd19bc))
248
- - add XY-pad widget ([6446e6e](https://github.com/thi-ng/umbrella/commit/6446e6e))
249
- - add dropdown widget, update hover behaviors ([b9d725a](https://github.com/thi-ng/umbrella/commit/b9d725a))
250
- - add color type, keys, update default theme ([e4facae](https://github.com/thi-ng/umbrella/commit/e4facae))
251
- - add home/end key support in textField ([ae75c08](https://github.com/thi-ng/umbrella/commit/ae75c08))
252
- - update dropdown, add tooltip support & tri icon ([d662811](https://github.com/thi-ng/umbrella/commit/d662811))
253
- - add vertical slider, rename slider/sliderGroup ([40c050e](https://github.com/thi-ng/umbrella/commit/40c050e))
254
- - slider / sliderGroup = sliderH/sliderHGroup
255
- - add new sliderV / sliderVGroup
256
- - add toggle & radio buttons ([6a491aa](https://github.com/thi-ng/umbrella/commit/6a491aa))
257
- - update theme init/config, add setTheme() ([76ad91c](https://github.com/thi-ng/umbrella/commit/76ad91c))
258
- - add xyPad label offset args, minor refactoring ([d224fe0](https://github.com/thi-ng/umbrella/commit/d224fe0))
259
- - add GridLayout, update all components ([4f94981](https://github.com/thi-ng/umbrella/commit/4f94981))
260
- - add/update layout types, handling, add more ctrl key consts ([4086590](https://github.com/thi-ng/umbrella/commit/4086590))
261
- - update IGridLayout & GridLayout.next() ([0c1d483](https://github.com/thi-ng/umbrella/commit/0c1d483))
262
- - expose readonly layout props
263
- - clamp colspan to max cols
264
- - minor optimizations
265
- - update button, dropdown, radio, sliderHGroup ([588a321](https://github.com/thi-ng/umbrella/commit/588a321))
266
- - update buttonRaw to allow any IShape
267
- - update button to provide rect
268
- - update dropdown, radio, sliderHGroup to use nested layout
269
- - update radio to support horizontal/vertical layouts
270
- - remove dropdownRaw, radioRaw, sliderHGroupRaw
271
- - add layouted sliderV/Group, add/update various comp ([7e0bfeb](https://github.com/thi-ng/umbrella/commit/7e0bfeb))
272
- - add `square` option for toggle() & radio()
273
- - add sliderV/sliderVGroup()
274
- - add textLabel() (layouted version)
275
- - add layouted xyPad w/ opt height constraints
276
- - minor optimizations GridLayout.next()
277
- - add IMGUI.textWidth()
278
- - add dial widget, extract key handlers, update layout ([d3d2b27](https://github.com/thi-ng/umbrella/commit/d3d2b27))
279
- - add dial/diaRaw() widgets
280
- - extract button & slider value updaters / key handlers
281
- - add GridLayout.nextSquare()
282
- - update button, toggle, sliders & xyPad widgets
283
- - add buttonV, radialMenu, update dropdown ([03d5932](https://github.com/thi-ng/umbrella/commit/03d5932))
284
- - rename dial => ring, add new dial, extract dialVal() ([cd9a339](https://github.com/thi-ng/umbrella/commit/cd9a339))
285
- - add component resource caching & GC, update all comps & theme ([7c3d399](https://github.com/thi-ng/umbrella/commit/7c3d399))
286
- - add .registerID() to mark used components & invalidate cache
287
- - add .resource() to retrieved component assets
288
- - update all comps to use cached shapes (at least partially)
289
- - update IMGUIOpts, input handling, optional event handling ([d06a235](https://github.com/thi-ng/umbrella/commit/d06a235))
290
- - remove width/height from IMGUIOpts
291
- - add IMGUI.setMouse/setKey to update mouse/key state
292
- - remove obsolete Set of active keys
293
- - make existing event handling optional, move to .useDefaultEventHandlers()
294
- - update toggleRaw() to update value earlier ([21ba39d](https://github.com/thi-ng/umbrella/commit/21ba39d))
295
- - add GridLayout.spansForSize/colsForWidth/rowsForHeight ([713dce1](https://github.com/thi-ng/umbrella/commit/713dce1))
296
- - add textTransformH/V, update buttons to allow any body ([05cc31f](https://github.com/thi-ng/umbrella/commit/05cc31f))
297
- - cache button labels in buttonH/V
298
- - add iconButton() ([07599a4](https://github.com/thi-ng/umbrella/commit/07599a4))
299
- - add cursor blink config, update textFieldRaw() ([1d80e14](https://github.com/thi-ng/umbrella/commit/1d80e14))
300
- - update dropdown key handlers (Esc) ([c2ef036](https://github.com/thi-ng/umbrella/commit/c2ef036))
301
- - non-destructive value updates, local state ([b499c8c](https://github.com/thi-ng/umbrella/commit/b499c8c))
302
- - update all components to return new values (if edited) or else undefined
303
- - store local state (dropdown, textfield) in IMGUI state cache
304
- - add cursor & LayoutBox support, add docs ([b8d0892](https://github.com/thi-ng/umbrella/commit/b8d0892))
305
- - add theme stack, extract default event handlers ([b4aee22](https://github.com/thi-ng/umbrella/commit/b4aee22))
306
- - add disabled component stack, update theme & behaviors ([dce481a](https://github.com/thi-ng/umbrella/commit/dce481a))
307
- - add dialGroup, ringGroup, fix/update label hashing ([0333fa6](https://github.com/thi-ng/umbrella/commit/0333fa6))
308
- - add key handling for radialMenu() ([99c2987](https://github.com/thi-ng/umbrella/commit/99c2987))
309
- - add IMGUI.draw flag, update components, add/update hash fns ([c9bc287](https://github.com/thi-ng/umbrella/commit/c9bc287))
310
- - add IMGUI.clear(), update deps ([d10732d](https://github.com/thi-ng/umbrella/commit/d10732d))
311
-
312
- #### 🩹 Bug fixes
313
-
314
- - touch event handling (FF/Safari) ([af697d9](https://github.com/thi-ng/umbrella/commit/af697d9))
315
-
316
- #### ⏱ Performance improvements
317
-
318
- - update comp hashing to use murmur hash vs toString, use ES6 Maps ([7db92b9](https://github.com/thi-ng/umbrella/commit/7db92b9))
319
- - hash() ~2x faster than String()
320
- - use ES6 Maps for IMGUI resource caches to avoid hash string conv (8-10x faster)
321
-
322
- #### ♻️ Refactoring
323
-
324
- - update button & dropdown ([c030b4d](https://github.com/thi-ng/umbrella/commit/c030b4d))
325
- - update mouse hover handling ([8e907e0](https://github.com/thi-ng/umbrella/commit/8e907e0))
326
- - update label handling in sliderV/radialMenu, update ring ([ad0d9c9](https://github.com/thi-ng/umbrella/commit/ad0d9c9))
327
- - extract hover behavior fns, fix button behavior ([15ae744](https://github.com/thi-ng/umbrella/commit/15ae744))
328
- - extract IMGUI.isHover as isHoverSlider()
329
- - add isHoverButton(), revert behavior to not trigger if mouse released outside
330
- - update all required comps
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [![Mastodon Follow](https://img.shields.io/mastodon/follow/109331703950160316?domain=https%3A%2F%2Fmastodon.thi.ng&style=social)](https://mastodon.thi.ng/@toxi)
8
8
 
9
9
  > [!NOTE]
10
- > This is one of 200 standalone projects, maintained as part
10
+ > This is one of 201 standalone projects, maintained as part
11
11
  > of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo
12
12
  > and anti-framework.
13
13
  >
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thi.ng/imgui",
3
- "version": "3.1.16",
3
+ "version": "3.1.18",
4
4
  "description": "Immediate mode GUI with flexible state handling & data only shape output",
5
5
  "type": "module",
6
6
  "module": "./index.js",
@@ -33,28 +33,26 @@
33
33
  "build:esbuild": "esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts",
34
34
  "clean": "bun ../../tools/src/clean-package.ts behaviors components",
35
35
  "doc": "typedoc --options ../../typedoc.json --out doc src/index.ts",
36
- "doc:ae": "mkdir -p .ae/doc .ae/temp && api-extractor run --local --verbose",
37
36
  "doc:readme": "bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts",
38
37
  "pub": "yarn npm publish --access public",
39
38
  "test": "bun test",
40
39
  "tool:tangle": "../../node_modules/.bin/tangle src/**/*.ts"
41
40
  },
42
41
  "dependencies": {
43
- "@thi.ng/api": "^8.11.17",
44
- "@thi.ng/checks": "^3.6.20",
45
- "@thi.ng/geom": "^8.1.26",
46
- "@thi.ng/geom-isec": "^4.0.29",
47
- "@thi.ng/layout": "^3.1.13",
48
- "@thi.ng/math": "^5.11.17",
49
- "@thi.ng/ramp": "^3.3.19",
50
- "@thi.ng/transducers": "^9.2.15",
51
- "@thi.ng/vectors": "^7.12.17"
42
+ "@thi.ng/api": "^8.11.19",
43
+ "@thi.ng/checks": "^3.6.22",
44
+ "@thi.ng/geom": "^8.1.28",
45
+ "@thi.ng/geom-isec": "^4.0.31",
46
+ "@thi.ng/layout": "^3.1.15",
47
+ "@thi.ng/math": "^5.11.19",
48
+ "@thi.ng/ramp": "^3.3.21",
49
+ "@thi.ng/transducers": "^9.2.17",
50
+ "@thi.ng/vectors": "^7.12.19"
52
51
  },
53
52
  "devDependencies": {
54
- "@microsoft/api-extractor": "^7.48.1",
55
53
  "esbuild": "^0.24.2",
56
54
  "typedoc": "^0.27.6",
57
- "typescript": "^5.7.2"
55
+ "typescript": "^5.7.3"
58
56
  },
59
57
  "keywords": [
60
58
  "browser",
@@ -164,5 +162,5 @@
164
162
  ],
165
163
  "year": 2019
166
164
  },
167
- "gitHead": "363db3998a14ddfd7a82f3039d8ca9681581e284\n"
165
+ "gitHead": "fc1d498e8d4b690db873c30cc594352a804e7a65\n"
168
166
  }