4DBug
a1aa5cbb2d
Fix: long TextUnformatted (>2000 bytes) rendered each visible line to the end of the text (RenderText end was nil, upstream passes line_end); PushFont() saved the new font instead of the current one, so PopFont() never restored it (font preview leaked into all later text); t_fixes covers both
2026-10-15 10:54:56 -05:00
4DBug
dad1a0c0f1
Port leftovers: BringWindowToDisplayBehind, ImGuiSizeCallbackData + CalcWindowSizeAfterConstraint, ErrorCheckUsingSetCursorPosToExtendParentBoundaries, PopFocusScope user error (+ SetCurrentWindow stack sizes fix), log text decorations (Button/Menu/TreeNode/Drag/Slider/InputText/Checkbox/Radio), DataTypeFormatString display, ImGuiDataType S64/U64 (upstream enum layout; doubles), sscanf %u/length modifiers, mouse arrays sized ImGuiMouseButton.COUNT, AddCallback userdata copy; TODO.txt refreshed
2026-10-15 10:51:20 -05:00
4DBug
b71e62b4d9
Integration: debug/context fields in ImGuiContext ctor, ImGuiContextHookType, DebugFlashStyleColorIdx=COUNT, CurrentPixelDensity, clipper range/data helpers, full Shutdown cleanup, settings dates (ImGuiSettingsCleanupArgs, CleanupIniSettings, LastUsed=, Platform_SessionDate) + metrics Settings section, ImGuiStyleVar SeparatorSize/DockingSeparatorSize (fixes off-by-one style var table), LogRenderedText restored in RenderText*, combo preview 1.93, InputScalar ValidatedThisFrame, ImGuiListClipperFlags/LogFlags/OldColumnFlags, ImGuiKey digit aliases, backend names
2026-10-15 09:39:17 -05:00
4DBug
92dbd9a580
compare_upstream: skip IM_MSVC_RUNTIME_CHECKS_*/template<> when naming structs; [=] status for intentional Lua replacements (ImGuiStorage, ImStr*/ImFormatString*, allocators, C++ container internals, sizeof/ABI helpers...) with evidence regexes, reported separately
2026-10-15 09:39:17 -05:00
4DBug
e3840a938a
Port debug tools (item picker, flash style color, debug locate, DebugDraw*, keyboard preview, debug break, DrawCmd mesh view), context hooks, SetContextName, AddInputCharactersUTF8, sanity checks, window resize ids, Register/UnregisterUserTexture, SetPixelDensity, TestShortcutRouting, DemoMarker; InputTextState selection API (fixes undo crash, callbacks get 0-based positions), ShortcutsForCancel (Esc/right-click reverts drags/sliders), ImParseFormatSanitizeForPrinting, ImDrawList CloneOutput/PrimQuadUV/AddImageQuad, ImDrawData DeIndexAllBuffers/ScaleClipRects, internal helpers (ImBitVector, ImGuiPackedDate, inline ImGui getters...); t_debugtools, t_helpers
2026-10-15 08:52:30 -05:00
4DBug
9be05aeb5c
Fonts: ImFontGlyphRangesBuilder + GetGlyphRangesDefault, ImFont:CalcWordWrapPosition, stb_decompress + Decode85 + AddFontFromMemoryCompressed(Base85)TTF, atlas helpers (RemoveFont, RemoveCustomRect, AddRemapCodepoint (remap never triggered before), IsGlyphRangeUnused, texture status/format names...); t_fonts
2026-10-15 08:05:51 -05:00
4DBug
f2c694bac5
Port ImTriangulator + upstream AddConcavePolyFilled (AA fringe, no per-triangle seams); [Luau] handles CCW winding and duplicate/collinear points that upstream mis-triangulates
2026-10-15 07:43:21 -05:00
4DBug
93a3c4faf5
Library draw call sites match 1.93: AddLineH/AddLineV + StrokeCenterBiased/StrokeInside (window/menu borders, separators, text cursor), tab border PathStroke, check mark AALineEnds, CloseButton/TreeNode lines/ColorButton/alpha checkerboard 1.93, Ctrl+Tab highlight AddRect arg order, metrics AA push/pop
2026-10-15 07:24:13 -05:00
4DBug
9872d43fd6
Draw list 1.93: baked round corners in the font atlas (ImFontAtlasBuildUpdateTexDataCorners, fill radii 1..16 + 3 stroke thicknesses) used by AddRect/AddRectFilled when pixel-aligned (_AddRectBaked/_AddRectFilledBaked)
2026-10-15 06:55:57 -05:00
4DBug
af2026113a
Draw list 1.93 strokes: _AddPolyline ported (texture AA lines, joins/miter/bevel, CapSquare, AALineEnds, Stroke Inside/Center/CenterBiased/Outside/Legacy), AddConvexPolyFilled AAFill, all primitives with 1.93 signatures/flags, PathRect/PathArcTo 1.93, baked line textures; Custom Rendering demo flags UI restored. check_all: t_pixels incremental==full redraw, headless screenshot (tools/test/shot.py)
2026-10-15 06:37:49 -05:00
4DBug
a111187591
Draw list 1.93 foundation (no output change): ImDrawFlags 1.93 values (Round*/Stroke*/AA*/JoinMiter/CapSquare/TextNoPixelSnap/UseTexForRoundCorners...; RoundCorners* kept as obsolete aliases), ImDrawList.Flags + PushDrawFlag/PopDrawFlag/_SetPixelDensity, SetupDrawListSharedData 1.93, style.CurveTessellationMaxError/AntiAliasedLineEnds, _AddPolyline entry point
2026-10-15 05:13:58 -05:00
4DBug
1e63710e33
compare_upstream: match XxxMT:Method and Class_Method globals to C++ class members (demo 100% ported by name)
2026-10-15 04:35:23 -05:00
4DBug
d18bc714fc
Demo: Selection State & Multi-Select section (ExampleSelectionWithDeletion, ExampleDualListBox, all 11 sub-demos) and Assets Browser ported; fix ImFloor() for negative non-integers (was floor-1)
2026-10-15 04:13:40 -05:00
4DBug
049e160852
Port multi-select, box-select and typing-select (BeginMultiSelect/EndMultiSelect, SetNextItemSelectionUserData, MultiSelectItemHeader/Footer, BeginBoxSelect/EndBoxSelect, GetTypingSelectRequest/TypingSelectFind*, ImGuiSelectionBasicStorage/ExternalStorage, Metrics nodes); wired into Selectable/Checkbox/TreeNode/clipper/tables; t_multiselect
2026-10-15 03:49:53 -05:00
4DBug
33ab5a1d84
Fix: InputTextMultiline crashed when drawn (InputTextLineIndexBuild/line offsets 0-based like upstream, inverted buf_display_end), InputText LiveEdit flag check; Shortcut()/IsKeyChordPressed() upstream defaults; FrameCount starts at 0 (IsWindowAppearing on first frame); missing ImGuiIO config fields with upstream defaults (+ ConfigDebugBeginReturnValueOnce/Loop); ColorButton drag source + ColorEdit4 drop target, IMGUI_PAYLOAD_TYPE_COLOR_3F/4F; t_fixes covers them
2026-10-15 03:03:10 -05:00
4DBug
9c8c1b018e
Demo: re-ported imgui_demo.cpp line by line in upstream order (one function per upstream function, same labels/HelpMarkers/comments, 176/186 IMGUI_DEMO_MARKERs; port table driver/Sub()/Demo* helpers removed, statics in S.<Function>). New: DemoWindowInputs (Inputs & Focus), Image Viewer, ShowExampleAppDockSpaceBasic. Selection/Assets Browser stubbed until multi-select is ported. ImColor helper (imgui_h.lua). PORT_STATUS demo similarity 29% -> 51%
2026-10-15 02:32:58 -05:00
4DBug
b929de5206
Fix: ImDrawList:PushClipRectFullScreen() was missing (drop target outside the window clip rect crashed); CalcItemSize() no longer writes to the caller's size (by value like upstream; fixes BeginTable UserOuterSize), scalar _CalcItemSizeXY for internal callers; t_fixes covers both
2026-10-15 02:05:43 -05:00
4DBug
ac4398ee2a
tools/test: check_all.sh (CI mirror + all scripted tests + demo forced open + LÖVE), hashes.sh (draw checksums vs a git rev), t_libhash (library-only draw checksum); regenerate PORT_STATUS
2026-10-15 02:03:40 -05:00
4DBug
ff86ea5aa2
0.2.0
Build & Release / build (push) Waiting to run
v0.2.0
2026-10-15 01:06:11 -05:00
4DBug
4ac57cb571
Roblox backend: redraw budget is opt-in (SetRedrawBudget default 0 = every changed tile drawn the same frame)
2026-10-15 00:55:43 -05:00
4DBug
15dc766d82
bundle.py: build-time Luau optimizations (draw-data identical; IMGUI_BUNDLE_NOOPT=1 disables): hot library globals as bundle locals, enum/constant folding (values dumped by the luau CLI; IMGUI_BUNDLE_STRICT=1 in CI), --@hoist pure helpers to inlinable bundle-level local functions, statement IM_ASSERT -> assert; builtin type instead of ImGui._GetTypeFunc() alias (GETGLOBAL 15903 -> 540)
2026-10-15 00:23:20 -05:00
4DBug
ed53d0683e
Library perf (draw-data identical): layout core (no ImVec2 __index in ItemSize, inlined ID/style/clip stacks, scalar ItemAdd/IsClippedEx/CalcItemSize/GetColorU32), text + widgets (scalar TextEx/ButtonEx/Checkbox/Slider/Drag/Selectable/TreeNode, word-wrap memo), tables (in-place clip rects, no per-row/cell temporaries, @native cell functions, scalar ClipWith), draw list (PrimRectXY, scalar AddRect/AddRectFilled/AddLine/PathRect/arcs)
2026-10-14 23:27:23 -05:00
4DBug
b71e29ee35
Roblox backend perf (pixel-identical): redraw budget (SetRedrawBudget, default 1.5 ms; RenderRate default 0), exact in-place draw list compare + whole-pixel move fast path, partial tile redraws, flat rects hashed by in-tile rect, quads hashed by TL/BR, no full redraw on texture updates, @native CopyTexturePixels, reused partial upload buffers; imgui_draw: @native word wrap, ImStrByte/classifier inlined, text size cache covers wrapped text; t_pixels pixel oracle; run.py RUN_FLAGS
2026-10-14 22:26:38 -05:00
4DBug
bcf383a079
tools/compare_upstream.py: port coverage + code similarity vs upstream, writes docs/PORT_STATUS.txt
2026-10-14 22:26:38 -05:00
4DBug
ce82582e37
0.1.4
Build & Release / build (push) Canceled after 0s
v0.1.4
2026-10-14 10:32:10 -05:00
4DBug
090525076f
InputText: fix clipboard paste (filter was inverted, then off-by-one in the filtered buffer); ImParseFormatTrimDecorations: return [start, end) like upstream (Ctrl+click temp input showed decorations / crashed on "%d%%"); ShrinkWidths: tie order by Index descending like upstream; t_fixes test
2026-10-14 10:32:10 -05:00
4DBug
95fdf94912
Comments: mirror upstream imgui.cpp/.h, imgui_internal.h, widgets/draw/tables/demo and imstb_* comments (comment-only, code tokens unchanged)
Build & Release / build (push) Canceled after 0s
2026-10-14 10:23:55 -05:00
4DBug
e502866075
CI: minified builds (ImGui.min.luau, ImGui-nodemo.min.luau, imgui_love.min.lua, imgui_love-nodemo.min.lua) via tools/minify.py; checks + release assets; run.py MINIFY=1
2026-10-14 10:23:55 -05:00
4DBug
1431d2e19d
0.1.3
Build & Release / build (push) Canceled after 0s
v0.1.3
2026-10-14 06:26:28 -05:00
4DBug
7eb7d5fcbb
Docking: set node.LastBgColor (closing dock hosts drew white bodies), host skips own bg, fix SetNextWindowBgAlpha; Roblox backend: frames skipped by the render rate cap are drawn later (UI could freeze when the app stopped rendering); t_dock_close test
2026-10-14 06:26:28 -05:00
4DBug
2558c30d32
0.1.2
Build & Release / build (push) Canceled after 0s
v0.1.2
2026-10-09 02:24:21 -05:00
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
v0.1.1
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
v0.1.0
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