53 lines
2.9 KiB
Plaintext
53 lines
2.9 KiB
Plaintext
Dear ImGui for Roblox - not yet ported / known gaps
|
|
====================================================
|
|
Upstream reference: tools/test/upstream/ (ocornut/imgui docking branch, 1.93 WIP).
|
|
Re-check with: python3 tools/test/missing.py [imgui|widgets|tables|draw] and python3 tools/test/undefined.py --no-demo
|
|
(missing.py also lists names the port defines differently, e.g. the *V printf variants and DragFloat2..4 / DragInt2..4,
|
|
which exist as ImGui.DragFloat2 = DragFloatN(2) etc. Those are NOT gaps.)
|
|
|
|
|
|
FEATURES NOT PORTED
|
|
-------------------
|
|
- Multi-select / box-select: BeginMultiSelect, EndMultiSelect, MultiSelectItemHeader/Footer, MultiSelectAddSetAll,
|
|
MultiSelectAddSetRange, SetNextItemSelectionUserData, BeginBoxSelect/EndBoxSelect, DebugNodeMultiSelectState.
|
|
(Selectable/TreeNode call sites are stubbed with TODOs; the demo "Selection State & Multi-Select" section is not ported.)
|
|
- Typing-select (type to jump in lists): GetTypingSelectRequest, TypingSelectFind*, DebugNodeTypingSelectState.
|
|
- Examples > Assets Browser (needs multi-select + box-select).
|
|
- Metrics > Tools > Item Picker (UpdateDebugToolItemPicker).
|
|
- DebugFlashStyleColor / UpdateDebugToolFlashStyleColor (Style Editor "?" flash button).
|
|
- DebugNodeInputTextState (Metrics > Internal state > InputText).
|
|
- BringWindowToDisplayBehind: stub, does nothing.
|
|
- ColorEdit4 / ColorPicker4: drag & drop target (dropping a color onto a color widget).
|
|
- ImFontAtlas:AddFontFromMemoryCompressedTTF: stub (binary_to_compressed_c fonts can't be loaded).
|
|
- ImGuiSizeCallbackData: SetNextWindowSizeConstraints custom callbacks only partially supported
|
|
(Examples > Constrained Resize).
|
|
- LogSetNextTextDecoration (Selectable "[ ]" decoration in log/clipboard output).
|
|
- stb_truetype: cmap high-byte mapping (some CJK fonts assert).
|
|
- Context hooks removal (RemoveContextHook), SetContextName.
|
|
- RegisterUserTexture / UnregisterUserTexture.
|
|
- ErrorCheckNewFrameSanityChecks / ErrorCheckEndFrameSanityChecks (fewer usage-error asserts than upstream).
|
|
- GetAllocatorFunctions (n/a in Luau).
|
|
|
|
WON'T DO (platform)
|
|
-------------------
|
|
- Multi-viewports / platform windows: Roblox has one window. Viewport API exists for the main viewport only.
|
|
- Gamepad navigation via a real gamepad backend (keyboard navigation works).
|
|
- IME / non-ASCII keyboard text input (backend sends printable ASCII only).
|
|
|
|
NOT VERIFIED LINE BY LINE AGAINST UPSTREAM
|
|
------------------------------------------
|
|
- Demo: Layout & Scrolling, Popups & Modal windows, Inputs & Focus.
|
|
|
|
KNOWN ISSUES
|
|
------------
|
|
- Tables > "Columns flags": disabling every column asserts in TableUpdateLayout (upstream asserts too).
|
|
- Style Editor > Colors uses a ListClipper (port-only change, upstream submits every row).
|
|
|
|
PERFORMANCE IDEAS (not done)
|
|
----------------------------
|
|
- Cheaper visible ColorEdit4 rows; cheaper Begin() for child windows.
|
|
|
|
PLANNED EXTENSIONS
|
|
------------------
|
|
- ImGuizmo, ImNodes, ImGuiColorTextEdit, ImPlot, ImPlot3D (as separate extensions/, built with a --with flag).
|