react-x11 2.52.0 → 2.54.0

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.
Files changed (115) hide show
  1. package/README.md +10 -10
  2. package/docs/README.md +160 -314
  3. package/docs/accessibility.md +176 -229
  4. package/docs/appearance.md +77 -176
  5. package/docs/click-to-component.md +18 -51
  6. package/docs/clipboard.md +40 -59
  7. package/docs/components.md +518 -1036
  8. package/docs/dbus.md +61 -133
  9. package/docs/debugging.md +152 -245
  10. package/docs/desktop-calendar.md +51 -88
  11. package/docs/desktop.md +222 -347
  12. package/docs/devtools.md +50 -167
  13. package/docs/drag-and-drop.md +126 -204
  14. package/docs/ecosystem/animation.md +91 -125
  15. package/docs/ecosystem/data-fetching.md +38 -53
  16. package/docs/ecosystem/dev-tooling.md +159 -202
  17. package/docs/ecosystem/forms.md +61 -97
  18. package/docs/ecosystem/headless.md +64 -89
  19. package/docs/ecosystem/i18n.md +18 -21
  20. package/docs/ecosystem/icons.md +93 -126
  21. package/docs/ecosystem/layout.md +42 -52
  22. package/docs/ecosystem/routing.md +18 -29
  23. package/docs/ecosystem/state.md +71 -88
  24. package/docs/ecosystem/testing.md +131 -157
  25. package/docs/ecosystem/theming.md +119 -165
  26. package/docs/ecosystem.md +145 -179
  27. package/docs/elements.md +1096 -1774
  28. package/docs/embedding.md +83 -132
  29. package/docs/events.md +412 -695
  30. package/docs/extending.md +784 -1326
  31. package/docs/eyedropper.md +63 -122
  32. package/docs/filedialog.md +71 -107
  33. package/docs/frame.md +195 -339
  34. package/docs/gl.md +65 -62
  35. package/docs/globalmenu.md +63 -146
  36. package/docs/macos.md +531 -3234
  37. package/docs/notifications.md +33 -47
  38. package/docs/packaging.md +166 -309
  39. package/docs/permissions.md +9 -14
  40. package/docs/react-features.md +81 -106
  41. package/docs/remote.md +32 -76
  42. package/docs/scale.md +72 -186
  43. package/docs/styling.md +329 -547
  44. package/docs/system.md +200 -280
  45. package/docs/testing.md +63 -83
  46. package/docs/typescript.md +6 -48
  47. package/docs/uri-schemes.md +67 -107
  48. package/docs/wayland-backend.md +200 -459
  49. package/docs/windows-integrations.md +75 -131
  50. package/docs/windows.md +343 -1367
  51. package/package.json +3 -2
  52. package/src/Reconciler.js +2 -2
  53. package/src/a11y.js +1 -1
  54. package/src/backend/context2d.js +3 -3
  55. package/src/bootstrap.js +1 -1
  56. package/src/cocoa/app.js +6 -6
  57. package/src/cocoa/bezels.js +1 -1
  58. package/src/cocoa/fonts.js +1 -1
  59. package/src/cocoa/globalmenu.js +1 -1
  60. package/src/cocoa/keymap.js +1 -1
  61. package/src/cocoa/panewindow.js +1 -1
  62. package/src/cocoa/player.js +1 -1
  63. package/src/cocoa/presenter.js +2 -2
  64. package/src/cocoa/promotion.js +1 -1
  65. package/src/cocoa/relaunch.js +1 -1
  66. package/src/cocoa/threaded.js +1 -1
  67. package/src/cocoa/video.js +1 -1
  68. package/src/cocoa/window.js +4 -4
  69. package/src/components/Menu.js +7 -2
  70. package/src/components/Switch.js +1 -1
  71. package/src/components/native.js +1 -1
  72. package/src/dnd.js +2 -2
  73. package/src/glnodes.js +1 -1
  74. package/src/grid.js +1 -1
  75. package/src/imagedecode-worker.js +32 -0
  76. package/src/imagedecode.js +140 -2
  77. package/src/layouts.js +1 -1
  78. package/src/nodes/animation.js +1 -1
  79. package/src/nodes/invalidate.js +1 -1
  80. package/src/nodes/layouthost.js +1 -1
  81. package/src/nodes/video.js +19 -8
  82. package/src/nodes/window/droptarget.js +1 -1
  83. package/src/ntk.d.ts +12 -0
  84. package/src/pacing.js +1 -1
  85. package/src/refresh/index.js +2 -1
  86. package/src/types/video.d.ts +5 -2
  87. package/src/videobackend.js +28 -0
  88. package/src/videoframes.js +29 -16
  89. package/src/wayland/app.js +27 -0
  90. package/src/wayland/video.js +376 -0
  91. package/src/win32/a11y.js +1 -1
  92. package/src/win32/app.js +2 -2
  93. package/src/win32/fonts.js +1 -1
  94. package/src/win32/glarea.js +4 -4
  95. package/src/win32/overlay.js +1 -1
  96. package/src/win32/panewindow.js +3 -3
  97. package/src/win32/shell.js +1 -1
  98. package/src/win32/window.js +2 -2
  99. package/src/windowid.js +1 -1
  100. package/src/xvideo.js +189 -0
  101. package/docs/architecture/accessibility.md +0 -470
  102. package/docs/architecture/animation.md +0 -707
  103. package/docs/architecture/container-queries.md +0 -525
  104. package/docs/architecture/custom-layout.md +0 -334
  105. package/docs/architecture/drag-and-drop.md +0 -941
  106. package/docs/architecture/element-layer-contents.md +0 -622
  107. package/docs/architecture/frame-pacing.md +0 -255
  108. package/docs/architecture/grid-layout.md +0 -358
  109. package/docs/architecture/protocol-efficiency.md +0 -357
  110. package/docs/architecture/video.md +0 -1149
  111. package/docs/architecture/windowed-regions.md +0 -854
  112. package/docs/glx.md +0 -137
  113. package/docs/wayland.md +0 -545
  114. package/docs/windows-embedding.md +0 -271
  115. package/docs/windows-gl.md +0 -221
package/README.md CHANGED
@@ -101,7 +101,7 @@ composites and the pixel area those composites touch, against a checked-in
101
101
  baseline (`scripts/bench/baseline.json`, which is where the numbers in these
102
102
  docs come from).
103
103
 
104
- The Cocoa backend inverts this, and [docs/macos.md](docs/macos.md) is the
104
+ The Cocoa backend inverts this, and [design/macos.md](design/macos.md) is the
105
105
  design record for why: there is no wire, the WindowServer is a retained
106
106
  compositor, and a React commit maps onto property mutations of persistent
107
107
  objects. Scrolling is a layer's `bounds.origin` rather than a repaint,
@@ -158,7 +158,7 @@ three:
158
158
  file associations, URL schemes and second launches — so an app that needs
159
159
  any of that on Windows _this month_ still wants Electron or Tauri.
160
160
  [docs/windows-integrations.md](docs/windows-integrations.md) is the
161
- measured status and [docs/windows.md](docs/windows.md) the design. The three
161
+ measured status and [design/windows.md](design/windows.md) the design. The three
162
162
  targets are not the same app: the desktop-shell half of X11 (`<foreign>`
163
163
  embedding, panel struts, substructure redirect, the window-manager example
164
164
  below) has no macOS or Windows equivalent, and `react-x11/test` drives the
@@ -166,13 +166,13 @@ three:
166
166
  - **native Wayland — today.** The native backend is opt-in and young:
167
167
  windows, text, input, an input method, the clipboard, popups, drag and
168
168
  drop and layer-shell docks and panels run on mutter, sway and labwc, and
169
- [docs/wayland-backend.md](docs/wayland-backend.md#what-is-left) lists what
169
+ [docs/wayland-backend.md](docs/wayland-backend.md#not-supported-yet) lists what
170
170
  is left — no multisampling, no `<Frame>` panes, no drag icon. Ordinary
171
171
  application windows also work on a Wayland desktop through Xwayland, which
172
172
  is not going away — but the desktop-shell half of X11 (`<foreign>`
173
173
  embedding, global key grabs, and the window-manager example below) needs a
174
174
  real X session. It is a **target beside X11, not a migration**;
175
- [docs/wayland.md](docs/wayland.md) is the RFC it was built from.
175
+ [design/wayland.md](design/wayland.md) is the RFC it was built from.
176
176
  - **reusing web components.** There is no DOM. Your MUI, your Tailwind and
177
177
  your `recharts` do not come with you; the state, data-fetching, validation
178
178
  and math libraries mostly do. [docs/ecosystem.md](docs/ecosystem.md) says
@@ -204,7 +204,7 @@ protocol sent over the X connection, geometry compiled into a display list,
204
204
  a frame costing two matrices and one `CallList`. No native bindings, no GPU
205
205
  driver bindings — the same "JavaScript all the way down" story as the rest.
206
206
  (GL renders where the X server cannot read it back, so there is no
207
- screenshot of it here; see [docs/glx.md](docs/glx.md).)
207
+ screenshot of it here; see [docs/gl.md](docs/gl.md#testing).)
208
208
 
209
209
  ## Quick start
210
210
 
@@ -375,7 +375,7 @@ way underneath it — three on the mature backends:
375
375
  X server involved.
376
376
 
377
377
  The two younger backends have their own: WGL on Windows, composited through
378
- DirectComposition ([docs/windows-gl.md](docs/windows-gl.md)), and on Wayland
378
+ DirectComposition ([design/windows-gl.md](design/windows-gl.md)), and on Wayland
379
379
  a viewport into the window's own GLES target.
380
380
 
381
381
  ```jsx
@@ -390,7 +390,7 @@ a viewport into the window's own GLES target.
390
390
  A scene graph over it — `<mesh>`, geometries, materials, lights, and shaders
391
391
  or post-processing where the backend has them — is
392
392
  [`@react-x11/components/three`](https://github.com/sidorares/react-x11-components).
393
- See [docs/gl.md](docs/gl.md) and [docs/glx.md](docs/glx.md).
393
+ See [docs/gl.md](docs/gl.md).
394
394
 
395
395
  Events are synthetic with capture/bubble phases and hit testing over the
396
396
  drawn tree: `onClick` (with DOM-style `detail` click counting),
@@ -596,8 +596,8 @@ indirect GLX.
596
596
 
597
597
  See [AGENTS.md](AGENTS.md) for architecture notes and contributor/agent
598
598
  guidance, [docs/](docs/README.md) for API documentation,
599
- [docs/architecture/](docs/architecture/) for the design records behind the
600
- bigger pieces, and [NEXT_STEPS.md](NEXT_STEPS.md) for the older roadmap it
599
+ [design/](design/README.md) for the design records behind the bigger
600
+ pieces and the backends, and [NEXT_STEPS.md](NEXT_STEPS.md) for the older roadmap it
601
601
  grew out of.
602
602
 
603
603
  The [documentation site](https://sidorares.github.io/react-x11/) lives in
@@ -683,7 +683,7 @@ against, is [docs/security.md](docs/security.md). To report something,
683
683
  desktop platforms for React Native. On Windows the new architecture's
684
684
  renderer targets Composition from the start, in Windows App SDK apps by
685
685
  default, with XAML islands for advanced controls; on macOS a fork of React
686
- Native maps its UIKit views onto AppKit. [docs/windows.md](docs/windows.md)
686
+ Native maps its UIKit views onto AppKit. [design/windows.md](design/windows.md)
687
687
  cites its threading as prior art: JS on a thread of its own, and every
688
688
  mount posted to the UI thread that alone touches the visuals.
689
689
  - [React Native Skia](https://github.com/Shopify/react-native-skia) — 2D