@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 +61 -0
- package/dist/index.d.ts +234 -3537
- package/dist/index.js.map +1 -1
- package/dist/xframes.mjs +2 -16
- package/package.json +10 -18
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
|