34 lines
2.0 KiB
Plaintext
34 lines
2.0 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/compare_upstream.py (writes docs/PORT_STATUS.txt: [ ] = not ported, [=] = replaced by a
|
|
Lua equivalent, "missing:" = enum values / struct fields) and python3 tools/test/undefined.py --no-demo
|
|
|
|
|
|
NOT PORTED / PARTIAL
|
|
--------------------
|
|
- ImFont::AddRemapCodepointToGlyphIndex / ImGui_ImplStbTrueType_FontSrcGetGlyphIndexFromCodepoint (the port's font
|
|
loader still checks glyphs by codepoint; 1.93 split this into codepoint -> glyph index -> glyph).
|
|
- ImGui_GetDefaultCompressedFontDataProggyClean/ProggyForever: AddFontFromMemoryCompressedTTF works, but the default
|
|
fonts are loaded from fonts/ instead of embedded compressed data.
|
|
- ImFontAtlasDebugLogTextureRequests, ImHashSkipUncontributingPrefix.
|
|
- DebugLogSkippedErrors / DebugDrawIdConflicts* (error-recovery and ID-conflict debug tools).
|
|
|
|
LUA LIMITATIONS
|
|
---------------
|
|
- ImGuiDataType.S64/U64: values are Luau doubles, exact only within +-2^53 (LLONG_MAX/ULLONG_MAX round up).
|
|
- ImDrawList::AddCallback(userdata_size > 0): the "copy" is a shallow copy of a table userdata (no raw bytes).
|
|
|
|
WON'T DO (platform)
|
|
-------------------
|
|
- Multi-viewports / platform windows: Roblox has one window. The viewport API covers 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).
|
|
|
|
KNOWN ISSUES
|
|
------------
|
|
- Tables > "Columns flags": disabling every column asserts in TableUpdateLayout (upstream asserts too).
|
|
- stb_truetype: cmap format 2 (high-byte mapping) asserts (same "@TODO" as upstream stb_truetype).
|
|
- ImTriangulator differs from upstream (imgui_draw.lua, [Luau]): CCW input is reversed first and only strictly
|
|
counter-clockwise corners are reflex, so CCW and duplicate-point polygons triangulate differently from upstream.
|