Commit Graph
56 Commits
Author SHA1 Message Date
4DBug e228ed8638 Roblox backend: text proxy is opt-in (SetTextProxy), remove SetTextProxyDebug; new example main.client.luau 2026-10-09 02:22:30 -05:00
4DBug 28dc08e043 README: move 'How it works' below Getting Started
Build & Release / build (push) Canceled after 0s
2026-10-08 20:57:31 -05:00
4DBug f63a37f07d README: Wally package link; 0.1.1
Build & Release / build (push) Canceled after 0s
2026-10-08 20:54:31 -05:00
4DBug 08356b4f1f Wally: scope 4dbug (must match the GitHub account)
Build & Release / build (push) Canceled after 0s
2026-10-08 20:52:52 -05:00
4DBug 14e6da3b29 SetNextWindowCached(key): opt-in cached windows on top of the refresh policy (skip contents while idle), t_cached_window test, README snippet
Build & Release / build (push) Canceled after 0s
2026-10-08 20:43:56 -05:00
4DBug df4cf4cd80 Luau types: generated typed entry module build/ImGuiTyped.luau (requires the bundle as child Impl); Rojo/Wally use it 2026-10-08 20:36:27 -05:00
4DBug 2bef2ad43a Wally package (bug/imgui-luau), published by CI on v* tags 2026-10-08 20:30:22 -05:00
4DBug df9f194d87 README: AI disclosure wording; .gitignore 2026-10-08 20:29:29 -05:00
4DBug c085571602 README: AI disclosure
Build & Release / build (push) Canceled after 0s
2026-10-08 19:43:06 -05:00
4DBug 2d76c42b51 GitHub-only mirror notice (.github/README.md, synced from README.md), 'latest' is a full release
Build & Release / build (push) Canceled after 0s
2026-10-08 19:40:49 -05:00
4DBug 9266dc91b8 GitHub Actions: build Roblox/LÖVE bundles (with and without demo), check, publish to Releases (latest + v* tags)
Build & Release / build (push) Canceled after 0s
2026-10-08 19:34:40 -05:00
4DBug df82a46633 README: 'Dear ImGui for Roblox (and more)', Backends section/table, multi-backend wording 2026-10-08 19:31:22 -05:00
4DBug 04a6379b18 README: in-depth Roblox backend explanation; FAQ: why this exists, vs Iris, trade-offs 2026-10-08 19:31:22 -05:00
4DBug 5dcda2b550 Move LuaJIT compat shims into backends/imgui_impl_love.lua (COMPAT section); remove compat/ 2026-10-08 19:31:22 -05:00
4DBug 66fa061089 LÖVE backend + build target (compat/luajit.lua shims, Roblox build unchanged), examples/example_love, examples/example_shared (same app on Roblox and LÖVE), LuaJIT checksum tests 2026-10-08 19:31:22 -05:00
4DBug 81c5ad9e43 Roblox backend: hidden TextBox proxy for text input
A single off-screen TextBox holds focus while an imgui text field is active, so the OS
delivers typing (any layout/unicode), paste and copy/cut. Its text mirrors imgui selection
(fully selected) so Ctrl+C/X copy exactly that; deletions apply as an imgui Backspace;
Ctrl is released around pasted characters. Focus is captured after the click is released,
kept on clicks inside imgui, ends on clicks outside. KeyCode text kept as fallback.
SetTextProxyDebug for logging.
2026-10-08 19:31:22 -05:00
4DBug 20c29bba7e Decal Viewer: try thumbnail pixels, fall back to an ImageLabel thumbnail when the asset's pixels can't be read 2026-10-08 17:42:15 -05:00
4DBug 7074a41528 Decal Viewer example (decal/image id -> imgui texture, demo image viewer with grid); backend CreateTexture/DestroyTexture 2026-10-08 17:38:33 -05:00
4DBug ffc0332971 Embed widget example (Instances inside imgui windows, one Frame per id, hidden when not submitted, EmbedFlags) + backend SetOverlay 2026-10-08 17:28:13 -05:00
4DBug dfe357d963 README: credit GrayWolf64/imgui-lua 2026-10-08 17:17:46 -05:00
4DBug e0c2c2cf21 README modelled on upstream with rendered screenshots/GIF, docs/TODO.txt, screenshot tooling, t_readme snippet test, ImGui.NewTextBuffer helpers 2026-10-08 17:15:54 -05:00
4DBug e051302b23 Rename 'ImGui Sincerely' to 'Dear ImGui' 2026-10-08 17:00:00 -05:00
4DBug 8421bb5475 Reorganize like upstream: library at root (docking/dragdrop/debug tools merged into imgui.lua, tabs into imgui_widgets.lua), single imgui_demo.lua, backends/, fonts/, examples/, docs/; --no-demo build 2026-10-08 16:47:42 -05:00
4DBug 7c2a37a5d5 Style Editor Colors tab: ListClipper so only visible rows are submitted 2026-10-08 13:18:29 -05:00
4DBug 06523e5417 Perf: ColorEdit4 layout-only fast path for fully clipped rows, cached drag/slider value text, @native on color/group widgets; t_widget_cost + t_colors_hash 2026-10-08 12:31:10 -05:00
4DBug 0e06d846cf Perf: ImDrawList vertices in a flat buffer (f64 pos/uv + u32 col); backend reads it directly and skips draw lists identical to last frame 2026-10-08 12:11:36 -05:00
4DBug b19fe61236 Roblox backend: window content in its own clipped layer at the scroll origin (scrolling moves pixels instead of redrawing), 128px tiles 2026-10-08 11:52:42 -05:00
4DBug c4816a4237 Roblox backend: optional SetBusyRenderRate (lower redraw rate while scrolling/resizing/moving) 2026-10-08 11:43:31 -05:00
4DBug ab108d288b Roblox backend: clear/upload only each tile's dirty region; scroll benchmark in t_drag, scrolling in t_composite 2026-10-08 11:33:28 -05:00
4DBug ceb66d3067 Roblox backend: one layer (Frame + tiles) per draw list so moving windows costs no redraw; gradient rect fast path; t_drag/t_composite checks 2026-10-08 11:10:53 -05:00
4DBug 71843392f1 Perf: allocation-free ItemSize/ItemAdd/IsMouseHoveringRect/GetColorU32/RenderArrow, @native on hot UI paths; t_drawhash output-equivalence check 2026-10-08 10:41:15 -05:00
4DBug d9a741aa0e Fix StyleCopy for named-field vectors (Style Editor assert) 2026-10-08 10:33:05 -05:00
4DBug cdf72ede17 Perf: memoize ImHashStr per seed, inline glyph lookup in ImFont:RenderText 2026-10-08 10:21:16 -05:00
4DBug 623dc5b936 Perf: ImVec2/ImVec4/ImRect store named fields (no metamethod per .x/.Min), bench flags --roblox/--open-only 2026-10-08 10:16:40 -05:00
4DBug 7a20710b65 Perf: cache text sizes per baked font, AddRect fast path as 4 rects; run.py --profile + prof.py 2026-10-08 10:03:18 -05:00
4DBug e12368ee21 Roblox backend: 60 Hz render cap (SetRenderRate) and MicroProfiler labels (SetProfiling) 2026-10-08 09:49:18 -05:00
4DBug ab3cf956c9 Embed upstream misc/fonts; Catppuccin Mocha theme in main.client.luau 2026-10-08 09:40:04 -05:00
4DBug 3fca191b86 Fix PushStyleVar aliasing the caller's ImVec2 into the style; fix DebugNodeFontGlyph crash 2026-10-08 09:27:57 -05:00
4DBug 1dd48be9b8 Port window hit-test hole so PassthruCentralNode doesn't capture the mouse 2026-10-08 09:15:32 -05:00
4DBug a083d0c9bc Revert "Roblox backend: block game input with a 1x1 frame under the mouse instead of Active tiles"
This reverts commit 9bbd6671f1.
2026-10-08 09:14:51 -05:00
4DBug 9bbd6671f1 Roblox backend: block game input with a 1x1 frame under the mouse instead of Active tiles 2026-10-08 09:13:01 -05:00
4DBug 0cba4f7ce8 tools: full Metrics/Debugger window (windows, drawlists, viewports, fonts, popups, tab bars, tables, docking, settings, inputs, internal state, rect overlays) 2026-10-08 08:40:30 -05:00
4DBug 91d8a2847f tools: About, Debug Log, ID Stack Tool, ShowFontAtlas/DebugNodeFont/Texture, ShowFontSelector; debug log macros route to DebugLog; GetID hooks 2026-10-08 08:33:57 -05:00
4DBug 1862183f78 demo: dockspace + documents example apps 2026-10-08 08:28:23 -05:00
4DBug b81af27d58 draw: Ngon/Ellipse/Bezier/concave fill; demo: custom rendering app 2026-10-08 08:27:05 -05:00
4DBug a75e24ac4c demo: example apps (console, log, layout, property editor, long text, auto/constrained resize, overlay, fullscreen, window titles) 2026-10-08 08:24:43 -05:00
4DBug 4719eeedf3 roblox backend: render scale for high-DPI displays; make tiles Active while imgui wants the mouse so input doesn't reach the game 2026-10-08 08:21:54 -05:00
4DBug d7a2b8a4df demo: port all Widgets sections, ShowStyleEditor/ShowStyleSelector, menus; fix crashes found by click fuzzer (color/scalar default args, InputTextWithHint string hint, AddText overload, splitter reset, CollapsingHeader close button, callback data methods, SetKeyboardFocusHere & misc getters) 2026-10-08 08:06:00 -05:00
4DBug 701d1d3449 tables: full port of imgui_tables.cpp (layout, borders, draw channel merge, sorting, headers, angled headers, context menu, .ini settings, reconcile, GC) + legacy Columns API; demo: ShowUserGuide, DemoWindowColumns; misc widget aliases 2026-10-08 06:53:00 -05:00
4DBug 9860373ce5 core: ListClipper, TextFilter, error recovery + error tooltip, NavEndFrame; widgets: Combo, ListBox, TreeNodeEx/TreePush, MainMenuBar, ViewportSideBar; tree node fixes 2026-10-08 06:35:35 -05:00
4DBug c563739688 docking: fix docked bg + dock-host moving; per-function @native to fit Roblox codegen limit 2026-10-08 05:51:40 -05:00
4DBug 2381a232ee docking: runs end to end (dock/undock by drag, builder, ini round trip), test scripts 2026-10-08 05:43:00 -05:00
4DBug fee9a84902 WIP: tabs, docking, dragdrop, settings, logging, harness 2026-10-08 05:35:25 -05:00
4DBug 693ced0511 optimize 2026-10-07 15:12:59 -05:00
4DBug f5827282e7 roblox 2026-10-07 14:47:12 -05:00
4DBug c2cf349390 Initial commit 2026-10-07 13:03:05 -05:00