@react-x11/components 0.1.0 → 0.2.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 (783) hide show
  1. package/README.md +979 -21
  2. package/dist/ansi/cast.d.ts +48 -0
  3. package/dist/ansi/cast.d.ts.map +1 -0
  4. package/dist/ansi/cast.js +135 -0
  5. package/dist/ansi/cast.js.map +1 -0
  6. package/dist/ansi/index.d.ts +10 -0
  7. package/dist/ansi/index.d.ts.map +1 -0
  8. package/dist/ansi/index.js +27 -0
  9. package/dist/ansi/index.js.map +1 -0
  10. package/dist/ansi/palette.d.ts +79 -0
  11. package/dist/ansi/palette.d.ts.map +1 -0
  12. package/dist/ansi/palette.js +155 -0
  13. package/dist/ansi/palette.js.map +1 -0
  14. package/dist/ansi/parse.d.ts +114 -0
  15. package/dist/ansi/parse.d.ts.map +1 -0
  16. package/dist/ansi/parse.js +687 -0
  17. package/dist/ansi/parse.js.map +1 -0
  18. package/dist/ansi/sgr.d.ts +87 -0
  19. package/dist/ansi/sgr.d.ts.map +1 -0
  20. package/dist/ansi/sgr.js +302 -0
  21. package/dist/ansi/sgr.js.map +1 -0
  22. package/dist/ansi/utf8.d.ts +15 -0
  23. package/dist/ansi/utf8.d.ts.map +1 -0
  24. package/dist/ansi/utf8.js +82 -0
  25. package/dist/ansi/utf8.js.map +1 -0
  26. package/dist/calendar/Calendar.d.ts +136 -0
  27. package/dist/calendar/Calendar.d.ts.map +1 -0
  28. package/dist/calendar/Calendar.js +460 -0
  29. package/dist/calendar/Calendar.js.map +1 -0
  30. package/dist/calendar/DatePicker.d.ts +52 -0
  31. package/dist/calendar/DatePicker.d.ts.map +1 -0
  32. package/dist/calendar/DatePicker.js +257 -0
  33. package/dist/calendar/DatePicker.js.map +1 -0
  34. package/dist/calendar/dates.d.ts +90 -0
  35. package/dist/calendar/dates.d.ts.map +1 -0
  36. package/dist/calendar/dates.js +236 -0
  37. package/dist/calendar/dates.js.map +1 -0
  38. package/dist/calendar/index.d.ts +8 -0
  39. package/dist/calendar/index.d.ts.map +1 -0
  40. package/dist/calendar/index.js +15 -0
  41. package/dist/calendar/index.js.map +1 -0
  42. package/dist/charts/components.d.ts +141 -0
  43. package/dist/charts/components.d.ts.map +1 -0
  44. package/dist/charts/components.js +580 -0
  45. package/dist/charts/components.js.map +1 -0
  46. package/dist/charts/data.d.ts +198 -0
  47. package/dist/charts/data.d.ts.map +1 -0
  48. package/dist/charts/data.js +616 -0
  49. package/dist/charts/data.js.map +1 -0
  50. package/dist/charts/hx.d.ts +21 -0
  51. package/dist/charts/hx.d.ts.map +1 -0
  52. package/dist/charts/hx.js +15 -0
  53. package/dist/charts/hx.js.map +1 -0
  54. package/dist/charts/index.d.ts +27 -0
  55. package/dist/charts/index.d.ts.map +1 -0
  56. package/dist/charts/index.js +38 -0
  57. package/dist/charts/index.js.map +1 -0
  58. package/dist/charts/node.d.ts +96 -0
  59. package/dist/charts/node.d.ts.map +1 -0
  60. package/dist/charts/node.js +720 -0
  61. package/dist/charts/node.js.map +1 -0
  62. package/dist/charts/render.d.ts +153 -0
  63. package/dist/charts/render.d.ts.map +1 -0
  64. package/dist/charts/render.js +762 -0
  65. package/dist/charts/render.js.map +1 -0
  66. package/dist/charts/scale.d.ts +42 -0
  67. package/dist/charts/scale.d.ts.map +1 -0
  68. package/dist/charts/scale.js +173 -0
  69. package/dist/charts/scale.js.map +1 -0
  70. package/dist/charts/spec.d.ts +91 -0
  71. package/dist/charts/spec.d.ts.map +1 -0
  72. package/dist/charts/spec.js +33 -0
  73. package/dist/charts/spec.js.map +1 -0
  74. package/dist/charts/timers.d.ts +6 -0
  75. package/dist/charts/timers.d.ts.map +1 -0
  76. package/dist/charts/timers.js +14 -0
  77. package/dist/charts/timers.js.map +1 -0
  78. package/dist/code/hx.d.ts +24 -0
  79. package/dist/code/hx.d.ts.map +1 -0
  80. package/dist/code/hx.js +25 -0
  81. package/dist/code/hx.js.map +1 -0
  82. package/dist/code/index.d.ts +45 -0
  83. package/dist/code/index.d.ts.map +1 -0
  84. package/dist/code/index.js +93 -0
  85. package/dist/code/index.js.map +1 -0
  86. package/dist/code-editor/completion.d.ts +26 -0
  87. package/dist/code-editor/completion.d.ts.map +1 -0
  88. package/dist/code-editor/completion.js +129 -0
  89. package/dist/code-editor/completion.js.map +1 -0
  90. package/dist/code-editor/doc.d.ts +35 -0
  91. package/dist/code-editor/doc.d.ts.map +1 -0
  92. package/dist/code-editor/doc.js +162 -0
  93. package/dist/code-editor/doc.js.map +1 -0
  94. package/dist/code-editor/hx.d.ts +13 -0
  95. package/dist/code-editor/hx.d.ts.map +1 -0
  96. package/dist/code-editor/hx.js +10 -0
  97. package/dist/code-editor/hx.js.map +1 -0
  98. package/dist/code-editor/index.d.ts +88 -0
  99. package/dist/code-editor/index.d.ts.map +1 -0
  100. package/dist/code-editor/index.js +401 -0
  101. package/dist/code-editor/index.js.map +1 -0
  102. package/dist/code-editor/node.d.ts +343 -0
  103. package/dist/code-editor/node.d.ts.map +1 -0
  104. package/dist/code-editor/node.js +1521 -0
  105. package/dist/code-editor/node.js.map +1 -0
  106. package/dist/code-language/hljs.d.ts +47 -0
  107. package/dist/code-language/hljs.d.ts.map +1 -0
  108. package/dist/code-language/hljs.js +211 -0
  109. package/dist/code-language/hljs.js.map +1 -0
  110. package/dist/code-language/index.d.ts +22 -0
  111. package/dist/code-language/index.d.ts.map +1 -0
  112. package/dist/code-language/index.js +20 -0
  113. package/dist/code-language/index.js.map +1 -0
  114. package/dist/code-language/languages/glsl.d.ts +4 -0
  115. package/dist/code-language/languages/glsl.d.ts.map +1 -0
  116. package/dist/code-language/languages/glsl.js +99 -0
  117. package/dist/code-language/languages/glsl.js.map +1 -0
  118. package/dist/code-language/languages/javascript.d.ts +10 -0
  119. package/dist/code-language/languages/javascript.d.ts.map +1 -0
  120. package/dist/code-language/languages/javascript.js +360 -0
  121. package/dist/code-language/languages/javascript.js.map +1 -0
  122. package/dist/code-language/languages/json.d.ts +4 -0
  123. package/dist/code-language/languages/json.d.ts.map +1 -0
  124. package/dist/code-language/languages/json.js +68 -0
  125. package/dist/code-language/languages/json.js.map +1 -0
  126. package/dist/code-language/languages/shell.d.ts +4 -0
  127. package/dist/code-language/languages/shell.d.ts.map +1 -0
  128. package/dist/code-language/languages/shell.js +189 -0
  129. package/dist/code-language/languages/shell.js.map +1 -0
  130. package/dist/code-language/languages/sql.d.ts +11 -0
  131. package/dist/code-language/languages/sql.d.ts.map +1 -0
  132. package/dist/code-language/languages/sql.js +133 -0
  133. package/dist/code-language/languages/sql.js.map +1 -0
  134. package/dist/code-language/lezer.d.ts +24 -0
  135. package/dist/code-language/lezer.d.ts.map +1 -0
  136. package/dist/code-language/lezer.js +148 -0
  137. package/dist/code-language/lezer.js.map +1 -0
  138. package/dist/code-language/registry.d.ts +19 -0
  139. package/dist/code-language/registry.d.ts.map +1 -0
  140. package/dist/code-language/registry.js +56 -0
  141. package/dist/code-language/registry.js.map +1 -0
  142. package/dist/code-language/runs.d.ts +35 -0
  143. package/dist/code-language/runs.d.ts.map +1 -0
  144. package/dist/code-language/runs.js +88 -0
  145. package/dist/code-language/runs.js.map +1 -0
  146. package/dist/code-language/stream.d.ts +70 -0
  147. package/dist/code-language/stream.d.ts.map +1 -0
  148. package/dist/code-language/stream.js +243 -0
  149. package/dist/code-language/stream.js.map +1 -0
  150. package/dist/code-language/textmate.d.ts +27 -0
  151. package/dist/code-language/textmate.d.ts.map +1 -0
  152. package/dist/code-language/textmate.js +86 -0
  153. package/dist/code-language/textmate.js.map +1 -0
  154. package/dist/code-language/theme.d.ts +26 -0
  155. package/dist/code-language/theme.d.ts.map +1 -0
  156. package/dist/code-language/theme.js +108 -0
  157. package/dist/code-language/theme.js.map +1 -0
  158. package/dist/code-language/timers.d.ts +7 -0
  159. package/dist/code-language/timers.d.ts.map +1 -0
  160. package/dist/code-language/timers.js +22 -0
  161. package/dist/code-language/timers.js.map +1 -0
  162. package/dist/code-language/types.d.ts +173 -0
  163. package/dist/code-language/types.d.ts.map +1 -0
  164. package/dist/code-language/types.js +41 -0
  165. package/dist/code-language/types.js.map +1 -0
  166. package/dist/codeblock/index.d.ts +69 -0
  167. package/dist/codeblock/index.d.ts.map +1 -0
  168. package/dist/codeblock/index.js +85 -0
  169. package/dist/codeblock/index.js.map +1 -0
  170. package/dist/color-picker/ColorField.d.ts +39 -0
  171. package/dist/color-picker/ColorField.d.ts.map +1 -0
  172. package/dist/color-picker/ColorField.js +239 -0
  173. package/dist/color-picker/ColorField.js.map +1 -0
  174. package/dist/color-picker/ColorPicker.d.ts +109 -0
  175. package/dist/color-picker/ColorPicker.d.ts.map +1 -0
  176. package/dist/color-picker/ColorPicker.js +757 -0
  177. package/dist/color-picker/ColorPicker.js.map +1 -0
  178. package/dist/color-picker/color.d.ts +105 -0
  179. package/dist/color-picker/color.d.ts.map +1 -0
  180. package/dist/color-picker/color.js +313 -0
  181. package/dist/color-picker/color.js.map +1 -0
  182. package/dist/color-picker/index.d.ts +8 -0
  183. package/dist/color-picker/index.d.ts.map +1 -0
  184. package/dist/color-picker/index.js +19 -0
  185. package/dist/color-picker/index.js.map +1 -0
  186. package/dist/desktop-calendar/eds.d.ts +102 -0
  187. package/dist/desktop-calendar/eds.d.ts.map +1 -0
  188. package/dist/desktop-calendar/eds.js +356 -0
  189. package/dist/desktop-calendar/eds.js.map +1 -0
  190. package/dist/desktop-calendar/ical.d.ts +63 -0
  191. package/dist/desktop-calendar/ical.d.ts.map +1 -0
  192. package/dist/desktop-calendar/ical.js +57 -0
  193. package/dist/desktop-calendar/ical.js.map +1 -0
  194. package/dist/desktop-calendar/index.d.ts +72 -0
  195. package/dist/desktop-calendar/index.d.ts.map +1 -0
  196. package/dist/desktop-calendar/index.js +213 -0
  197. package/dist/desktop-calendar/index.js.map +1 -0
  198. package/dist/embed/client.d.ts +121 -0
  199. package/dist/embed/client.d.ts.map +1 -0
  200. package/dist/embed/client.js +203 -0
  201. package/dist/embed/client.js.map +1 -0
  202. package/dist/embed/host.d.ts +96 -0
  203. package/dist/embed/host.d.ts.map +1 -0
  204. package/dist/embed/host.js +266 -0
  205. package/dist/embed/host.js.map +1 -0
  206. package/dist/embed/index.d.ts +5 -0
  207. package/dist/embed/index.d.ts.map +1 -0
  208. package/dist/embed/index.js +13 -0
  209. package/dist/embed/index.js.map +1 -0
  210. package/dist/embed/timers.d.ts +6 -0
  211. package/dist/embed/timers.d.ts.map +1 -0
  212. package/dist/embed/timers.js +16 -0
  213. package/dist/embed/timers.js.map +1 -0
  214. package/dist/flow/draw.d.ts +45 -0
  215. package/dist/flow/draw.d.ts.map +1 -0
  216. package/dist/flow/draw.js +295 -0
  217. package/dist/flow/draw.js.map +1 -0
  218. package/dist/flow/index.d.ts +64 -0
  219. package/dist/flow/index.d.ts.map +1 -0
  220. package/dist/flow/index.js +306 -0
  221. package/dist/flow/index.js.map +1 -0
  222. package/dist/flow/model.d.ts +158 -0
  223. package/dist/flow/model.d.ts.map +1 -0
  224. package/dist/flow/model.js +566 -0
  225. package/dist/flow/model.js.map +1 -0
  226. package/dist/flow/node.d.ts +429 -0
  227. package/dist/flow/node.d.ts.map +1 -0
  228. package/dist/flow/node.js +3025 -0
  229. package/dist/flow/node.js.map +1 -0
  230. package/dist/flow/paths.d.ts +43 -0
  231. package/dist/flow/paths.d.ts.map +1 -0
  232. package/dist/flow/paths.js +327 -0
  233. package/dist/flow/paths.js.map +1 -0
  234. package/dist/flow/types.d.ts +561 -0
  235. package/dist/flow/types.d.ts.map +1 -0
  236. package/dist/flow/types.js +2 -0
  237. package/dist/flow/types.js.map +1 -0
  238. package/dist/formula/hx.d.ts +24 -0
  239. package/dist/formula/hx.d.ts.map +1 -0
  240. package/dist/formula/hx.js +25 -0
  241. package/dist/formula/hx.js.map +1 -0
  242. package/dist/formula/index.d.ts +74 -0
  243. package/dist/formula/index.d.ts.map +1 -0
  244. package/dist/formula/index.js +155 -0
  245. package/dist/formula/index.js.map +1 -0
  246. package/dist/formula/katex.d.ts +78 -0
  247. package/dist/formula/katex.d.ts.map +1 -0
  248. package/dist/formula/katex.js +130 -0
  249. package/dist/formula/katex.js.map +1 -0
  250. package/dist/formula/layout.d.ts +103 -0
  251. package/dist/formula/layout.d.ts.map +1 -0
  252. package/dist/formula/layout.js +716 -0
  253. package/dist/formula/layout.js.map +1 -0
  254. package/dist/formula/node.d.ts +50 -0
  255. package/dist/formula/node.d.ts.map +1 -0
  256. package/dist/formula/node.js +351 -0
  257. package/dist/formula/node.js.map +1 -0
  258. package/dist/html/controls.d.ts +48 -0
  259. package/dist/html/controls.d.ts.map +1 -0
  260. package/dist/html/controls.js +195 -0
  261. package/dist/html/controls.js.map +1 -0
  262. package/dist/html/css/cascade.d.ts +51 -0
  263. package/dist/html/css/cascade.d.ts.map +1 -0
  264. package/dist/html/css/cascade.js +552 -0
  265. package/dist/html/css/cascade.js.map +1 -0
  266. package/dist/html/css/parse.d.ts +74 -0
  267. package/dist/html/css/parse.d.ts.map +1 -0
  268. package/dist/html/css/parse.js +464 -0
  269. package/dist/html/css/parse.js.map +1 -0
  270. package/dist/html/css/style.d.ts +142 -0
  271. package/dist/html/css/style.d.ts.map +1 -0
  272. package/dist/html/css/style.js +1145 -0
  273. package/dist/html/css/style.js.map +1 -0
  274. package/dist/html/css/ua.d.ts +5 -0
  275. package/dist/html/css/ua.d.ts.map +1 -0
  276. package/dist/html/css/ua.js +171 -0
  277. package/dist/html/css/ua.js.map +1 -0
  278. package/dist/html/css/values.d.ts +78 -0
  279. package/dist/html/css/values.d.ts.map +1 -0
  280. package/dist/html/css/values.js +330 -0
  281. package/dist/html/css/values.js.map +1 -0
  282. package/dist/html/dom.d.ts +112 -0
  283. package/dist/html/dom.d.ts.map +1 -0
  284. package/dist/html/dom.js +374 -0
  285. package/dist/html/dom.js.map +1 -0
  286. package/dist/html/hx.d.ts +24 -0
  287. package/dist/html/hx.d.ts.map +1 -0
  288. package/dist/html/hx.js +29 -0
  289. package/dist/html/hx.js.map +1 -0
  290. package/dist/html/index.d.ts +137 -0
  291. package/dist/html/index.d.ts.map +1 -0
  292. package/dist/html/index.js +339 -0
  293. package/dist/html/index.js.map +1 -0
  294. package/dist/html/layout/block.d.ts +58 -0
  295. package/dist/html/layout/block.d.ts.map +1 -0
  296. package/dist/html/layout/block.js +724 -0
  297. package/dist/html/layout/block.js.map +1 -0
  298. package/dist/html/layout/boxes.d.ts +261 -0
  299. package/dist/html/layout/boxes.d.ts.map +1 -0
  300. package/dist/html/layout/boxes.js +725 -0
  301. package/dist/html/layout/boxes.js.map +1 -0
  302. package/dist/html/layout/flex.d.ts +16 -0
  303. package/dist/html/layout/flex.d.ts.map +1 -0
  304. package/dist/html/layout/flex.js +242 -0
  305. package/dist/html/layout/flex.js.map +1 -0
  306. package/dist/html/layout/floats.d.ts +50 -0
  307. package/dist/html/layout/floats.d.ts.map +1 -0
  308. package/dist/html/layout/floats.js +110 -0
  309. package/dist/html/layout/floats.js.map +1 -0
  310. package/dist/html/layout/inline.d.ts +44 -0
  311. package/dist/html/layout/inline.d.ts.map +1 -0
  312. package/dist/html/layout/inline.js +700 -0
  313. package/dist/html/layout/inline.js.map +1 -0
  314. package/dist/html/layout/table.d.ts +5 -0
  315. package/dist/html/layout/table.d.ts.map +1 -0
  316. package/dist/html/layout/table.js +340 -0
  317. package/dist/html/layout/table.js.map +1 -0
  318. package/dist/html/node.d.ts +149 -0
  319. package/dist/html/node.d.ts.map +1 -0
  320. package/dist/html/node.js +861 -0
  321. package/dist/html/node.js.map +1 -0
  322. package/dist/html/paint.d.ts +48 -0
  323. package/dist/html/paint.d.ts.map +1 -0
  324. package/dist/html/paint.js +495 -0
  325. package/dist/html/paint.js.map +1 -0
  326. package/dist/html/resources.d.ts +48 -0
  327. package/dist/html/resources.d.ts.map +1 -0
  328. package/dist/html/resources.js +156 -0
  329. package/dist/html/resources.js.map +1 -0
  330. package/dist/index.d.ts +48 -0
  331. package/dist/index.d.ts.map +1 -0
  332. package/dist/index.js +92 -0
  333. package/dist/index.js.map +1 -0
  334. package/dist/internal/heights.d.ts +81 -0
  335. package/dist/internal/heights.d.ts.map +1 -0
  336. package/dist/internal/heights.js +193 -0
  337. package/dist/internal/heights.js.map +1 -0
  338. package/dist/internal/hx.d.ts +24 -0
  339. package/dist/internal/hx.d.ts.map +1 -0
  340. package/dist/internal/hx.js +27 -0
  341. package/dist/internal/hx.js.map +1 -0
  342. package/dist/internal/text.d.ts +6 -0
  343. package/dist/internal/text.d.ts.map +1 -0
  344. package/dist/internal/text.js +44 -0
  345. package/dist/internal/text.js.map +1 -0
  346. package/dist/internal/timers.d.ts +8 -0
  347. package/dist/internal/timers.d.ts.map +1 -0
  348. package/dist/internal/timers.js +22 -0
  349. package/dist/internal/timers.js.map +1 -0
  350. package/dist/internal/widget.d.ts +40 -0
  351. package/dist/internal/widget.d.ts.map +1 -0
  352. package/dist/internal/widget.js +44 -0
  353. package/dist/internal/widget.js.map +1 -0
  354. package/dist/markdown/ast.d.ts +126 -0
  355. package/dist/markdown/ast.d.ts.map +1 -0
  356. package/dist/markdown/ast.js +8 -0
  357. package/dist/markdown/ast.js.map +1 -0
  358. package/dist/markdown/hx.d.ts +24 -0
  359. package/dist/markdown/hx.d.ts.map +1 -0
  360. package/dist/markdown/hx.js +25 -0
  361. package/dist/markdown/hx.js.map +1 -0
  362. package/dist/markdown/index.d.ts +90 -0
  363. package/dist/markdown/index.d.ts.map +1 -0
  364. package/dist/markdown/index.js +413 -0
  365. package/dist/markdown/index.js.map +1 -0
  366. package/dist/markdown/parse.d.ts +8 -0
  367. package/dist/markdown/parse.d.ts.map +1 -0
  368. package/dist/markdown/parse.js +911 -0
  369. package/dist/markdown/parse.js.map +1 -0
  370. package/dist/markdown/spans.d.ts +20 -0
  371. package/dist/markdown/spans.d.ts.map +1 -0
  372. package/dist/markdown/spans.js +96 -0
  373. package/dist/markdown/spans.js.map +1 -0
  374. package/dist/media-player/backends.d.ts +64 -0
  375. package/dist/media-player/backends.d.ts.map +1 -0
  376. package/dist/media-player/backends.js +110 -0
  377. package/dist/media-player/backends.js.map +1 -0
  378. package/dist/media-player/control.d.ts +40 -0
  379. package/dist/media-player/control.d.ts.map +1 -0
  380. package/dist/media-player/control.js +44 -0
  381. package/dist/media-player/control.js.map +1 -0
  382. package/dist/media-player/hx.d.ts +24 -0
  383. package/dist/media-player/hx.d.ts.map +1 -0
  384. package/dist/media-player/hx.js +25 -0
  385. package/dist/media-player/hx.js.map +1 -0
  386. package/dist/media-player/index.d.ts +107 -0
  387. package/dist/media-player/index.d.ts.map +1 -0
  388. package/dist/media-player/index.js +219 -0
  389. package/dist/media-player/index.js.map +1 -0
  390. package/dist/media-player/mpv.d.ts +4 -0
  391. package/dist/media-player/mpv.d.ts.map +1 -0
  392. package/dist/media-player/mpv.js +120 -0
  393. package/dist/media-player/mpv.js.map +1 -0
  394. package/dist/media-player/vlc.d.ts +8 -0
  395. package/dist/media-player/vlc.d.ts.map +1 -0
  396. package/dist/media-player/vlc.js +83 -0
  397. package/dist/media-player/vlc.js.map +1 -0
  398. package/dist/richtext/index.d.ts +19 -0
  399. package/dist/richtext/index.d.ts.map +1 -0
  400. package/dist/richtext/index.js +4 -0
  401. package/dist/richtext/index.js.map +1 -0
  402. package/dist/richtext/links.d.ts +12 -0
  403. package/dist/richtext/links.d.ts.map +1 -0
  404. package/dist/richtext/links.js +64 -0
  405. package/dist/richtext/links.js.map +1 -0
  406. package/dist/richtext/menu.d.ts +11 -0
  407. package/dist/richtext/menu.d.ts.map +1 -0
  408. package/dist/richtext/menu.js +43 -0
  409. package/dist/richtext/menu.js.map +1 -0
  410. package/dist/richtext/node.d.ts +151 -0
  411. package/dist/richtext/node.d.ts.map +1 -0
  412. package/dist/richtext/node.js +255 -0
  413. package/dist/richtext/node.js.map +1 -0
  414. package/dist/richtext/runs.d.ts +92 -0
  415. package/dist/richtext/runs.d.ts.map +1 -0
  416. package/dist/richtext/runs.js +158 -0
  417. package/dist/richtext/runs.js.map +1 -0
  418. package/dist/table/hx.d.ts +24 -0
  419. package/dist/table/hx.d.ts.map +1 -0
  420. package/dist/table/hx.js +25 -0
  421. package/dist/table/hx.js.map +1 -0
  422. package/dist/table/index.d.ts +169 -0
  423. package/dist/table/index.d.ts.map +1 -0
  424. package/dist/table/index.js +844 -0
  425. package/dist/table/index.js.map +1 -0
  426. package/dist/table/rows.d.ts +136 -0
  427. package/dist/table/rows.d.ts.map +1 -0
  428. package/dist/table/rows.js +146 -0
  429. package/dist/table/rows.js.map +1 -0
  430. package/dist/terminal/backends.d.ts +105 -0
  431. package/dist/terminal/backends.d.ts.map +1 -0
  432. package/dist/terminal/backends.js +185 -0
  433. package/dist/terminal/backends.js.map +1 -0
  434. package/dist/terminal/hx.d.ts +24 -0
  435. package/dist/terminal/hx.d.ts.map +1 -0
  436. package/dist/terminal/hx.js +25 -0
  437. package/dist/terminal/hx.js.map +1 -0
  438. package/dist/terminal/index.d.ts +160 -0
  439. package/dist/terminal/index.d.ts.map +1 -0
  440. package/dist/terminal/index.js +344 -0
  441. package/dist/terminal/index.js.map +1 -0
  442. package/dist/terminal/title.d.ts +24 -0
  443. package/dist/terminal/title.d.ts.map +1 -0
  444. package/dist/terminal/title.js +129 -0
  445. package/dist/terminal/title.js.map +1 -0
  446. package/dist/terminal/vt/colors.d.ts +63 -0
  447. package/dist/terminal/vt/colors.d.ts.map +1 -0
  448. package/dist/terminal/vt/colors.js +203 -0
  449. package/dist/terminal/vt/colors.js.map +1 -0
  450. package/dist/terminal/vt/diff.d.ts +117 -0
  451. package/dist/terminal/vt/diff.d.ts.map +1 -0
  452. package/dist/terminal/vt/diff.js +358 -0
  453. package/dist/terminal/vt/diff.js.map +1 -0
  454. package/dist/terminal/vt/fonts.d.ts +92 -0
  455. package/dist/terminal/vt/fonts.d.ts.map +1 -0
  456. package/dist/terminal/vt/fonts.js +178 -0
  457. package/dist/terminal/vt/fonts.js.map +1 -0
  458. package/dist/terminal/vt/index.d.ts +78 -0
  459. package/dist/terminal/vt/index.d.ts.map +1 -0
  460. package/dist/terminal/vt/index.js +312 -0
  461. package/dist/terminal/vt/index.js.map +1 -0
  462. package/dist/terminal/vt/keys.d.ts +74 -0
  463. package/dist/terminal/vt/keys.d.ts.map +1 -0
  464. package/dist/terminal/vt/keys.js +309 -0
  465. package/dist/terminal/vt/keys.js.map +1 -0
  466. package/dist/terminal/vt/mouse.d.ts +44 -0
  467. package/dist/terminal/vt/mouse.d.ts.map +1 -0
  468. package/dist/terminal/vt/mouse.js +106 -0
  469. package/dist/terminal/vt/mouse.js.map +1 -0
  470. package/dist/terminal/vt/node.d.ts +246 -0
  471. package/dist/terminal/vt/node.d.ts.map +1 -0
  472. package/dist/terminal/vt/node.js +1068 -0
  473. package/dist/terminal/vt/node.js.map +1 -0
  474. package/dist/terminal/vt/pty.d.ts +81 -0
  475. package/dist/terminal/vt/pty.d.ts.map +1 -0
  476. package/dist/terminal/vt/pty.js +201 -0
  477. package/dist/terminal/vt/pty.js.map +1 -0
  478. package/dist/terminal/vt/renderer.d.ts +179 -0
  479. package/dist/terminal/vt/renderer.d.ts.map +1 -0
  480. package/dist/terminal/vt/renderer.js +357 -0
  481. package/dist/terminal/vt/renderer.js.map +1 -0
  482. package/dist/terminal/vt/timers.d.ts +6 -0
  483. package/dist/terminal/vt/timers.d.ts.map +1 -0
  484. package/dist/terminal/vt/timers.js +16 -0
  485. package/dist/terminal/vt/timers.js.map +1 -0
  486. package/dist/terminal/vt/xterm.d.ts +142 -0
  487. package/dist/terminal/vt/xterm.d.ts.map +1 -0
  488. package/dist/terminal/vt/xterm.js +32 -0
  489. package/dist/terminal/vt/xterm.js.map +1 -0
  490. package/dist/terminal-output/hx.d.ts +24 -0
  491. package/dist/terminal-output/hx.d.ts.map +1 -0
  492. package/dist/terminal-output/hx.js +25 -0
  493. package/dist/terminal-output/hx.js.map +1 -0
  494. package/dist/terminal-output/index.d.ts +92 -0
  495. package/dist/terminal-output/index.d.ts.map +1 -0
  496. package/dist/terminal-output/index.js +179 -0
  497. package/dist/terminal-output/index.js.map +1 -0
  498. package/dist/terminal-output/runs.d.ts +27 -0
  499. package/dist/terminal-output/runs.d.ts.map +1 -0
  500. package/dist/terminal-output/runs.js +66 -0
  501. package/dist/terminal-output/runs.js.map +1 -0
  502. package/dist/three/canvas.d.ts +46 -0
  503. package/dist/three/canvas.d.ts.map +1 -0
  504. package/dist/three/canvas.js +305 -0
  505. package/dist/three/canvas.js.map +1 -0
  506. package/dist/three/events.d.ts +64 -0
  507. package/dist/three/events.d.ts.map +1 -0
  508. package/dist/three/events.js +146 -0
  509. package/dist/three/events.js.map +1 -0
  510. package/dist/three/geometries.d.ts +89 -0
  511. package/dist/three/geometries.d.ts.map +1 -0
  512. package/dist/three/geometries.js +345 -0
  513. package/dist/three/geometries.js.map +1 -0
  514. package/dist/three/globals.d.ts +7 -0
  515. package/dist/three/globals.d.ts.map +1 -0
  516. package/dist/three/globals.js +20 -0
  517. package/dist/three/globals.js.map +1 -0
  518. package/dist/three/hx.d.ts +9 -0
  519. package/dist/three/hx.d.ts.map +1 -0
  520. package/dist/three/hx.js +10 -0
  521. package/dist/three/hx.js.map +1 -0
  522. package/dist/three/index.d.ts +22 -0
  523. package/dist/three/index.d.ts.map +1 -0
  524. package/dist/three/index.js +24 -0
  525. package/dist/three/index.js.map +1 -0
  526. package/dist/three/jsx-dev-runtime.d.ts +19 -0
  527. package/dist/three/jsx-dev-runtime.d.ts.map +1 -0
  528. package/dist/three/jsx-dev-runtime.js +2 -0
  529. package/dist/three/jsx-dev-runtime.js.map +1 -0
  530. package/dist/three/jsx-runtime.d.ts +19 -0
  531. package/dist/three/jsx-runtime.d.ts.map +1 -0
  532. package/dist/three/jsx-runtime.js +2 -0
  533. package/dist/three/jsx-runtime.js.map +1 -0
  534. package/dist/three/jsx.d.ts +198 -0
  535. package/dist/three/jsx.d.ts.map +1 -0
  536. package/dist/three/jsx.js +2 -0
  537. package/dist/three/jsx.js.map +1 -0
  538. package/dist/three/materials.d.ts +125 -0
  539. package/dist/three/materials.d.ts.map +1 -0
  540. package/dist/three/materials.js +229 -0
  541. package/dist/three/materials.js.map +1 -0
  542. package/dist/three/math.d.ts +146 -0
  543. package/dist/three/math.d.ts.map +1 -0
  544. package/dist/three/math.js +464 -0
  545. package/dist/three/math.js.map +1 -0
  546. package/dist/three/objects.d.ts +185 -0
  547. package/dist/three/objects.d.ts.map +1 -0
  548. package/dist/three/objects.js +309 -0
  549. package/dist/three/objects.js.map +1 -0
  550. package/dist/three/passes.d.ts +54 -0
  551. package/dist/three/passes.d.ts.map +1 -0
  552. package/dist/three/passes.js +78 -0
  553. package/dist/three/passes.js.map +1 -0
  554. package/dist/three/postprocess.d.ts +85 -0
  555. package/dist/three/postprocess.d.ts.map +1 -0
  556. package/dist/three/postprocess.js +503 -0
  557. package/dist/three/postprocess.js.map +1 -0
  558. package/dist/three/raycast.d.ts +24 -0
  559. package/dist/three/raycast.d.ts.map +1 -0
  560. package/dist/three/raycast.js +138 -0
  561. package/dist/three/raycast.js.map +1 -0
  562. package/dist/three/reconciler.d.ts +48 -0
  563. package/dist/three/reconciler.d.ts.map +1 -0
  564. package/dist/three/reconciler.js +416 -0
  565. package/dist/three/reconciler.js.map +1 -0
  566. package/dist/three/renderer-direct.d.ts +102 -0
  567. package/dist/three/renderer-direct.d.ts.map +1 -0
  568. package/dist/three/renderer-direct.js +782 -0
  569. package/dist/three/renderer-direct.js.map +1 -0
  570. package/dist/three/renderer-indirect.d.ts +68 -0
  571. package/dist/three/renderer-indirect.d.ts.map +1 -0
  572. package/dist/three/renderer-indirect.js +438 -0
  573. package/dist/three/renderer-indirect.js.map +1 -0
  574. package/dist/three/store.d.ts +81 -0
  575. package/dist/three/store.d.ts.map +1 -0
  576. package/dist/three/store.js +110 -0
  577. package/dist/three/store.js.map +1 -0
  578. package/dist/timeline/hx.d.ts +18 -0
  579. package/dist/timeline/hx.d.ts.map +1 -0
  580. package/dist/timeline/hx.js +10 -0
  581. package/dist/timeline/hx.js.map +1 -0
  582. package/dist/timeline/index.d.ts +152 -0
  583. package/dist/timeline/index.d.ts.map +1 -0
  584. package/dist/timeline/index.js +383 -0
  585. package/dist/timeline/index.js.map +1 -0
  586. package/dist/tray-host/hx.d.ts +24 -0
  587. package/dist/tray-host/hx.d.ts.map +1 -0
  588. package/dist/tray-host/hx.js +25 -0
  589. package/dist/tray-host/hx.js.map +1 -0
  590. package/dist/tray-host/index.d.ts +110 -0
  591. package/dist/tray-host/index.d.ts.map +1 -0
  592. package/dist/tray-host/index.js +191 -0
  593. package/dist/tray-host/index.js.map +1 -0
  594. package/dist/tray-host/manager.d.ts +137 -0
  595. package/dist/tray-host/manager.d.ts.map +1 -0
  596. package/dist/tray-host/manager.js +462 -0
  597. package/dist/tray-host/manager.js.map +1 -0
  598. package/dist/tray-host/notify.d.ts +22 -0
  599. package/dist/tray-host/notify.d.ts.map +1 -0
  600. package/dist/tray-host/notify.js +74 -0
  601. package/dist/tray-host/notify.js.map +1 -0
  602. package/dist/tray-host/protocol.d.ts +106 -0
  603. package/dist/tray-host/protocol.d.ts.map +1 -0
  604. package/dist/tray-host/protocol.js +191 -0
  605. package/dist/tray-host/protocol.js.map +1 -0
  606. package/dist/tree/hx.d.ts +24 -0
  607. package/dist/tree/hx.d.ts.map +1 -0
  608. package/dist/tree/hx.js +25 -0
  609. package/dist/tree/hx.js.map +1 -0
  610. package/dist/tree/index.d.ts +221 -0
  611. package/dist/tree/index.d.ts.map +1 -0
  612. package/dist/tree/index.js +716 -0
  613. package/dist/tree/index.js.map +1 -0
  614. package/dist/tree/internal.d.ts +18 -0
  615. package/dist/tree/internal.d.ts.map +1 -0
  616. package/dist/tree/internal.js +66 -0
  617. package/dist/tree/internal.js.map +1 -0
  618. package/dist/tree/rows.d.ts +177 -0
  619. package/dist/tree/rows.d.ts.map +1 -0
  620. package/dist/tree/rows.js +179 -0
  621. package/dist/tree/rows.js.map +1 -0
  622. package/package.json +166 -12
  623. package/src/ansi/cast.ts +159 -0
  624. package/src/ansi/index.ts +53 -0
  625. package/src/ansi/palette.ts +226 -0
  626. package/src/ansi/parse.ts +780 -0
  627. package/src/ansi/sgr.ts +380 -0
  628. package/src/ansi/utf8.ts +84 -0
  629. package/src/calendar/Calendar.ts +744 -0
  630. package/src/calendar/DatePicker.ts +368 -0
  631. package/src/calendar/dates.ts +307 -0
  632. package/src/calendar/index.ts +51 -0
  633. package/src/charts/components.ts +864 -0
  634. package/src/charts/data.ts +776 -0
  635. package/src/charts/hx.ts +39 -0
  636. package/src/charts/index.ts +99 -0
  637. package/src/charts/node.ts +932 -0
  638. package/src/charts/render.ts +982 -0
  639. package/src/charts/scale.ts +214 -0
  640. package/src/charts/spec.ts +122 -0
  641. package/src/charts/timers.ts +24 -0
  642. package/src/code/hx.ts +51 -0
  643. package/src/code/index.ts +174 -0
  644. package/src/code-editor/completion.ts +161 -0
  645. package/src/code-editor/doc.ts +198 -0
  646. package/src/code-editor/hx.ts +26 -0
  647. package/src/code-editor/index.ts +615 -0
  648. package/src/code-editor/node.ts +1926 -0
  649. package/src/code-language/hljs.ts +302 -0
  650. package/src/code-language/index.ts +51 -0
  651. package/src/code-language/languages/glsl.ts +120 -0
  652. package/src/code-language/languages/javascript.ts +419 -0
  653. package/src/code-language/languages/json.ts +72 -0
  654. package/src/code-language/languages/shell.ts +221 -0
  655. package/src/code-language/languages/sql.ts +165 -0
  656. package/src/code-language/lezer.ts +190 -0
  657. package/src/code-language/registry.ts +66 -0
  658. package/src/code-language/runs.ts +128 -0
  659. package/src/code-language/stream.ts +306 -0
  660. package/src/code-language/textmate.ts +134 -0
  661. package/src/code-language/theme.ts +124 -0
  662. package/src/code-language/timers.ts +36 -0
  663. package/src/code-language/types.ts +252 -0
  664. package/src/codeblock/index.ts +146 -0
  665. package/src/color-picker/ColorField.ts +333 -0
  666. package/src/color-picker/ColorPicker.ts +1069 -0
  667. package/src/color-picker/color.ts +399 -0
  668. package/src/color-picker/index.ts +50 -0
  669. package/src/desktop-calendar/eds.ts +484 -0
  670. package/src/desktop-calendar/ical.ts +119 -0
  671. package/src/desktop-calendar/index.ts +287 -0
  672. package/src/embed/client.ts +311 -0
  673. package/src/embed/host.ts +432 -0
  674. package/src/embed/index.ts +33 -0
  675. package/src/embed/timers.ts +32 -0
  676. package/src/flow/draw.ts +418 -0
  677. package/src/flow/index.ts +473 -0
  678. package/src/flow/model.ts +687 -0
  679. package/src/flow/node.ts +3694 -0
  680. package/src/flow/paths.ts +403 -0
  681. package/src/flow/types.ts +634 -0
  682. package/src/formula/hx.ts +51 -0
  683. package/src/formula/index.ts +243 -0
  684. package/src/formula/katex.ts +209 -0
  685. package/src/formula/layout.ts +876 -0
  686. package/src/formula/node.ts +467 -0
  687. package/src/html/controls.ts +244 -0
  688. package/src/html/css/cascade.ts +606 -0
  689. package/src/html/css/parse.ts +500 -0
  690. package/src/html/css/style.ts +1371 -0
  691. package/src/html/css/ua.ts +174 -0
  692. package/src/html/css/values.ts +358 -0
  693. package/src/html/dom.ts +410 -0
  694. package/src/html/hx.ts +55 -0
  695. package/src/html/index.ts +545 -0
  696. package/src/html/layout/block.ts +876 -0
  697. package/src/html/layout/boxes.ts +981 -0
  698. package/src/html/layout/flex.ts +297 -0
  699. package/src/html/layout/floats.ts +125 -0
  700. package/src/html/layout/inline.ts +870 -0
  701. package/src/html/layout/table.ts +380 -0
  702. package/src/html/node.ts +967 -0
  703. package/src/html/paint.ts +605 -0
  704. package/src/html/resources.ts +214 -0
  705. package/src/index.ts +638 -0
  706. package/src/internal/heights.ts +211 -0
  707. package/src/internal/hx.ts +53 -0
  708. package/src/internal/text.ts +44 -0
  709. package/src/internal/timers.ts +44 -0
  710. package/src/internal/widget.ts +92 -0
  711. package/src/markdown/ast.ts +163 -0
  712. package/src/markdown/hx.ts +51 -0
  713. package/src/markdown/index.ts +686 -0
  714. package/src/markdown/parse.ts +1037 -0
  715. package/src/markdown/spans.ts +143 -0
  716. package/src/media-player/backends.ts +155 -0
  717. package/src/media-player/control.ts +70 -0
  718. package/src/media-player/hx.ts +51 -0
  719. package/src/media-player/index.ts +378 -0
  720. package/src/media-player/mpv.ts +146 -0
  721. package/src/media-player/vlc.ts +97 -0
  722. package/src/richtext/index.ts +42 -0
  723. package/src/richtext/links.ts +78 -0
  724. package/src/richtext/menu.ts +49 -0
  725. package/src/richtext/node.ts +406 -0
  726. package/src/richtext/runs.ts +253 -0
  727. package/src/table/hx.ts +51 -0
  728. package/src/table/index.ts +1219 -0
  729. package/src/table/rows.ts +275 -0
  730. package/src/terminal/backends.ts +242 -0
  731. package/src/terminal/hx.ts +51 -0
  732. package/src/terminal/index.ts +574 -0
  733. package/src/terminal/title.ts +172 -0
  734. package/src/terminal/vt/colors.ts +247 -0
  735. package/src/terminal/vt/diff.ts +467 -0
  736. package/src/terminal/vt/fonts.ts +233 -0
  737. package/src/terminal/vt/index.ts +443 -0
  738. package/src/terminal/vt/keys.ts +369 -0
  739. package/src/terminal/vt/mouse.ts +144 -0
  740. package/src/terminal/vt/node.ts +1242 -0
  741. package/src/terminal/vt/pty.ts +334 -0
  742. package/src/terminal/vt/renderer.ts +555 -0
  743. package/src/terminal/vt/timers.ts +31 -0
  744. package/src/terminal/vt/xterm.ts +193 -0
  745. package/src/terminal-output/hx.ts +51 -0
  746. package/src/terminal-output/index.ts +340 -0
  747. package/src/terminal-output/runs.ts +79 -0
  748. package/src/three/canvas.ts +451 -0
  749. package/src/three/events.ts +197 -0
  750. package/src/three/geometries.ts +429 -0
  751. package/src/three/globals.ts +34 -0
  752. package/src/three/hx.ts +22 -0
  753. package/src/three/index.ts +98 -0
  754. package/src/three/jsx-dev-runtime.ts +27 -0
  755. package/src/three/jsx-runtime.ts +38 -0
  756. package/src/three/jsx.ts +275 -0
  757. package/src/three/materials.ts +270 -0
  758. package/src/three/math.ts +585 -0
  759. package/src/three/objects.ts +397 -0
  760. package/src/three/passes.ts +90 -0
  761. package/src/three/postprocess.ts +677 -0
  762. package/src/three/raycast.ts +189 -0
  763. package/src/three/react-reconciler.d.ts +50 -0
  764. package/src/three/reconciler.ts +624 -0
  765. package/src/three/renderer-direct.ts +1055 -0
  766. package/src/three/renderer-indirect.ts +570 -0
  767. package/src/three/store.ts +207 -0
  768. package/src/timeline/hx.ts +31 -0
  769. package/src/timeline/index.ts +603 -0
  770. package/src/tray-host/hx.ts +51 -0
  771. package/src/tray-host/index.ts +331 -0
  772. package/src/tray-host/manager.ts +639 -0
  773. package/src/tray-host/notify.ts +102 -0
  774. package/src/tray-host/protocol.ts +235 -0
  775. package/src/tree/hx.ts +51 -0
  776. package/src/tree/index.ts +1087 -0
  777. package/src/tree/internal.ts +87 -0
  778. package/src/tree/rows.ts +334 -0
  779. package/src/index.d.ts +0 -2
  780. package/src/index.js +0 -9
  781. package/src/sparkline/index.d.ts +0 -29
  782. package/src/sparkline/index.js +0 -50
  783. package/src/sparkline/node.js +0 -72
@@ -0,0 +1,185 @@
1
+ import { Color, Euler, Vector3 } from './math.js';
2
+ import type { Mat4 } from './math.js';
3
+ import type { BufferGeometry } from './geometries.js';
4
+ import type { Material } from './materials.js';
5
+ /** The pointer handlers an object may carry — the r3f names. */
6
+ export interface PointerHandlers {
7
+ onClick?: (event: unknown) => void;
8
+ onPointerDown?: (event: unknown) => void;
9
+ onPointerUp?: (event: unknown) => void;
10
+ onPointerMove?: (event: unknown) => void;
11
+ onPointerOver?: (event: unknown) => void;
12
+ onPointerOut?: (event: unknown) => void;
13
+ }
14
+ export declare const POINTER_PROPS: readonly ['onClick', 'onPointerDown', 'onPointerUp', 'onPointerMove', 'onPointerOver', 'onPointerOut'];
15
+ /** Base for anything that can sit in the scene tree. */
16
+ export declare class Object3D {
17
+ readonly id: number;
18
+ readonly isObject3D: boolean;
19
+ name: string;
20
+ userData: Record<string, unknown>;
21
+ parent: Object3D | null;
22
+ children: Object3D[];
23
+ readonly position: Vector3;
24
+ readonly rotation: Euler;
25
+ readonly scale: Vector3;
26
+ visible: boolean;
27
+ /** The cursor to show while this object is hovered (needs a handler). */
28
+ cursor: string | null;
29
+ /** @internal pointer handlers, written by the reconciler's applyProps */
30
+ __handlers: PointerHandlers | null;
31
+ /** @internal the world matrix of the frame that is on screen — picking
32
+ * rays are transformed by exactly what was drawn */
33
+ __world: Mat4 | null;
34
+ /** @internal notified on any change so a demand-mode surface redraws */
35
+ __dirty: (() => void) | null;
36
+ /** @internal */
37
+ _local: Mat4;
38
+ /** @internal */
39
+ _localDirty: boolean;
40
+ constructor();
41
+ add(...objects: Object3D[]): this;
42
+ remove(...objects: Object3D[]): this;
43
+ clear(): this;
44
+ /** @internal the whole subtree reports into the surface's dirty hook */
45
+ propagateDirty(dirty: (() => void) | null): void;
46
+ traverse(callback: (object: Object3D) => void): void;
47
+ getObjectByName(name: string): Object3D | undefined;
48
+ /** Local transform, recomposed only after a position/rotation/scale write. */
49
+ localMatrix(): Mat4;
50
+ }
51
+ export declare class Group extends Object3D {
52
+ readonly isGroup = true;
53
+ }
54
+ /**
55
+ * The scene root a `<Canvas>` owns. `background` is what
56
+ * `<color attach="background" args={['#101418']} />` writes, exactly as it
57
+ * does in r3f — the surface clears to it before drawing.
58
+ */
59
+ export declare class Scene extends Object3D {
60
+ readonly isScene = true;
61
+ background: Color | null;
62
+ }
63
+ export type Primitive = 'triangles' | 'points' | 'lines' | 'lineStrip' | 'lineLoop';
64
+ /** One `<instancedMesh instances={[…]}>` entry. */
65
+ export interface InstanceSpec {
66
+ position?: readonly number[];
67
+ rotation?: readonly number[];
68
+ scale?: readonly number[] | number;
69
+ /** Overrides the material's colour for this instance only. */
70
+ color?: string | number | readonly number[];
71
+ }
72
+ /**
73
+ * Anything that draws a geometry with a material. `<points>`, `<line>` and
74
+ * friends differ only in the primitive their vertices are assembled into —
75
+ * the geometry, the material and the transform work identically for all of
76
+ * them, which is why they share this class.
77
+ */
78
+ export declare class Mesh extends Object3D {
79
+ readonly isMesh: boolean;
80
+ geometry: BufferGeometry | null;
81
+ material: Material | null;
82
+ get primitive(): Primitive;
83
+ constructor(geometry?: BufferGeometry, material?: Material);
84
+ }
85
+ /** `<points>` — one vertex, one dot. Size comes from `<pointsMaterial>`. */
86
+ export declare class Points extends Mesh {
87
+ readonly isPoints = true;
88
+ get primitive(): Primitive;
89
+ }
90
+ /** `<line>` — a connected strip, as three.js reads a vertex list. */
91
+ export declare class Line extends Mesh {
92
+ readonly isLine: boolean;
93
+ get primitive(): Primitive;
94
+ }
95
+ /** `<lineSegments>` — disjoint vertex pairs. */
96
+ export declare class LineSegments extends Line {
97
+ get primitive(): Primitive;
98
+ }
99
+ /** `<lineLoop>` — a closed strip. */
100
+ export declare class LineLoop extends Line {
101
+ get primitive(): Primitive;
102
+ }
103
+ /**
104
+ * `<instancedMesh instances={[{ position, rotation, scale, color }, …]}>` —
105
+ * one geometry drawn many times.
106
+ *
107
+ * The `instances` array is declarative rather than three.js's imperative
108
+ * `setMatrixAt`, kept from the core design: what it saves is the geometry,
109
+ * which is uploaded (or compiled into a display list) once. Each instance
110
+ * still costs a transform and a draw — neither backend does GPU instancing,
111
+ * because ES 2 guarantees none and the GLX protocol encodes none.
112
+ */
113
+ export declare class InstancedMesh extends Mesh {
114
+ readonly isInstancedMesh = true;
115
+ instances: InstanceSpec[];
116
+ }
117
+ export declare class Light extends Object3D {
118
+ readonly isLight: boolean;
119
+ intensity: number;
120
+ readonly color: Color;
121
+ constructor();
122
+ }
123
+ /** Costs no light unit: its colour joins the ambient term. */
124
+ export declare class AmbientLight extends Light {
125
+ readonly isAmbientLight = true;
126
+ }
127
+ /** `position` is the direction the light comes from; no attenuation. */
128
+ export declare class DirectionalLight extends Light {
129
+ readonly isDirectionalLight = true;
130
+ }
131
+ export declare class PointLight extends Light {
132
+ readonly isPointLight = true;
133
+ distance: number;
134
+ decay: number;
135
+ }
136
+ export declare class SpotLight extends PointLight {
137
+ readonly isSpotLight = true;
138
+ /** Radians; three.js's default. */
139
+ angle: number;
140
+ penumbra: number;
141
+ /**
142
+ * Where the cone points, as a point in world space. three.js's spot light
143
+ * aims at a `target` Object3D that has to be added to the scene; a Vector3
144
+ * carries the same information without the extra mount, and
145
+ * `target={[x, y, z]}` sets it.
146
+ */
147
+ readonly target: Vector3;
148
+ constructor();
149
+ }
150
+ /**
151
+ * The camera model both backends share: a position looking at a target.
152
+ *
153
+ * three.js cameras carry a free orientation (a quaternion); this one derives
154
+ * its view from `position`, `target` and `up`, which is what the fixed
155
+ * subset can express and what nearly all ported code does anyway —
156
+ * `camera.position.set(…); camera.lookAt(0, 0, 0)`. Writing to `rotation`
157
+ * on a camera does nothing, and that edge is documented rather than half
158
+ * supported.
159
+ */
160
+ export declare class Camera extends Object3D {
161
+ readonly isCamera: boolean;
162
+ readonly up: Vector3;
163
+ readonly target: Vector3;
164
+ near: number;
165
+ far: number;
166
+ zoom: number;
167
+ constructor();
168
+ lookAt(x: number | Vector3 | readonly [number, number, number], y?: number, z?: number): void;
169
+ /** View matrix for the frame being drawn. */
170
+ viewMatrix(out?: Mat4): Mat4;
171
+ projectionMatrix(width: number, height: number, out?: Mat4): Mat4;
172
+ }
173
+ export declare class PerspectiveCamera extends Camera {
174
+ readonly isPerspectiveCamera = true;
175
+ /** Vertical field of view, degrees — three.js's convention. */
176
+ fov: number;
177
+ constructor(fov?: number, near?: number, far?: number);
178
+ projectionMatrix(width: number, height: number, out?: Mat4): Mat4;
179
+ }
180
+ export declare class OrthographicCamera extends Camera {
181
+ readonly isOrthographicCamera = true;
182
+ constructor(near?: number, far?: number);
183
+ projectionMatrix(width: number, height: number, out?: Mat4): Mat4;
184
+ }
185
+ //# sourceMappingURL=objects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/three/objects.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,EACL,KAAK,EACL,OAAO,EAMR,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,gEAAgE;AAChE,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,aAAa,YACxB,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,CACN,CAAC;AAIX,wDAAwD;AACxD,qBAAa,QAAQ;IACnB,QAAQ,CAAC,EAAE,SAAY;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAQ;IAEpC,IAAI,SAAM;IACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAEvC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC/B,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAE1B,QAAQ,CAAC,QAAQ,UAAwB;IACzC,QAAQ,CAAC,QAAQ,QAAsB;IACvC,QAAQ,CAAC,KAAK,UAAwB;IACtC,OAAO,UAAQ;IAEf,yEAAyE;IACzE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B,yEAAyE;IACzE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAQ;IAC1C;wDACoD;IACpD,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC5B,wEAAwE;IACxE,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAQ;IAMpC,gBAAgB;IAChB,MAAM,OAAc;IACpB,gBAAgB;IAChB,WAAW,UAAQ;IAEnB,cAQC;IAED,GAAG,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAShC;IAED,MAAM,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAUnC;IAED,KAAK,IAAI,IAAI,CAEZ;IAED,wEAAwE;IACxE,cAAc,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAG/C;IAED,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAGnD;IAED,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAOlD;IAED,8EAA8E;IAC9E,WAAW,IAAI,IAAI,CAWlB;CACF;AAED,qBAAa,KAAM,SAAQ,QAAQ;IACjC,QAAQ,CAAC,OAAO,QAAQ;CACzB;AAED;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,QAAQ;IACjC,QAAQ,CAAC,OAAO,QAAQ;IACxB,UAAU,EAAE,KAAK,GAAG,IAAI,CAAQ;CACjC;AAED,MAAM,MAAM,SAAS,GACnB,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9D,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;;GAKG;AACH,qBAAa,IAAK,SAAQ,QAAQ;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAQ;IAEhC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAQ;IACvC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEjC,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,YAAY,QAAQ,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAIzD;CACF;AAED,4EAA4E;AAC5E,qBAAa,MAAO,SAAQ,IAAI;IAC9B,QAAQ,CAAC,QAAQ,QAAQ;IACzB,IAAa,SAAS,IAAI,SAAS,CAElC;CACF;AAED,qEAAqE;AACrE,qBAAa,IAAK,SAAQ,IAAI;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAQ;IAChC,IAAa,SAAS,IAAI,SAAS,CAElC;CACF;AAED,gDAAgD;AAChD,qBAAa,YAAa,SAAQ,IAAI;IACpC,IAAa,SAAS,IAAI,SAAS,CAElC;CACF;AAED,qCAAqC;AACrC,qBAAa,QAAS,SAAQ,IAAI;IAChC,IAAa,SAAS,IAAI,SAAS,CAElC;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,IAAI;IACrC,QAAQ,CAAC,eAAe,QAAQ;IAChC,SAAS,EAAE,YAAY,EAAE,CAAM;CAChC;AAKD,qBAAa,KAAM,SAAQ,QAAQ;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAQ;IACjC,SAAS,SAAK;IACd,QAAQ,CAAC,KAAK,QAAwB;IAEtC,cAGC;CACF;AAED,8DAA8D;AAC9D,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,cAAc,QAAQ;CAChC;AAED,wEAAwE;AACxE,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,kBAAkB,QAAQ;CACpC;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,YAAY,QAAQ;IAC7B,QAAQ,SAAK;IACb,KAAK,SAAK;CACX;AAED,qBAAa,SAAU,SAAQ,UAAU;IACvC,QAAQ,CAAC,WAAW,QAAQ;IAC5B,mCAAmC;IACnC,KAAK,SAAe;IACpB,QAAQ,SAAK;IACb;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,UAAwB;IAEvC,cAGC;CACF;AAKD;;;;;;;;;GASG;AACH,qBAAa,MAAO,SAAQ,QAAQ;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAQ;IAClC,QAAQ,CAAC,EAAE,UAAwB;IACnC,QAAQ,CAAC,MAAM,UAAwB;IACvC,IAAI,SAAO;IACX,GAAG,SAAQ;IACX,IAAI,SAAK;IAET,cAKC;IAED,MAAM,CACJ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACvD,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,GACT,IAAI,CAIN;IAED,6CAA6C;IAC7C,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAO3B;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAIhE;CACF;AAED,qBAAa,iBAAkB,SAAQ,MAAM;IAC3C,QAAQ,CAAC,mBAAmB,QAAQ;IACpC,+DAA+D;IAC/D,GAAG,SAAM;IAET,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAMpD;IAEQ,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAGzE;CACF;AAED,qBAAa,kBAAmB,SAAQ,MAAM;IAC5C,QAAQ,CAAC,oBAAoB,QAAQ;IAErC,YAAY,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAKtC;IAEQ,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAWzE;CACF"}
@@ -0,0 +1,309 @@
1
+ // The retained scene graph: what `<mesh>`, `<group>` and the lights become.
2
+ //
3
+ // This is the half of the react-three-fiber model react-x11's core renderer
4
+ // deliberately did not have. There, the scene was described by props and a
5
+ // `useFrame` callback that wanted to move something called a state setter.
6
+ // Here the objects are **mutable** and refs hand them out, so
7
+ // `ref.current.rotation.y += delta` — the way every three-fiber component is
8
+ // written — works unchanged: the write lands in a dirty flag, the next frame
9
+ // composes the matrix again, and React hears nothing.
10
+ //
11
+ // What these classes are *not* is three.js. They carry the fields the two
12
+ // react-x11 backends can actually draw — position/euler/scale transforms, no
13
+ // quaternions, no layers, no shadow state — and nothing else, so anything
14
+ // that works here works identically over indirect GLX and over DRI3.
15
+ import { Color, Euler, Vector3, compose, identity, lookAtMatrix, orthographic, perspective, } from './math.js';
16
+ export const POINTER_PROPS = [
17
+ 'onClick',
18
+ 'onPointerDown',
19
+ 'onPointerUp',
20
+ 'onPointerMove',
21
+ 'onPointerOver',
22
+ 'onPointerOut',
23
+ ];
24
+ let nextId = 1;
25
+ /** Base for anything that can sit in the scene tree. */
26
+ export class Object3D {
27
+ id = nextId++;
28
+ isObject3D = true;
29
+ name = '';
30
+ userData = {};
31
+ parent = null;
32
+ children = [];
33
+ position = new Vector3(0, 0, 0);
34
+ rotation = new Euler(0, 0, 0);
35
+ scale = new Vector3(1, 1, 1);
36
+ visible = true;
37
+ /** The cursor to show while this object is hovered (needs a handler). */
38
+ cursor = null;
39
+ /** @internal pointer handlers, written by the reconciler's applyProps */
40
+ __handlers = null;
41
+ /** @internal the world matrix of the frame that is on screen — picking
42
+ * rays are transformed by exactly what was drawn */
43
+ __world = null;
44
+ /** @internal notified on any change so a demand-mode surface redraws */
45
+ __dirty = null;
46
+ // Underscore-public rather than `private` on purpose: a private member
47
+ // makes the class nominal, and the JSX augmentation in jsx.ts then exists
48
+ // twice (src and dist) as non-identical declarations in this repo's own
49
+ // typecheck program. Structural classes merge; nominal ones are TS2717.
50
+ /** @internal */
51
+ _local = identity();
52
+ /** @internal */
53
+ _localDirty = true;
54
+ constructor() {
55
+ const mark = () => {
56
+ this._localDirty = true;
57
+ this.__dirty?.();
58
+ };
59
+ this.position._onChange = mark;
60
+ this.rotation._onChange = mark;
61
+ this.scale._onChange = mark;
62
+ }
63
+ add(...objects) {
64
+ for (const object of objects) {
65
+ object.parent?.remove(object);
66
+ object.parent = this;
67
+ this.children.push(object);
68
+ object.propagateDirty(this.__dirty);
69
+ }
70
+ this.__dirty?.();
71
+ return this;
72
+ }
73
+ remove(...objects) {
74
+ for (const object of objects) {
75
+ const index = this.children.indexOf(object);
76
+ if (index === -1)
77
+ continue;
78
+ this.children.splice(index, 1);
79
+ object.parent = null;
80
+ object.propagateDirty(null);
81
+ }
82
+ this.__dirty?.();
83
+ return this;
84
+ }
85
+ clear() {
86
+ return this.remove(...this.children);
87
+ }
88
+ /** @internal the whole subtree reports into the surface's dirty hook */
89
+ propagateDirty(dirty) {
90
+ this.__dirty = dirty;
91
+ for (const child of this.children)
92
+ child.propagateDirty(dirty);
93
+ }
94
+ traverse(callback) {
95
+ callback(this);
96
+ for (const child of this.children)
97
+ child.traverse(callback);
98
+ }
99
+ getObjectByName(name) {
100
+ if (this.name === name)
101
+ return this;
102
+ for (const child of this.children) {
103
+ const found = child.getObjectByName(name);
104
+ if (found)
105
+ return found;
106
+ }
107
+ return undefined;
108
+ }
109
+ /** Local transform, recomposed only after a position/rotation/scale write. */
110
+ localMatrix() {
111
+ if (this._localDirty) {
112
+ compose(this.position.toArray(), this.rotation.toArray(), this.scale.toArray(), this._local);
113
+ this._localDirty = false;
114
+ }
115
+ return this._local;
116
+ }
117
+ }
118
+ export class Group extends Object3D {
119
+ isGroup = true;
120
+ }
121
+ /**
122
+ * The scene root a `<Canvas>` owns. `background` is what
123
+ * `<color attach="background" args={['#101418']} />` writes, exactly as it
124
+ * does in r3f — the surface clears to it before drawing.
125
+ */
126
+ export class Scene extends Object3D {
127
+ isScene = true;
128
+ background = null;
129
+ }
130
+ /**
131
+ * Anything that draws a geometry with a material. `<points>`, `<line>` and
132
+ * friends differ only in the primitive their vertices are assembled into —
133
+ * the geometry, the material and the transform work identically for all of
134
+ * them, which is why they share this class.
135
+ */
136
+ export class Mesh extends Object3D {
137
+ isMesh = true;
138
+ geometry = null;
139
+ material = null;
140
+ get primitive() {
141
+ return 'triangles';
142
+ }
143
+ constructor(geometry, material) {
144
+ super();
145
+ if (geometry)
146
+ this.geometry = geometry;
147
+ if (material)
148
+ this.material = material;
149
+ }
150
+ }
151
+ /** `<points>` — one vertex, one dot. Size comes from `<pointsMaterial>`. */
152
+ export class Points extends Mesh {
153
+ isPoints = true;
154
+ get primitive() {
155
+ return 'points';
156
+ }
157
+ }
158
+ /** `<line>` — a connected strip, as three.js reads a vertex list. */
159
+ export class Line extends Mesh {
160
+ isLine = true;
161
+ get primitive() {
162
+ return 'lineStrip';
163
+ }
164
+ }
165
+ /** `<lineSegments>` — disjoint vertex pairs. */
166
+ export class LineSegments extends Line {
167
+ get primitive() {
168
+ return 'lines';
169
+ }
170
+ }
171
+ /** `<lineLoop>` — a closed strip. */
172
+ export class LineLoop extends Line {
173
+ get primitive() {
174
+ return 'lineLoop';
175
+ }
176
+ }
177
+ /**
178
+ * `<instancedMesh instances={[{ position, rotation, scale, color }, …]}>` —
179
+ * one geometry drawn many times.
180
+ *
181
+ * The `instances` array is declarative rather than three.js's imperative
182
+ * `setMatrixAt`, kept from the core design: what it saves is the geometry,
183
+ * which is uploaded (or compiled into a display list) once. Each instance
184
+ * still costs a transform and a draw — neither backend does GPU instancing,
185
+ * because ES 2 guarantees none and the GLX protocol encodes none.
186
+ */
187
+ export class InstancedMesh extends Mesh {
188
+ isInstancedMesh = true;
189
+ instances = [];
190
+ }
191
+ // ---------------------------------------------------------------------------
192
+ // lights
193
+ export class Light extends Object3D {
194
+ isLight = true;
195
+ intensity = 1;
196
+ color = new Color([1, 1, 1]);
197
+ constructor() {
198
+ super();
199
+ this.color._onChange = () => this.__dirty?.();
200
+ }
201
+ }
202
+ /** Costs no light unit: its colour joins the ambient term. */
203
+ export class AmbientLight extends Light {
204
+ isAmbientLight = true;
205
+ }
206
+ /** `position` is the direction the light comes from; no attenuation. */
207
+ export class DirectionalLight extends Light {
208
+ isDirectionalLight = true;
209
+ }
210
+ export class PointLight extends Light {
211
+ isPointLight = true;
212
+ distance = 0;
213
+ decay = 0;
214
+ }
215
+ export class SpotLight extends PointLight {
216
+ isSpotLight = true;
217
+ /** Radians; three.js's default. */
218
+ angle = Math.PI / 6;
219
+ penumbra = 0;
220
+ /**
221
+ * Where the cone points, as a point in world space. three.js's spot light
222
+ * aims at a `target` Object3D that has to be added to the scene; a Vector3
223
+ * carries the same information without the extra mount, and
224
+ * `target={[x, y, z]}` sets it.
225
+ */
226
+ target = new Vector3(0, 0, 0);
227
+ constructor() {
228
+ super();
229
+ this.target._onChange = () => this.__dirty?.();
230
+ }
231
+ }
232
+ // ---------------------------------------------------------------------------
233
+ // cameras
234
+ /**
235
+ * The camera model both backends share: a position looking at a target.
236
+ *
237
+ * three.js cameras carry a free orientation (a quaternion); this one derives
238
+ * its view from `position`, `target` and `up`, which is what the fixed
239
+ * subset can express and what nearly all ported code does anyway —
240
+ * `camera.position.set(…); camera.lookAt(0, 0, 0)`. Writing to `rotation`
241
+ * on a camera does nothing, and that edge is documented rather than half
242
+ * supported.
243
+ */
244
+ export class Camera extends Object3D {
245
+ isCamera = true;
246
+ up = new Vector3(0, 1, 0);
247
+ target = new Vector3(0, 0, 0);
248
+ near = 0.1;
249
+ far = 1000;
250
+ zoom = 1;
251
+ constructor() {
252
+ super();
253
+ const mark = () => this.__dirty?.();
254
+ this.up._onChange = mark;
255
+ this.target._onChange = mark;
256
+ }
257
+ lookAt(x, y, z) {
258
+ if (typeof x === 'number')
259
+ this.target.set(x, y ?? 0, z ?? 0);
260
+ else if (x instanceof Vector3)
261
+ this.target.copy(x);
262
+ else
263
+ this.target.set(x[0], x[1], x[2]);
264
+ }
265
+ /** View matrix for the frame being drawn. */
266
+ viewMatrix(out) {
267
+ return lookAtMatrix(this.position.toArray(), this.target.toArray(), this.up.toArray(), out);
268
+ }
269
+ projectionMatrix(width, height, out) {
270
+ void width;
271
+ void height;
272
+ return identity(out);
273
+ }
274
+ }
275
+ export class PerspectiveCamera extends Camera {
276
+ isPerspectiveCamera = true;
277
+ /** Vertical field of view, degrees — three.js's convention. */
278
+ fov = 50;
279
+ constructor(fov, near, far) {
280
+ super();
281
+ if (fov !== undefined)
282
+ this.fov = fov;
283
+ if (near !== undefined)
284
+ this.near = near;
285
+ if (far !== undefined)
286
+ this.far = far;
287
+ this.position.set(0, 0, 5);
288
+ }
289
+ projectionMatrix(width, height, out) {
290
+ const aspect = width / Math.max(1, height);
291
+ return perspective(this.fov / this.zoom, aspect, this.near, this.far, out);
292
+ }
293
+ }
294
+ export class OrthographicCamera extends Camera {
295
+ isOrthographicCamera = true;
296
+ constructor(near, far) {
297
+ super();
298
+ if (near !== undefined)
299
+ this.near = near;
300
+ if (far !== undefined)
301
+ this.far = far;
302
+ this.position.set(0, 0, 5);
303
+ }
304
+ projectionMatrix(width, height, out) {
305
+ const aspect = width / Math.max(1, height);
306
+ return orthographic(-aspect / this.zoom, aspect / this.zoom, -1 / this.zoom, 1 / this.zoom, this.near, this.far, out);
307
+ }
308
+ }
309
+ //# sourceMappingURL=objects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/three/objects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { Object3D } from './objects.js';
2
+ import type { Uniforms } from './materials.js';
3
+ export declare class EffectComposer extends Object3D {
4
+ readonly isObject3D = false;
5
+ readonly isComposer = true;
6
+ enabled: boolean;
7
+ get passes(): Pass[];
8
+ }
9
+ /** One full-screen pass. */
10
+ export declare class Pass extends Object3D {
11
+ readonly isObject3D = false;
12
+ readonly isPass: boolean;
13
+ readonly kind: string;
14
+ enabled: boolean;
15
+ }
16
+ /**
17
+ * Your own full-screen GLSL. Declare `uniform sampler2D tDiffuse` for the
18
+ * incoming image and `varying vec2 vUv` yourself, exactly as a three.js
19
+ * `ShaderPass` shader does. `resolution` (pixels), `texelSize` (1/pixels)
20
+ * and `time` (seconds) are set if you declare them, dropped if you do not.
21
+ */
22
+ export declare class ShaderPass extends Pass {
23
+ readonly kind = "shaderPass";
24
+ fragmentShader: string;
25
+ /** Replaces the built-in full-screen quad shader; must write `vUv`. */
26
+ vertexShader: string;
27
+ private _uniforms;
28
+ get uniforms(): Uniforms;
29
+ set uniforms(value: Record<string, unknown>);
30
+ }
31
+ /** Bright areas bleed into their surroundings: threshold, separable blur at
32
+ * half resolution, composite — four draws. */
33
+ export declare class BloomPass extends Pass {
34
+ readonly kind = "bloomPass";
35
+ /** Luminance above which a pixel blooms. */
36
+ threshold: number;
37
+ /** How much of the blurred result is added back. */
38
+ strength: number;
39
+ /** Blur width, in half-resolution texels. */
40
+ radius: number;
41
+ }
42
+ /** Darkens towards the corners. */
43
+ export declare class VignettePass extends Pass {
44
+ readonly kind = "vignettePass";
45
+ /** Where the darkening starts: 0 at the centre, 1 in the corners. */
46
+ offset: number;
47
+ darkness: number;
48
+ }
49
+ /** Antialiasing in one full-screen pass — the only kind a composed scene
50
+ * can get, since an MSAA attachment is an ES 3 feature. */
51
+ export declare class FxaaPass extends Pass {
52
+ readonly kind = "fxaaPass";
53
+ }
54
+ //# sourceMappingURL=passes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passes.d.ts","sourceRoot":"","sources":["../../src/three/passes.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,SAAkB,UAAU,SAAS;IACrC,QAAQ,CAAC,UAAU,QAAQ;IAC3B,OAAO,UAAQ;IAEf,IAAI,MAAM,IAAI,IAAI,EAAE,CAInB;CACF;AAED,4BAA4B;AAC5B,qBAAa,IAAK,SAAQ,QAAQ;IAChC,SAAkB,UAAU,SAAS;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAQ;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAgB;IACrC,OAAO,UAAQ;CAChB;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,IAAI;IAClC,SAAkB,IAAI,gBAAgB;IACtC,cAAc,SAAM;IACpB,uEAAuE;IACvE,YAAY,SAAM;IAElB,OAAO,CAAC,SAAS,CAAgB;IAEjC,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAU1C;CACF;AAED;8CAC8C;AAC9C,qBAAa,SAAU,SAAQ,IAAI;IACjC,SAAkB,IAAI,eAAe;IACrC,4CAA4C;IAC5C,SAAS,SAAQ;IACjB,oDAAoD;IACpD,QAAQ,SAAO;IACf,6CAA6C;IAC7C,MAAM,SAAK;CACZ;AAED,mCAAmC;AACnC,qBAAa,YAAa,SAAQ,IAAI;IACpC,SAAkB,IAAI,kBAAkB;IACxC,qEAAqE;IACrE,MAAM,SAAO;IACb,QAAQ,SAAO;CAChB;AAED;2DAC2D;AAC3D,qBAAa,QAAS,SAAQ,IAAI;IAChC,SAAkB,IAAI,cAAc;CACrC"}
@@ -0,0 +1,78 @@
1
+ // `<effectComposer>` and the passes inside it, as scene-graph objects.
2
+ //
3
+ // Not objects *in* the scene: a composer has no transform and nothing to
4
+ // draw, so the render walk steps over it the way it steps over a material.
5
+ // What it holds is an ordered list of passes, and the order is the tree's.
6
+ //
7
+ // There is no `<renderPass>` as in three.js's composer. The surface's own
8
+ // scene is always the input — a composer that did not compose *this* scene
9
+ // would have nothing to be — so the first pass reads it and the last one
10
+ // writes the window. Direct backend only: the GLX protocol encodes no
11
+ // framebuffer objects to render into (see `DIRECT_ONLY_KINDS`).
12
+ import { Object3D } from './objects.js';
13
+ export class EffectComposer extends Object3D {
14
+ isObject3D = false;
15
+ isComposer = true;
16
+ enabled = true;
17
+ get passes() {
18
+ return this.children.filter((child) => Boolean(child.isPass));
19
+ }
20
+ }
21
+ /** One full-screen pass. */
22
+ export class Pass extends Object3D {
23
+ isObject3D = false;
24
+ isPass = true;
25
+ kind = 'shaderPass';
26
+ enabled = true;
27
+ }
28
+ /**
29
+ * Your own full-screen GLSL. Declare `uniform sampler2D tDiffuse` for the
30
+ * incoming image and `varying vec2 vUv` yourself, exactly as a three.js
31
+ * `ShaderPass` shader does. `resolution` (pixels), `texelSize` (1/pixels)
32
+ * and `time` (seconds) are set if you declare them, dropped if you do not.
33
+ */
34
+ export class ShaderPass extends Pass {
35
+ kind = 'shaderPass';
36
+ fragmentShader = '';
37
+ /** Replaces the built-in full-screen quad shader; must write `vUv`. */
38
+ vertexShader = '';
39
+ _uniforms = {};
40
+ get uniforms() {
41
+ return this._uniforms;
42
+ }
43
+ set uniforms(value) {
44
+ const wrapped = {};
45
+ for (const [name, entry] of Object.entries(value ?? {})) {
46
+ wrapped[name] =
47
+ entry && typeof entry === 'object' && 'value' in entry
48
+ ? entry
49
+ : { value: entry };
50
+ }
51
+ this._uniforms = wrapped;
52
+ this.__dirty?.();
53
+ }
54
+ }
55
+ /** Bright areas bleed into their surroundings: threshold, separable blur at
56
+ * half resolution, composite — four draws. */
57
+ export class BloomPass extends Pass {
58
+ kind = 'bloomPass';
59
+ /** Luminance above which a pixel blooms. */
60
+ threshold = 0.75;
61
+ /** How much of the blurred result is added back. */
62
+ strength = 0.8;
63
+ /** Blur width, in half-resolution texels. */
64
+ radius = 1;
65
+ }
66
+ /** Darkens towards the corners. */
67
+ export class VignettePass extends Pass {
68
+ kind = 'vignettePass';
69
+ /** Where the darkening starts: 0 at the centre, 1 in the corners. */
70
+ offset = 0.5;
71
+ darkness = 0.5;
72
+ }
73
+ /** Antialiasing in one full-screen pass — the only kind a composed scene
74
+ * can get, since an MSAA attachment is an ES 3 feature. */
75
+ export class FxaaPass extends Pass {
76
+ kind = 'fxaaPass';
77
+ }
78
+ //# sourceMappingURL=passes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passes.js","sourceRoot":"","sources":["../../src/three/passes.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,sEAAsE;AACtE,gEAAgE;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,MAAM,OAAO,cAAe,SAAQ,QAAQ;IACxB,UAAU,GAAG,KAAK,CAAC;IAC5B,UAAU,GAAG,IAAI,CAAC;IAC3B,OAAO,GAAG,IAAI,CAAC;IAEf,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAiB,EAAE,CACnD,OAAO,CAAE,KAAc,CAAC,MAAM,CAAC,CAChC,CAAC;IACJ,CAAC;CACF;AAED,4BAA4B;AAC5B,MAAM,OAAO,IAAK,SAAQ,QAAQ;IACd,UAAU,GAAG,KAAK,CAAC;IAC5B,MAAM,GAAY,IAAI,CAAC;IACvB,IAAI,GAAW,YAAY,CAAC;IACrC,OAAO,GAAG,IAAI,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,OAAO,UAAW,SAAQ,IAAI;IAChB,IAAI,GAAG,YAAY,CAAC;IACtC,cAAc,GAAG,EAAE,CAAC;IACpB,uEAAuE;IACvE,YAAY,GAAG,EAAE,CAAC;IAEV,SAAS,GAAa,EAAE,CAAC;IAEjC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,KAA8B;QACzC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK;oBACpD,CAAC,CAAE,KAA4B;oBAC/B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IACnB,CAAC;CACF;AAED;8CAC8C;AAC9C,MAAM,OAAO,SAAU,SAAQ,IAAI;IACf,IAAI,GAAG,WAAW,CAAC;IACrC,4CAA4C;IAC5C,SAAS,GAAG,IAAI,CAAC;IACjB,oDAAoD;IACpD,QAAQ,GAAG,GAAG,CAAC;IACf,6CAA6C;IAC7C,MAAM,GAAG,CAAC,CAAC;CACZ;AAED,mCAAmC;AACnC,MAAM,OAAO,YAAa,SAAQ,IAAI;IAClB,IAAI,GAAG,cAAc,CAAC;IACxC,qEAAqE;IACrE,MAAM,GAAG,GAAG,CAAC;IACb,QAAQ,GAAG,GAAG,CAAC;CAChB;AAED;2DAC2D;AAC3D,MAAM,OAAO,QAAS,SAAQ,IAAI;IACd,IAAI,GAAG,UAAU,CAAC;CACrC"}