Releases: cool-japan/oxiui
OxiUI 0.1.2 Release
[0.1.2] - 2026-06-10
Added
oxiui-render-wgpu:TextBridge::expand_draw_text_commands— pre-expands allDrawTextcommands in aDrawListinto per-glyphImageblits before the batcher; shaping/rasterization errors silently skipped per-glyph.oxiui-render-wgpu:geometry.rstests — 5 new unit tests covering solid rect vertices, image textured draws, clip push/pop segments, and scissor culling.oxiui:AppConfig— window configuration builder (title,size,resizable,min_size,max_size,decorations,transparent,always_on_top,icon,position,extra_fonts,design_tokens,typography).oxiui:CommandPalette+Command— searchable command registry with fuzzy-match search;register,register_with_shortcut,searchAPIs.oxiui:NotificationQueue— notification queuing with deduplication, priority, and timeout support.oxiui: PNG icon decoding — integrated into the egui backend viaapp_config.icon.
Changed
oxiui-render-soft:DynBackend—SoftandWgpuvariants now holdBox<…>instead of inline values, reducing stack footprint and eliminating large-enum-variant clippy lint.oxiui-render-wgpu:batch.rsDrawTextclassification —DrawTextpre-expanded before batcher; residual classified asTexturedor falls back toSolidColorwithouttextfeature.oxiui:lib.rsrefactored —AppConfig,CommandPalette, andNotificationQueueextracted to dedicated modules.
Fixed
oxiui-render-soft:blit_glyph_clipped— now correctly#[cfg(feature = "text")]-gated; eliminates dead-code warning under--no-default-features.
Full Changelog: v0.1.1...v0.1.2
OxiUI 0.1.1 Release
[0.1.1] - 2026-06-04
Added
-
New crate
oxiui-compute-wgpu— headless wgpu GPU-compute abstraction for the COOLJAPAN
ecosystem. ProvidesComputeContext/ContextBuilder,Dispatcher,PipelineCache,
storage_buffer_init,read_back/read_back_async,BufferPool,SubAllocator, a WGSL
preprocessor/validator, and built-in kernels (SHADER_MATMUL,SHADER_PREFIX_SUM,
SHADER_BITONIC_SORT,SHADER_HISTOGRAM,SHADER_SPH_DENSITY, and template variants).
Optionalhot-reloadfeature addsShaderWatcherfor live WGSL file watching vianotify.
Re-exportswgpu,bytemuck, andpollsterso consumers need only a single dependency entry. -
oxiui-core:WindowManager+WindowChannel+WindowConfig+WindowId+WindowEvent
— newwindowmodule provides a multi-window management layer decoupled from any concrete backend. -
oxiui-core:A11yRoleenum — 28-variant semantic accessibility role type for use in
Widget::a11y_role(). Maps to the fullaccesskit::Roleset viaoxiui-accessibility. -
oxiui-core:Widget::a11y_role,Widget::a11y_label,Widget::a11y_description— three
new default methods on theWidgettrait that allow widgets to self-describe without depending on
oxiui-accessibility. -
oxiui-core:UiCtx::text_area— new multi-line text-area method onUiCtx; returns
TextAreaResponse(also new). -
oxiui-core:BlendMode— re-exported fromoxiui_core::paint; enables per-draw-call blend
mode selection in draw lists. -
oxiui-core:SpacingTokensandBorderTokens— design-token structs for semantic spacing
(xs/sm/md/lg/xl in logical pixels) and border widths / radii. -
oxiui-core:layout_subtrees_parallel+LayoutTask— parallel layout API for
multi-subtree layout onrayonthread pools. -
oxiui-core:Palette::default()— light-mode neutral palette (white background,
indigo-500 accent);Palettenow derivesPartialEq. -
oxiui-accessibility:widget_bridgemodule —widget_to_a11y_node,build_a11y_tree,
A11yWidgetNode,NodeIdAllocator,core_role_to_widget_role; bridgesoxiui_core::Widget
directly to the a11y tree without extra dependencies. -
oxiui-accessibility:text_bridgemodule (featuretext-bridge) —text_input_to_a11y,
text_area_to_a11y,TextInputA11yParams; convertsoxiui_text::TextInput/TextAreato
A11yNodevalues ready for the AccessKit pipeline. -
oxiui-accessibility:focusmodule — keyboard focus order tracking, added alongside new
focus/text integration tests. -
oxiui-render-wgpu: major expansion of thegpusub-module — new files:
blend.rs(BlendPipelineSet,blend_state_for_mode),
buffer.rs(typed GPU buffers, ring buffer),
compute_blur.rs(GPU compute-based Gaussian blur),
earcut.rs(pure-Rust polygon tessellator for GPU fill),
exec.rs(run_solid_pass,run_gradient_pass_batched,run_textured_pass,FrameStats),
frame_pacing.rs(FrameTimer,FrameHistogram,PresentModeRecommendation),
geometry.rs(build_geometryCPU geometry builder),
hdr.rs(HDR / tone-mapping pipeline),
instance.rs(instanced-draw helpers),
layer_cache.rs(dirty-region layer caching),
render_target.rs(offscreen render target management),
ring_buffer.rs(GPU ring buffer for streaming vertex data),
shadow.rs(drop shadow blur pipeline),
stencil.rs(stencil-based clip paths). -
oxiui-render-wgpu:WgpuBackend::headless_with_quality— new constructor that takes a
RenderQualityto select the MSAA sample count; screen, shadow-mask, and blur pipelines are
created with the correct sample counts.WgpuBackend::headlessis preserved as a backward-
compatible alias atRenderQuality::low(). -
oxiui-render-wgpu:WgpuBackend::ctx()— accessor for the underlyingGpuContext. -
oxiui-render-wgpu:SdfTextPipeline(featuretext) — GPU SDF text rendering pipeline
backed byoxitext-sdf; uploadsSdfTileglyph data to an R8Unorm atlas and renders resolution-
independent text via a WGSL smoothstep shader. -
oxiui-render-wgpu:a11y_bridgemodule — maps the wgpu render tree toA11yNodevalues. -
oxiui-render-wgpu:theme_bridgemodule — convertsoxiui-themetokens to wgpu pipeline
colour parameters at runtime. -
oxiui-render-wgpu:atlas.rs— texture atlas shelf-packer for glyph and image uploads. -
oxiui-render-wgpu:surface.rs— wgpu surface / swapchain wrapper for windowed rendering. -
oxiui-render-wgpu:text_bridge.rs— bridge betweenoxiui-textshaped output and the
wgpu vertex pipeline. -
oxiui-render-wgpu: WGSL shaders — new shader files:blur.wgsl,blur_compute.wgsl,
composite.wgsl,instanced.wgsl,textured.wgsl; golden-image regression test suite added
(tests/golden_image_tests.rs). -
oxiui-render-soft: new modules:
backend_switch.rs— runtime switch between software and wgpu backends;
canvas_upload.rs—softbuffercanvas upload helpers;
fft_blur.rs(featurefft-blur) — FFT-accelerated Gaussian blur viaoxifftfor kernels
with radius ≥ 32 px (gaussian_blur_alpha_fft,should_use_fft_blur,FFT_BLUR_MIN_RADIUS);
simd_fill.rs— portable SIMD (viawide) scanline fill helpers. -
oxiui-table:AsyncRowSourcetrait +PrefetchBuffer— async data source support with
LRU cache and background prefetch for IO-bound backends (REST APIs, databases). -
oxiui-table:persistence.rs—TableStateserialisation/deserialisation (column widths,
sort keys, filter state) usingoxicode. -
oxiui-table:accessibility.rs— ARIA table/grid accessibility tree builder; emits
A11yNoderows/cells/headers viaoxiui-accessibility. -
oxiui-table:text_integration.rs— rich text cell rendering viaoxiui-text. -
oxiui-table:theme_integration.rs— per-table theme customisation mapping tokens to row
stripe, header, and selection colours. -
oxiui-text:emojimodule (featureemoji) —EmojiSegmenter,EmojiRenderer,
is_emoji_codepoint; splits text into plain/emoji runs and routes emoji to colour glyph paths. -
oxiui-theme:serial.rs—oxicode-based theme serialisation:ThemeSnapshotcaptures
the full set of design tokens and can be round-tripped to bytes. -
oxiui-web: new modules for wasm32 targets:
clipboard.rs,css.rs,drag_drop.rs,error_handling.rs,events.rs,
font_loading.rs,fullscreen.rs,ime.rs,performance.rs,responsive.rs,
service_worker.rs. -
oxiui-web:GpuCapability+detect_gpu_capability()— runtime WebGPU / WebGL capability
detection (probesnavigator.gpu→ WebGL2 → WebGL1 → software fallback). -
oxiui-web:cursor_css+apply_cursor— CSS cursor helpers that mapCursorShapeto
the appropriate CSS cursor value and apply it to the canvas element. -
oxiuifacade: new modules —multiwindow(WindowRegistry,SecondaryWindow,
App::open_window/App::close_window),dialog(DialogQueue,DialogKind,
DialogResponse,DialogId),menu(MenuBar,MenuBarBuilder,Menu,MenuItem),
logging(featuretracing:init_logging,LogLevel),tray(featuretray:
TrayConfig,TrayHandle,TrayMenuItem),native_dialog(featuredialogs:
open_file_dialog,save_file_dialog,message_dialog,confirm_dialogviarfd). -
oxiuifacade:process_rss_bytes()— reads RSS from/proc/self/status(Linux) or
task_info(macOS stub) for startup memory profiling. -
Workspace dependencies: added
oxicode 0.2.4(replaces ad-hoc serialisation),oxitext-sdf 0.1.0,oxifft 0.3.2(replaces rustfft),raw-window-handle 0.6,tracing 0.1.41,
tracing-subscriber 0.3.19,criterion 0.8.2,wide 1.4.0,tray-icon 0.24.0,rfd 0.17.2; expandedweb-sysfeature set for clipboard, drag-drop, IME, resize observer, service
worker, font loading, and error events.
Changed
-
oxiui-core:ColorandPalettenow deriveoxicode::Encode+oxicode::Decode.
FontStyle,FontFeature,FontSpeclikewise derive encode/decode. -
oxiui-render-wgpu: renderer refactored — geometry building extracted togeometry.rs
(build_geometry), render passes toexec.rs;WgpuBackendgains a persistent solid vertex
buffer (reused across frames, grown on demand) and per-frameFrameStats. -
oxiui-iced:a11y_bridgemodule added — accessibility tree integration for the iced
adapter;IcedUiCtxnow exposes a11y node emission. -
oxiui-egui: accessibility integration tests (tests/a11y_integration_tests.rs),
snapshot tests, styled-text and table integration tests added. -
Workspace
versionbumped from0.1.0to0.1.1;oxiui-compute-wgpuadded as the 14th
workspace member.
Full Changelog: v0.1.0...v0.1.1