* Serialize tracked realloc and free bookkeeping to prevent cross-thread
address reuse from corrupting the memory tracker during tab teardown.
* Add concurrent allocation and terminal close/resize regression coverage.
* Install a macOS-only File, Edit, and Window menu that mirrors eterm
keybindings without binding Cmd+W.
* Keep the native menu outside the splitter layout and document the canonical
macOS build workflow.
Introduce UIScrollController to provide frame-rate-independent wheel
interpolation, touch dragging, and momentum for code editors, terminals,
scroll views, and scrollable widgets while preserving the legacy instant
scrolling path.
Add a UISceneNode-level smooth-scrolling policy. Embedded scenes inherit
the root scene setting, new widgets snapshot it during construction, and
setSmoothScrollEnabled() can optionally apply changes to existing widgets
across the complete embedded-scene hierarchy.
Move native macOS scrolling and title-bar helpers into PlatformHelper,
enable native momentum from UIApplication, and explicitly enable it in
ecode. Preserve precise SDL2 and SDL3 wheel deltas for fractional momentum
events without changing normal integer wheel steps.
Replace the separate editor and terminal preferences in ecode and eterm
with one global smooth-scrolling setting, including legacy configuration
migration, live updates, and localized settings text.
Improve UITouchDraggableWidget momentum handling and add regression tests
for scrolling interpolation, pixel-aligned editor positions, scene
inheritance, widget overrides, and immediate policy application.
- add reusable-buffer String::toUtf8() conversion
- extract shared find-bar CSS into UIFindBarStyle
- reuse the shared style from UIDocFindReplace
ecode:
- enable terminal find, next, and previous shortcuts
- install terminal bindings after conflicting editor bindings are removed
eterm:
- add searchable terminal history with plain text, RegEx, and LuaPattern modes
- support case-sensitive and whole-word matching across wrapped rows
- debounce searches and avoid unnecessary string allocations
- add an animated find bar with status and wrapped result navigation
- expose find commands through configurable keybindings and the context menu
- render and navigate search matches in terminal history
- forward right-button releases when applications capture the mouse
- fix UITabWidgetSplitter ownership during shutdown
tests:
- cover UTF-8 buffer reuse and terminal search behavior
- verify wrapped lines, Unicode, pattern modes, invalid expressions, and navigation
- verify SGR right-button release encoding
tooling:
- clarify the mandatory optimized build workflow for performance work
- require direct release test execution before falling back to Xvfb
- add Discard actions for conflicted files and conflict groups
- restore discarded conflicts from HEAD in both index and working tree
- restrict regular discard actions to changed tracked files
- preserve default editor commands when replacing an editor document
- enable copying from the read-only merge-view side panels
- cover conflict restoration and merge-side copying
- document build parallelism and function-spacing conventions
- implement per-side CSS border styles and patterned rendering
- preserve rectangular rasterization for thin dotted borders
- separate CSS and native-widget border defaults
- correct inline atomic-box and vertical-align baseline layout
- collapse adjacent block margins in rich-text flow
- preserve forced line breaks and formatting margins
- size HTML text inputs from font ascent and descent
- expose replaced-control text baselines to inline layout
- enforce single-owner painting for inline backgrounds and borders
- enable and update the old Reddit visual regression golden
- add generic layout, border, and form-control regression tests
- document spec-first HTML work and project build conventions
- batch asynchronous HTTP stylesheets and apply them in a single reload
- skip unsupported block at-rules without leaking nested rules
- prevent scripts nested in unknown custom elements from entering the render tree
- add regression coverage for unsupported at-rules and nested scripts
- document the Ninja release workflow for performance testing
- parse slash-separated background position and size without requiring whitespace
- recognize custom-property background images following an explicit size
- resolve root body and html minimum heights against the layout viewport
- avoid expanding semantic document boxes to the scrollable content extent
- handle auto margins and percentage offsets correctly for absolute positioning
- add DuckDuckGo layout and background shorthand regression tests
- document the Xvfb limitation with multisampled OpenGL contexts