@xframes/wasm 0.0.2 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # @xframes/wasm
2
+
3
+ DOM-free, GPU-accelerated GUI development for the browser — powered by [Dear ImGui](https://github.com/ocornut/imgui), [Yoga Layout](https://www.yogalayout.dev/), and WebGPU.
4
+
5
+ Write React/TypeScript components that render as native widgets in the browser with zero DOM overhead.
6
+
7
+ ## Online Demo
8
+
9
+ [Live demo](https://andreamancuso.github.io/react-wasm/dear-imgui) (requires a browser with WebGPU support)
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ npm install @xframes/wasm @xframes/common react
15
+ ```
16
+
17
+ ## Available Widgets
18
+
19
+ **Input**: Button, Checkbox, Combo, InputText, Slider, MultiSlider, ColorPicker
20
+
21
+ **Text**: BulletText, DisabledText, SeparatorText, TextWrap, UnformattedText
22
+
23
+ **Layout**: Node, Child, Group, DIWindow, Separator, TabBar, TabItem, CollapsingHeader, TreeNode, TreeView
24
+
25
+ **Data**: Table (sorting, filtering, column reorder/hide, context menus), PlotLine, PlotBar, PlotScatter, PlotHeatmap, PlotHistogram, PlotPieChart, PlotCandlestick
26
+
27
+ **Canvas**: JsCanvas (QuickJS), LuaCanvas (Lua/Sol2), JanetCanvas (Janet) — scripted 2D rendering with Canvas 2D API shim
28
+
29
+ **Other**: Image, ProgressBar, ColorIndicator, ClippedMultiLineTextRenderer, ItemTooltip
30
+
31
+ ## Key Features
32
+
33
+ - **React components** — familiar JSX syntax, hooks, refs, state management
34
+ - **Yoga flexbox layout** — the same layout engine used by React Native
35
+ - **Per-state styling** — base, hover, active, and disabled style variants
36
+ - **Imperative handles** — refs for Table, Plot widgets, InputText, and more
37
+ - **Scripted canvas rendering** — embed JavaScript, Lua, or Janet scripts for custom 2D drawing with an HTML5 Canvas 2D-style API
38
+ - **Interactive maps** — MapView widget with OpenStreetMap tiles, markers, polylines, and overlays
39
+ - **Font Awesome icons** — built-in icon support in tables and text
40
+ - **Theme system** — runtime theme switching via `patchStyle`
41
+
42
+ ## Browser Support
43
+
44
+ Requires native WebGPU support:
45
+
46
+ | Browser | Status |
47
+ |---|---|
48
+ | Chrome | Supported |
49
+ | Edge | Supported |
50
+ | Firefox Nightly | Supported |
51
+ | Safari | Untested |
52
+
53
+ ## Links
54
+
55
+ - [Documentation](https://xframes.dev)
56
+ - [GitHub](https://github.com/xframes-project/xframes)
57
+ - [Discord](https://discord.gg/Cbgcajdq)
58
+
59
+ ## License
60
+
61
+ MIT