Michael Freno
e9b532b8f8
fixes to run individual
2025-12-12 20:46:16 -05:00
Michael Freno
1d6ad6018f
want things simpler
2025-12-12 19:16:55 -05:00
Michael Freno
b714b6204c
fix layout
2025-12-12 16:06:37 -05:00
github-actions[bot]
aff4a519b2
Archive previous documentation and generate v0.7.0 docs [skip ci]
2025-12-12 05:10:38 +00:00
Michael Freno
269bf39466
v0.7.0 release
2025-12-12 00:10:15 -05:00
Michael Freno
ec73d8c7c8
cleaned up rendering mode swapping
2025-12-12 00:08:25 -05:00
Michael Freno
9d8f6aa60d
fix clear focus loop
2025-12-11 22:19:10 -05:00
Michael Freno
3498ed7f24
consolidation of focused element
2025-12-11 16:50:35 -05:00
Michael Freno
56c8e744d5
hover&unhover events
2025-12-11 13:07:41 -05:00
Michael Freno
0bceade7d5
starting mode escape hatch
2025-12-11 11:37:20 -05:00
Michael Freno
eaf7383b8f
meta
2025-12-11 07:03:06 -05:00
Michael Freno
0d35825913
fix grammar
2025-12-07 11:32:43 -05:00
github-actions[bot]
a318f71faa
Archive previous documentation and generate v0.6.1 docs [skip ci]
2025-12-07 16:23:59 +00:00
Michael Freno
f1b00710f2
v0.6.1 release
2025-12-07 11:23:36 -05:00
Michael Freno
392edc21f7
update to borders adding varying widths
2025-12-07 11:23:00 -05:00
Michael Freno
609a54b4f1
flesh out Calc, with lsp support
2025-12-07 11:14:12 -05:00
Michael Freno
4f60e00b2e
formatting
2025-12-07 08:46:39 -05:00
Michael Freno
5ef00fe65e
remove and update
2025-12-07 01:01:59 -05:00
github-actions[bot]
8765e97067
Archive previous documentation and generate v0.6.0 docs [skip ci]
2025-12-07 05:58:03 +00:00
Michael Freno
5dcb2922f4
v0.6.0 release
2025-12-07 00:57:40 -05:00
Michael Freno
502eeb1e11
calc module
2025-12-07 00:56:55 -05:00
Michael Freno
f532837cf3
luarocks stuff
2025-12-06 16:21:03 -05:00
Michael Freno
da69d8bd4f
setup for luarocks releases
2025-12-06 14:19:00 -05:00
Michael Freno
5088123ad4
update install instructions
2025-12-06 13:53:43 -05:00
Michael Freno
e833d2b0bf
update docs quick start
2025-12-06 13:49:10 -05:00
Michael Freno
c2cf29eab8
readme clarifications
2025-12-06 13:43:35 -05:00
Mike Freno
d8e160f083
Fix videos
2025-12-06 13:37:19 -05:00
Mike Freno
485ac34738
Update README.md
2025-12-06 13:29:06 -05:00
Michael Freno
41a964595f
update readme with visuals
2025-12-06 13:11:05 -05:00
github-actions[bot]
4279da0e26
Archive previous documentation and generate v0.5.4 docs [skip ci]
2025-12-06 17:00:21 +00:00
Michael Freno
c222a5a6a7
v0.5.4 release
2025-12-06 11:59:59 -05:00
Michael Freno
b790fb1d32
fix text selection in immediate mode
2025-12-06 11:59:00 -05:00
Michael Freno
63c31aed16
fixed regression
2025-12-06 11:15:08 -05:00
Michael Freno
986887c2cc
better controls over themed scrollbars
2025-12-06 11:11:15 -05:00
Michael Freno
b18592f358
move old systemout to use errorhandler
2025-12-06 10:43:43 -05:00
Michael Freno
c7b242a1c8
v0.5.3 release
2025-12-06 10:37:07 -05:00
Michael Freno
9c29bbe363
scrolling fixed for immediate mode
2025-12-06 10:37:07 -05:00
Michael Freno
f4dc92907c
scrolling improvements
2025-12-06 10:37:07 -05:00
github-actions[bot]
c59f7c5661
Archive previous documentation and generate v0.5.2 docs [skip ci]
2025-12-05 20:03:26 +00:00
Michael Freno
d126de6078
v0.5.2 release
2025-12-05 15:03:07 -05:00
Michael Freno
f3a65871da
include FFI module
2025-12-05 15:01:17 -05:00
Michael Freno
1855e7f0f3
removed unneeded md
2025-12-05 14:54:26 -05:00
Michael Freno
abe34c4749
Implement algorithmic performance optimizations
...
Implemented high-impact optimizations from PERFORMANCE_ANALYSIS.md:
1. Dirty Flag System (30-50% fewer layouts):
- Added _dirty and _childrenDirty flags to Element module
- Elements track when properties change that affect layout
- LayoutEngine checks dirty flags before expensive layout calculations
- Element:setProperty() invalidates layout for layout-affecting properties
2. Dimension Caching (10-15% faster):
- Enhanced _borderBoxWidth/_borderBoxHeight caching
- Proper cache invalidation in invalidateLayout()
- Reduces redundant getBorderBox calculations
3. Local Variable Hoisting (15-20% faster):
- Hoisted frequently accessed properties outside tight loops
- Reduced table lookups in wrapping logic (child.margin cached)
- Optimized line height calculation (isHorizontal hoisted)
- Heavily optimized positioning loop (hottest path):
* Cached element.x, element.y, element.padding
* Hoisted alignment enums outside loop
* Cached child.margin, child.padding per iteration
* 3-4 table lookups → 2 lookups per child
4. Array Preallocation (5-10% less GC):
- Preallocated lineHeights with table.create() when available
- Graceful fallback to {} on standard Lua
Estimated total gain: 40-60% improvement (2-3x faster layouts)
All 1257 tests passing. Zero breaking changes.
See ALGORITHMIC_OPTIMIZATIONS.md for full details.
2025-12-05 14:43:46 -05:00
Michael Freno
f785760e18
Merge luajit-ffi-optimizations into main
...
Adds FFI module with object pooling and batch operations.
Provides 5-10% performance gains with graceful Lua fallback.
Foundation for future optimizations documented in PERFORMANCE_ANALYSIS.md
2025-12-05 14:35:42 -05:00
Michael Freno
4652f05dac
Add LuaJIT FFI optimizations for memory management
...
- New FFI module with object pooling for Vec2, Rect, Timer structs
- Integrated FFI into LayoutEngine, Performance, and Color modules
- Graceful fallback to standard Lua when LuaJIT unavailable
- Added ffi_comparison_profile.lua for automated benchmarking
- Comprehensive documentation of gains and real bottlenecks
Reality: 5-10% performance improvement (marginal gains)
FFI targets wrong bottleneck - real issue is O(n²) layout algorithm
See PERFORMANCE_ANALYSIS.md for high-impact optimizations (2-3x gains)
2025-12-05 14:35:37 -05:00
Michael Freno
ddb708a920
fixed listed changes in release
2025-12-05 11:58:13 -05:00
Michael Freno
8c7d107895
v0.5.1 release
2025-12-05 11:52:30 -05:00
Michael Freno
ae2d28f6b1
Adjust autosizing to better account for text wrapping.
2025-12-05 11:52:30 -05:00
github-actions[bot]
873299833b
Archive previous documentation and generate v0.5.0 docs [skip ci]
2025-12-05 16:44:31 +00:00
Michael Freno
58c750108a
v0.5.0 release
2025-12-05 11:44:11 -05:00