Apply @font-face weights to loaded variable fonts, preserve author
font-family names for internal font-face aliases, and re-resolve text fonts
when style or weight changes after initial font selection.
Also updates the font-weight native variant plan to reflect the current
architecture and remaining work around static native weight variants.
Resolve CSS variable values at the points where properties are applied,
inherited, propagated, and used to seed transitions. This prevents raw
var() values from leaking into widget state or transition start/end
values when style attributes, inherited properties, or state-dependent
rules are involved.
Also refresh style definitions when widgets load so selector-dependent
rules are evaluated with the final widget context, and add regression
coverage for inline style vars, inherited vars, parent-state child rules,
tab close opacity, and foreground tint transitions.
Add CSS box-sizing support for HTML widgets and route CSS-specified
width/height conversion through virtual sizing hooks. Resolve percentage
CSS sizes against the containing block content box, and apply content-box
or border-box conversion consistently across block, flex, grid, table,
and rich text layout paths.
Keep table wrapper width behavior compatible with CSS table layout by
overriding the table width conversion separately, so padded percentage
tables do not overflow their assigned wrapper width.
Add focused regressions for block padding, flex-basis sizing, grid
containers, table containers, and the border rendering cases that depend
on explicit border-box sizing.
/** Enables or disables focus highlighting in this scene and embedded UI scenes. */
void setHighlightFocusRecursive( bool highlight );
/** Enables or disables box debug drawing in this scene and embedded UI scenes. */
void setDrawBoxesRecursive( bool draw );
/** Enables or disables debug-data drawing in this scene and embedded UI scenes. */
void setDrawDebugDataRecursive( bool debug );
Added control over the UISceneNode children and added setHighlightOverRecursive. This allows us to inspect nested UISceneNodes.
Fix hit-box bug when changing display.
Move UIWebView documents into isolated UISceneNode instances, keep document viewport and extent metrics synchronized, and fix shrink/grow behavior after navigation, async CSS, and viewport changes. Scope author styles and font-face resources per document scene, ignore stale async callbacks after navigation or destruction, and add deterministic coverage for CSS, fonts, images, cookies, hit testing, and document extent updates.
Fixes in UIWebView -> doc -> html -> body resizing issues. Added a few tests to catch regressions.
by overwriting an occupied default shortcut, which treated user bindings like mod+d=duplicate-line-or-selection as stale
because that command is not in the default keybinding table. Now it only adds a default when the default shortcut is actually
free.
Added a regression test in src/tests/unit_tests/uicodeeditor_tests.cpp:108 covering the reported case: mod+d reassigned, then
an extra mod+e=show-markdown-preview binding exists. This was reported in SpartanJ/ecode#914.
• Implemented the splitter-level focus state cache, it will remember closed documents cursor state when reopened and it will restore cursor state per-code editor and not per-document (SpartanJ/ecode#893).
Allow to disable GLEW dependency, it will now be disabled by default so we can test. The idea is to remove the dependency completely once this is confirmed to work.
Some nits in FileSystem::fileGet, added support for case-insensitive BMH implementation.
ecode: project global search now uses mmap'ed files for big files and made several tweaks and optimizations to avoid trashing the memory allocator.