Repository navigation
Releases: jhomra21/gpuix-solid
Releases · jhomra21/gpuix-solid
Release list
v0.2.1-beta.0
- Add Solid 2
h()/makeH()hyperscript authoring for JSX-free runtime UI, using the same native class/style and reactive child paths as compiled JSX. - Add Solid 2 parity conveniences inspired by
solid-gpui: a strict built-in utility-class subset when no generated native style manifest is configured, CSS-familiar layout shorthands that compile to GPUIX physical style keys,appWindowwrappers for title/activation, and retained-list scroll helpers. Generated manifests remain authoritative and unsupported utilities still fail explicitly. - Expose GPUIX native Finder/OS file drops as
onFileDropin both Solid renderer hosts, with GPU-backed regression coverage and Solid 2 locatordropFiles()automation. Add internal semantic drag/drop throughdragData,onDragStart,onDragOver,onDrop, andonDragEnd, using pointer-geometry drop targeting, a full source-element subtree preview that preserves the grab point, automatic draggable text-selection suppression, and click suppression after a completed drag. - Add Solid 2 desktop integration helpers for open/save/message dialogs, system open/reveal actions, and the GPUIX 0.9 default native application-menu label, plus a
bun run example:desktopmanual showcase. - Add
bun run perf:reportand a documented benchmark policy with named Chat, Timeline, and mutation-serialization scenarios reporting p50/p95/p99 where samples are meaningful.
v0.2.0
- Move both renderer packages to the exact
@gpuix/native@0.9.0contract and pin the source-edge and React Mail parity baselines to the published GPUIX 0.9 source. This carries the upstream native click/selection ownership fix into GPUix Solid and removes the old GPUIX 0.8 foreground selection ownership concern from the current baseline. - Align the Solid 2 renderer, examples, lockfile, public starter, and clean-consumer qualification on the paired
solid-js@2.0.0-rc.8/@solidjs/universal@2.0.0-rc.8runtime line instead of mixing Solid release candidates. - Expose GPUIX 0.9 window-level selection changes through the low-level root
onSelectionChangecallback and the Solid-nativecreateTextSelection()primitive in both Solid 2 and Solid 1. The primitive returns a reactive accessor, owns the native subscription through the current Solid owner, cleans it up automatically, and can clear the native selection without requiring React-style callback/state mirroring. - Add canonical Solid 2
createTextSearch(),createWindowSize(), andcreateWindowInsets()primitives for stateful helpers that allocate reactive state or native/timer ownership. The existinguseTextSearch,useWindowSize, anduseWindowInsetsexports remain as deprecated compatibility aliases; context readers such asuseGpuix()keep their normal Solid context naming. - Coalesce duplicate native semantic
clickcallbacks delivered for the same retained target within one microtask burst in both Solid renderer hosts, while preserving separate mouse-up activations and real double-click behavior. Regression coverage now distinguishes duplicate native delivery from two actual user activations. - Correlate delayed native
mouseUprelay callbacks for one physical release across host turns until the next physicalmouseDown. This prevents root/target retained carriers from turning one live click into two Solid click activations while preserving separate clicks at identical coordinates and normal double-click behavior in both Solid hosts. - Add native regression coverage for selection-change subscription leases, selection clearing, real selection drags, and the GPUIX 0.9 live-click panic path. Native selection helpers now deliver resulting Solid updates before returning.
- Rename the focused versioned
gpuix-08example surface to the version-neutralgpuix-surfacecommand/path while keeping its visible documentation tied to the current GPUIX 0.9 baseline, and update the README, package docs, compatibility guides, source ownership, lockfile policy, and published-foreground acceptance harness for the new line.
v0.1.1
- Refresh the repository and npm package documentation for the stable
gpuix-solidline, move the public Solid 2 starter from the npmbetatag to^0.1.0, and align the root quickstart with upstream GPUIX where the Solid integration has a tested equivalent. - Record the successful external foreground acceptance run against the published stable
gpuix-solid@0.1.0and@gpuix/native@0.8.0pair. This release contains no renderer runtime changes.
v0.1.0
- Qualify the Solid 2
0.1.0line for stable promotion after the exact publishedgpuix-solid@0.1.0-rc.1and@gpuix/native@0.8.0pair passed external macOS foreground acceptance with no crash or fatalGpuixViewerror. - Clarify the supported framework split.
gpuix-solidis the Solid 2 renderer, while@jhomra21/gpuix-solid1is the separately versioned Solid 1 renderer with asolid-js >=1.9.0 <2peer range and maintained CI coverage. - Record the exact React GPUIX 0.8.0 versus Solid Mail differential gate that passed 14 shared native scenarios before stable release preparation.
v0.1.0-rc.1
- Prepare the 0.1.0 release-candidate line by moving starter/install docs to the npm
betachannel instead of pinning an older prerelease and by adding a reproducible fresh-registry foreground acceptance harness for the original Counter interaction path plus the GPUIX 0.8 accessibility/textarea/text-decoration surface. - Reframe the GPUIX 0.8 foreground-input note around the current evidence: the source-level ownership risk remains unresolved, while the actual published beta.7 + native 0.8.0 external-consumer foreground pass succeeded. Stable promotion now requires the same two-app foreground gate against the exact release candidate.
v0.1.0-beta.7
- No user-facing changes.
v0.1.0-beta.6
- Raise the native renderer baseline from
@gpuix/native ^0.7.0to^0.8.0across the Solid 2 package, Solid 1 package, examples, experiments, lockfile policy, and pinned GPUIX source-edge validation. The 0.8 line adds the upstream accessibility/ARIA bridge, textarea newline behavior, text decoration, HTTP images, file-drop/window additions, primary mouse-up click delivery, macOS event-pump changes, runtime-error resilience, and other published native improvements that GPUix Solid can now target directly. - Keep the known GPUIX 0.8 physical foreground selection re-entrancy defect explicit rather than carrying the rejected Solid-side workaround. A source-built 0.8.0 candidate with the isolated native ownership patch passed the full GPUix Solid edge matrix and real foreground click/selection testing; the upstream native fix remains tracked separately before this limitation can be removed.
v0.1.0-beta.5
- Align the Solid 2 and Solid 1 hosts with the current
@gpuix/native0.7 release line, including native two-stop linear gradients,WindowOptionspassthrough, raw window key handling, last-window lifecycle termination, and the published native TestRenderer availability guard. - Improve browser-source compatibility in the native hosts with browser-shaped element bounds, focus/selection/scroll and pointer-capture behavior, controlled input/range synchronization, SVG/event semantics, intrinsic native range geometry, and transparent CSS color-mix normalization used by upstream component source.
- Keep native windows responsive after JavaScript runtime failures by isolating event-handler exceptions, continuing the frame pump after a thrown tick, and installing one process-level uncaught-error logger for native-window renders.
- Expand source-first dogfooding to 13 Solid 2 live applications—Counter, Native Text, Blurred Window, Todo, Diff, Timeline, Mail, Diffusion Studio, Chat, Infinite Chat, Dashboard, CodeImage, and TanStack Kitchen Sink—plus the Solid 1 legacy, Kobalte, blurred-window, Tailwind, and DAW consumers. The source-derived examples remain pinned to their audited upstream source while browser/service gaps stay behind narrow native compatibility boundaries.
- Port the DAW showcase around 81 exact pinned source files, including TrackSidebar, TrackLane/ClipComponent, automation, ArrangementOverview, Sample Detail, MixerVolumeSlider, Compressor, EQ, clip-color, and waveform paths, while keeping documented Canvas/EQ capability boundaries explicit instead of replacing source with lookalikes.
- Reduce retained timeline and DAW interaction churn: pan-only timeline updates no longer wake scale/geometry consumers, and DAW clip dragging keeps canonical project state stable during pointer movement with a lightweight transient native preview, minimal pointer-up commit, concurrent-edit preservation, and target revalidation so a disappearing or incompatible destination cannot lose a clip.
- Harden cross-platform validation so macOS, Ubuntu, Windows, Solid 1 compatibility, native DAW/Kobalte fixtures, source-linked GPUIX edge builds, release-tool tests, and exact-package smoke checks cover the source-first compatibility work before publication.
v0.1.0-beta.4
- Rename the Solid 2 npm package from
@jhomra21/gpuix-solidtogpuix-solid, including workspace consumers, JSX compiler configuration, exact-package smoke tests, documentation, and release identity checks. - Add a Solid 2 + GPUIX native CodeImage editor example adapted from the MIT-licensed Solid 1.9.12 CodeImage application, including reactive frame/code/theme controls and native TestRenderer screenshot coverage.
v0.1.0-beta.3
- Fix Solid 2 reconciliation when a text host node is used as an
insertBeforeanchor, allowing application-shaped component trees to mount and update without rejecting valid text anchors. - Add a complex native Solid 2 dashboard dogfood fixture with Overview, Tasks, Notes, Weather, and Account pages, deterministic demo data, native animations, floating controls, native inputs, reactive list mutations, and TestRenderer automation coverage.
- Expand native validation so Ubuntu CI installs the GPUI runtime dependencies and runs GPU-backed renderer/dashboard integration alongside macOS; Windows continues to lint, typecheck, test platform-independent behavior, and build while the upstream
@gpuix/native@0.4.0hosted-runner binding issue is documented explicitly.