cursedbelt 1.0.0 → 2.3.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 (533) hide show
  1. package/dist/client/index.js +1 -1
  2. package/dist/core/category/index.d.ts.map +1 -1
  3. package/dist/core/category/index.js +2 -1
  4. package/dist/core/category/index.js.map +1 -1
  5. package/dist/core/category/types.js +1 -1
  6. package/dist/core/category/types.js.map +1 -1
  7. package/dist/core/file-tree/fileTreeModel.d.ts +49 -0
  8. package/dist/core/file-tree/fileTreeModel.d.ts.map +1 -1
  9. package/dist/core/file-tree/fileTreeModel.js +84 -0
  10. package/dist/core/file-tree/fileTreeModel.js.map +1 -1
  11. package/dist/core/layout/index.js +1 -1
  12. package/dist/core/layout/index.js.map +1 -1
  13. package/dist/core/media/index.js +1 -1
  14. package/dist/core/media/index.js.map +1 -1
  15. package/dist/core/media/types.js +1 -1
  16. package/dist/core/media/types.js.map +1 -1
  17. package/dist/core/media/uploadLimits.js +1 -1
  18. package/dist/core/media/uploadLimits.js.map +1 -1
  19. package/dist/core/sharing/model.d.ts +1 -1
  20. package/dist/ctgr/index.js +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/react/activity-bar/ActivityBar.d.ts +17 -0
  24. package/dist/react/activity-bar/ActivityBar.d.ts.map +1 -1
  25. package/dist/react/activity-bar/ActivityBar.js.map +1 -1
  26. package/dist/react/analytics/index.d.ts +1 -1
  27. package/dist/react/analytics/index.js +1 -1
  28. package/dist/react/chat/MessageComposer.d.ts.map +1 -1
  29. package/dist/react/chat/MessageComposer.js +5 -4
  30. package/dist/react/chat/MessageComposer.js.map +1 -1
  31. package/dist/react/components/Button.d.ts.map +1 -1
  32. package/dist/react/components/Button.js +3 -2
  33. package/dist/react/components/Button.js.map +1 -1
  34. package/dist/react/components/Checkbox.d.ts +19 -3
  35. package/dist/react/components/Checkbox.d.ts.map +1 -1
  36. package/dist/react/components/Checkbox.js +29 -12
  37. package/dist/react/components/Checkbox.js.map +1 -1
  38. package/dist/react/components/CodeArea.d.ts.map +1 -1
  39. package/dist/react/components/CodeArea.js +2 -1
  40. package/dist/react/components/CodeArea.js.map +1 -1
  41. package/dist/react/components/Collapsible.d.ts.map +1 -1
  42. package/dist/react/components/Collapsible.js +2 -1
  43. package/dist/react/components/Collapsible.js.map +1 -1
  44. package/dist/react/components/ComboboxField.d.ts.map +1 -1
  45. package/dist/react/components/ComboboxField.js +3 -2
  46. package/dist/react/components/ComboboxField.js.map +1 -1
  47. package/dist/react/components/CopyButton.d.ts.map +1 -1
  48. package/dist/react/components/CopyButton.js +2 -1
  49. package/dist/react/components/CopyButton.js.map +1 -1
  50. package/dist/react/components/DataTable/ColumnChecklist.d.ts.map +1 -1
  51. package/dist/react/components/DataTable/ColumnChecklist.js +2 -1
  52. package/dist/react/components/DataTable/ColumnChecklist.js.map +1 -1
  53. package/dist/react/components/DataTable/Pagination.d.ts.map +1 -1
  54. package/dist/react/components/DataTable/Pagination.js +2 -1
  55. package/dist/react/components/DataTable/Pagination.js.map +1 -1
  56. package/dist/react/components/DataTable/SortHeader.d.ts.map +1 -1
  57. package/dist/react/components/DataTable/SortHeader.js +2 -1
  58. package/dist/react/components/DataTable/SortHeader.js.map +1 -1
  59. package/dist/react/components/DataTable/TableFilterBuilder.d.ts +61 -0
  60. package/dist/react/components/DataTable/TableFilterBuilder.d.ts.map +1 -0
  61. package/dist/react/components/DataTable/{FilterBuilder.js → TableFilterBuilder.js} +26 -3
  62. package/dist/react/components/DataTable/TableFilterBuilder.js.map +1 -0
  63. package/dist/react/components/DataTable/Toolbar.d.ts +1 -1
  64. package/dist/react/components/DataTable/Toolbar.js +3 -3
  65. package/dist/react/components/DataTable/Toolbar.js.map +1 -1
  66. package/dist/react/components/DataTable/cells/LinkCell.d.ts.map +1 -1
  67. package/dist/react/components/DataTable/cells/LinkCell.js +2 -1
  68. package/dist/react/components/DataTable/cells/LinkCell.js.map +1 -1
  69. package/dist/react/components/DataTable/index.d.ts +1 -1
  70. package/dist/react/components/DataTable/index.d.ts.map +1 -1
  71. package/dist/react/components/DataTable/index.js +4 -1
  72. package/dist/react/components/DataTable/index.js.map +1 -1
  73. package/dist/react/components/DragHandle.d.ts.map +1 -1
  74. package/dist/react/components/DragHandle.js +2 -1
  75. package/dist/react/components/DragHandle.js.map +1 -1
  76. package/dist/react/components/EmojiField.d.ts.map +1 -1
  77. package/dist/react/components/EmojiField.js +2 -1
  78. package/dist/react/components/EmojiField.js.map +1 -1
  79. package/dist/react/components/EventTimeline.d.ts +3 -2
  80. package/dist/react/components/EventTimeline.d.ts.map +1 -1
  81. package/dist/react/components/EventTimeline.js +3 -2
  82. package/dist/react/components/EventTimeline.js.map +1 -1
  83. package/dist/react/components/IconButton.d.ts +1 -1
  84. package/dist/react/components/IconButton.js +1 -1
  85. package/dist/react/components/InfoHint.d.ts.map +1 -1
  86. package/dist/react/components/InfoHint.js +5 -4
  87. package/dist/react/components/InfoHint.js.map +1 -1
  88. package/dist/react/components/InheritBadge.js +1 -1
  89. package/dist/react/components/InheritBadge.js.map +1 -1
  90. package/dist/react/components/InlineEditableText.d.ts.map +1 -1
  91. package/dist/react/components/InlineEditableText.js +2 -1
  92. package/dist/react/components/InlineEditableText.js.map +1 -1
  93. package/dist/react/components/MeterList.d.ts.map +1 -1
  94. package/dist/react/components/MeterList.js +2 -1
  95. package/dist/react/components/MeterList.js.map +1 -1
  96. package/dist/react/components/PathText.d.ts +2 -2
  97. package/dist/react/components/PathText.d.ts.map +1 -1
  98. package/dist/react/components/PathText.js +2 -1
  99. package/dist/react/components/PathText.js.map +1 -1
  100. package/dist/react/components/RatingField.d.ts.map +1 -1
  101. package/dist/react/components/RatingField.js +2 -1
  102. package/dist/react/components/RatingField.js.map +1 -1
  103. package/dist/react/components/SecretInput.js +3 -2
  104. package/dist/react/components/SecretInput.js.map +1 -1
  105. package/dist/react/components/SegmentedControl.d.ts.map +1 -1
  106. package/dist/react/components/SegmentedControl.js +2 -1
  107. package/dist/react/components/SegmentedControl.js.map +1 -1
  108. package/dist/react/components/StarRating.d.ts.map +1 -1
  109. package/dist/react/components/StarRating.js +9 -5
  110. package/dist/react/components/StarRating.js.map +1 -1
  111. package/dist/react/components/StatStrip.d.ts.map +1 -1
  112. package/dist/react/components/StatStrip.js +2 -1
  113. package/dist/react/components/StatStrip.js.map +1 -1
  114. package/dist/react/components/StatTile.d.ts.map +1 -1
  115. package/dist/react/components/StatTile.js +3 -2
  116. package/dist/react/components/StatTile.js.map +1 -1
  117. package/dist/react/components/Tabs.d.ts.map +1 -1
  118. package/dist/react/components/Tabs.js +2 -1
  119. package/dist/react/components/Tabs.js.map +1 -1
  120. package/dist/react/components/TruncatedText.d.ts +2 -1
  121. package/dist/react/components/TruncatedText.d.ts.map +1 -1
  122. package/dist/react/components/TruncatedText.js +2 -1
  123. package/dist/react/components/TruncatedText.js.map +1 -1
  124. package/dist/react/components/calendar/MonthGrid.d.ts.map +1 -1
  125. package/dist/react/components/calendar/MonthGrid.js +2 -1
  126. package/dist/react/components/calendar/MonthGrid.js.map +1 -1
  127. package/dist/react/components/calendar/WeekView.d.ts.map +1 -1
  128. package/dist/react/components/calendar/WeekView.js +2 -1
  129. package/dist/react/components/calendar/WeekView.js.map +1 -1
  130. package/dist/react/components/revealOnHover.d.ts.map +1 -1
  131. package/dist/react/components/revealOnHover.js +2 -1
  132. package/dist/react/components/revealOnHover.js.map +1 -1
  133. package/dist/react/file-tree/FileTree.d.ts +50 -1
  134. package/dist/react/file-tree/FileTree.d.ts.map +1 -1
  135. package/dist/react/file-tree/FileTree.js +234 -6
  136. package/dist/react/file-tree/FileTree.js.map +1 -1
  137. package/dist/react/file-tree/fileTree.css +52 -0
  138. package/dist/react/filter-rail/FilterRail.d.ts.map +1 -1
  139. package/dist/react/filter-rail/FilterRail.js +5 -4
  140. package/dist/react/filter-rail/FilterRail.js.map +1 -1
  141. package/dist/react/folder-tree/FolderTreeRail.d.ts.map +1 -1
  142. package/dist/react/folder-tree/FolderTreeRail.js +2 -1
  143. package/dist/react/folder-tree/FolderTreeRail.js.map +1 -1
  144. package/dist/react/index.d.ts +5 -1
  145. package/dist/react/index.d.ts.map +1 -1
  146. package/dist/react/index.js +5 -1
  147. package/dist/react/index.js.map +1 -1
  148. package/dist/react/layoutEngine/index.js +1 -1
  149. package/dist/react/layoutEngine/index.js.map +1 -1
  150. package/dist/react/lib/field.d.ts.map +1 -1
  151. package/dist/react/lib/field.js +3 -2
  152. package/dist/react/lib/field.js.map +1 -1
  153. package/dist/react/lib/floatingStyles.d.ts.map +1 -1
  154. package/dist/react/lib/floatingStyles.js +2 -1
  155. package/dist/react/lib/floatingStyles.js.map +1 -1
  156. package/dist/react/lib/tapTarget.d.ts +96 -0
  157. package/dist/react/lib/tapTarget.d.ts.map +1 -0
  158. package/dist/react/lib/tapTarget.js +96 -0
  159. package/dist/react/lib/tapTarget.js.map +1 -0
  160. package/dist/react/media/VideoTrimmer.d.ts +1 -1
  161. package/dist/react/media/VideoTrimmer.js +1 -1
  162. package/dist/react/media/denseGallery.css +3 -3
  163. package/dist/react/media/ffmpegWasm.js +2 -2
  164. package/dist/react/media/ffmpegWasm.js.map +1 -1
  165. package/dist/react/media/videoPlayer.css +42 -0
  166. package/dist/react/namespace/NamespaceTargetCapsule.d.ts +2 -2
  167. package/dist/react/namespace/NamespaceTargetCapsule.d.ts.map +1 -1
  168. package/dist/react/nav/BreadcrumbTrail.d.ts.map +1 -1
  169. package/dist/react/nav/BreadcrumbTrail.js +4 -3
  170. package/dist/react/nav/BreadcrumbTrail.js.map +1 -1
  171. package/dist/react/nav/HubTileGrid.d.ts.map +1 -1
  172. package/dist/react/nav/HubTileGrid.js +2 -1
  173. package/dist/react/nav/HubTileGrid.js.map +1 -1
  174. package/dist/react/nav/SideNav.d.ts.map +1 -1
  175. package/dist/react/nav/SideNav.js +4 -3
  176. package/dist/react/nav/SideNav.js.map +1 -1
  177. package/dist/react/nav/SideNavCustomize.d.ts.map +1 -1
  178. package/dist/react/nav/SideNavCustomize.js +2 -1
  179. package/dist/react/nav/SideNavCustomize.js.map +1 -1
  180. package/dist/react/palette/CommandPalette.d.ts.map +1 -1
  181. package/dist/react/palette/CommandPalette.js +3 -2
  182. package/dist/react/palette/CommandPalette.js.map +1 -1
  183. package/dist/server/drivers/pooledControlStores.pg.test.js +1 -0
  184. package/dist/server/drivers/pooledControlStores.pg.test.js.map +1 -1
  185. package/dist/server/drivers/pooledIdentityStore.pg.test.js +1 -0
  186. package/dist/server/drivers/pooledIdentityStore.pg.test.js.map +1 -1
  187. package/dist/server/drivers/retentionPolicy.pg.test.js +1 -0
  188. package/dist/server/drivers/retentionPolicy.pg.test.js.map +1 -1
  189. package/dist/server/guard/argon2Binding.d.ts +1 -1
  190. package/dist/server/guard/argon2Binding.js +1 -1
  191. package/dist/server/incidents/store.d.ts +3 -3
  192. package/dist/server/index.js +1 -1
  193. package/dist/server/index.js.map +1 -1
  194. package/dist/server/master-lock/masterLock.d.ts +1 -1
  195. package/dist/server/media-bun/index.js +1 -1
  196. package/dist/server/media-bun/index.js.map +1 -1
  197. package/dist/server/paths/appDataHome.d.ts +20 -0
  198. package/dist/server/paths/appDataHome.d.ts.map +1 -0
  199. package/dist/server/paths/appDataHome.js +69 -0
  200. package/dist/server/paths/appDataHome.js.map +1 -0
  201. package/dist/server/retention/archive.d.ts +3 -4
  202. package/dist/server/retention/archive.d.ts.map +1 -1
  203. package/dist/server/retention/archive.js +20 -15
  204. package/dist/server/retention/archive.js.map +1 -1
  205. package/dist/server/retention/index.d.ts +1 -1
  206. package/dist/server/retention/index.js +1 -1
  207. package/dist/server/retention/policy.d.ts +2 -2
  208. package/dist/server/retention/policy.d.ts.map +1 -1
  209. package/dist/server/retention/policy.js +1 -1
  210. package/dist/server/retention/store.d.ts.map +1 -1
  211. package/dist/server/retention/store.js +27 -20
  212. package/dist/server/retention/store.js.map +1 -1
  213. package/dist/server/runtime/localHost.d.ts +10 -5
  214. package/dist/server/runtime/localHost.d.ts.map +1 -1
  215. package/dist/server/runtime/localHost.js +12 -8
  216. package/dist/server/runtime/localHost.js.map +1 -1
  217. package/dist/server/runtime/meterRollup.pg.test.js +1 -0
  218. package/dist/server/runtime/meterRollup.pg.test.js.map +1 -1
  219. package/dist/server/runtime/recipe.d.ts +4 -4
  220. package/dist/server/runtime/retentionJob.pg.test.js +1 -0
  221. package/dist/server/runtime/retentionJob.pg.test.js.map +1 -1
  222. package/dist/server/search/pgSearchProvider.pg.test.js +1 -0
  223. package/dist/server/search/pgSearchProvider.pg.test.js.map +1 -1
  224. package/dist/shared/errors.d.ts +1 -1
  225. package/dist/shared/errors.js +1 -1
  226. package/dist/styles-static.css +391 -0
  227. package/dist/styles.css +27 -0
  228. package/package.json +19 -167
  229. package/scripts/generateStaticStyles.ts +122 -0
  230. package/scripts/publicSurface.ts +455 -0
  231. package/scripts/testTmpRoot.ts +34 -5
  232. package/src/client/index.ts +1 -1
  233. package/src/core/category/index.ts +2 -1
  234. package/src/core/category/types.ts +1 -1
  235. package/src/core/file-tree/fileTreeModel.spec.ts +134 -0
  236. package/src/core/file-tree/fileTreeModel.ts +104 -0
  237. package/src/core/layout/index.ts +1 -1
  238. package/src/core/media/index.ts +1 -1
  239. package/src/core/media/types.ts +1 -1
  240. package/src/core/media/uploadLimits.ts +1 -1
  241. package/src/core/sharing/model.ts +1 -1
  242. package/src/ctgr/index.ts +1 -1
  243. package/src/declaredDepsAreImported.spec.ts +87 -0
  244. package/src/demoFixture.spec.ts +133 -0
  245. package/src/index.ts +1 -1
  246. package/src/lockfileIsTracked.spec.ts +50 -0
  247. package/src/namedSubpathsResolve.spec.ts +119 -0
  248. package/src/publicSurface.spec.ts +72 -0
  249. package/src/react/activity-bar/ActivityBar.tsx +17 -0
  250. package/src/react/analytics/index.ts +1 -1
  251. package/src/react/chat/MessageComposer.tsx +5 -4
  252. package/src/react/components/Button.tsx +3 -2
  253. package/src/react/components/Checkbox.spec.tsx +51 -0
  254. package/src/react/components/Checkbox.tsx +68 -26
  255. package/src/react/components/CodeArea.tsx +2 -1
  256. package/src/react/components/CodeChip.spec.tsx +2 -2
  257. package/src/react/components/Collapsible.tsx +2 -1
  258. package/src/react/components/ComboboxField.tsx +3 -2
  259. package/src/react/components/CopyButton.tsx +2 -1
  260. package/src/react/components/CopyableText.spec.tsx +1 -1
  261. package/src/react/components/DataTable/ColumnChecklist.tsx +2 -1
  262. package/src/react/components/DataTable/Pagination.tsx +2 -1
  263. package/src/react/components/DataTable/SortHeader.tsx +2 -1
  264. package/src/react/components/DataTable/{FilterBuilder.tsx → TableFilterBuilder.tsx} +33 -5
  265. package/src/react/components/DataTable/Toolbar.tsx +3 -3
  266. package/src/react/components/DataTable/cells/LinkCell.tsx +2 -1
  267. package/src/react/components/DataTable/index.ts +8 -1
  268. package/src/react/components/DragHandle.tsx +2 -1
  269. package/src/react/components/EmojiField.tsx +2 -1
  270. package/src/react/components/EventTimeline.tsx +3 -2
  271. package/src/react/components/FileLocation.spec.tsx +1 -1
  272. package/src/react/components/IconButton.tsx +1 -1
  273. package/src/react/components/InfoHint.tsx +5 -4
  274. package/src/react/components/InheritBadge.tsx +1 -1
  275. package/src/react/components/InlineEditableText.tsx +2 -1
  276. package/src/react/components/MeterList.tsx +2 -1
  277. package/src/react/components/PathText.tsx +4 -3
  278. package/src/react/components/RatingField.tsx +2 -1
  279. package/src/react/components/SecretInput.tsx +3 -3
  280. package/src/react/components/SegmentedControl.tsx +2 -2
  281. package/src/react/components/StarRating.spec.tsx +2 -2
  282. package/src/react/components/StarRating.tsx +9 -5
  283. package/src/react/components/StatStrip.tsx +2 -1
  284. package/src/react/components/StatTile.tsx +3 -3
  285. package/src/react/components/Tabs.spec.tsx +3 -2
  286. package/src/react/components/Tabs.tsx +2 -1
  287. package/src/react/components/TruncatedText.tsx +2 -1
  288. package/src/react/components/calendar/MonthGrid.spec.tsx +2 -1
  289. package/src/react/components/calendar/MonthGrid.tsx +2 -1
  290. package/src/react/components/calendar/WeekView.tsx +2 -1
  291. package/src/react/components/revealOnHover.ts +3 -2
  292. package/src/react/file-tree/FileTree.spec.tsx +248 -0
  293. package/src/react/file-tree/FileTree.tsx +304 -4
  294. package/src/react/file-tree/fileTree.css +52 -0
  295. package/src/react/file-tree/fileTreeGeometry.fixture.json +151 -0
  296. package/src/react/file-tree/fileTreeGeometry.spec.ts +33 -52
  297. package/src/react/filter-rail/FilterRail.spec.tsx +2 -1
  298. package/src/react/filter-rail/FilterRail.tsx +5 -4
  299. package/src/react/folder-tree/FolderTreeRail.tsx +2 -1
  300. package/src/react/index.ts +13 -3
  301. package/src/react/layoutEngine/index.ts +1 -1
  302. package/src/react/layoutEngine/types.ts +1 -1
  303. package/src/react/lib/field.ts +4 -2
  304. package/src/react/lib/floatingStyles.spec.ts +2 -1
  305. package/src/react/lib/floatingStyles.ts +3 -1
  306. package/src/react/lib/tapTarget.ts +100 -0
  307. package/src/react/media/MaskPainter.tsx +2 -2
  308. package/src/react/media/VideoTrimmer.tsx +1 -1
  309. package/src/react/media/denseGallery.css +3 -3
  310. package/src/react/media/ffmpegWasm.ts +2 -2
  311. package/src/react/media/videoPlayer.css +42 -0
  312. package/src/react/namespace/NamespaceTargetCapsule.tsx +2 -2
  313. package/src/react/nav/BreadcrumbTrail.tsx +4 -3
  314. package/src/react/nav/HubTileGrid.tsx +2 -1
  315. package/src/react/nav/SideNav.tsx +4 -3
  316. package/src/react/nav/SideNavCustomize.tsx +2 -1
  317. package/src/react/palette/CommandPalette.tsx +3 -2
  318. package/src/server/ctgr.ts +1 -1
  319. package/src/server/drivers/pooledControlStores.pg.test.ts +1 -0
  320. package/src/server/drivers/pooledIdentityStore.pg.test.ts +1 -0
  321. package/src/server/drivers/retentionPolicy.pg.test.ts +1 -0
  322. package/src/server/guard/argon2Binding.ts +1 -1
  323. package/src/server/incidents/store.ts +3 -3
  324. package/src/server/index.ts +1 -1
  325. package/src/server/master-lock/masterLock.spec.ts +18 -2
  326. package/src/server/master-lock/masterLock.ts +1 -1
  327. package/src/server/media-bun/image.spec.ts +1 -0
  328. package/src/server/media-bun/index.ts +1 -1
  329. package/src/server/media-bun/video.spec.ts +1 -0
  330. package/src/server/paths/appDataHome.spec.ts +87 -0
  331. package/src/server/paths/appDataHome.ts +84 -0
  332. package/src/server/retention/archive.spec.ts +26 -4
  333. package/src/server/retention/archive.ts +20 -15
  334. package/src/server/retention/index.ts +1 -1
  335. package/src/server/retention/policy.ts +2 -2
  336. package/src/server/retention/store.spec.ts +38 -10
  337. package/src/server/retention/store.ts +26 -19
  338. package/src/server/runtime/localHost.spec.ts +22 -3
  339. package/src/server/runtime/localHost.ts +12 -9
  340. package/src/server/runtime/meterRollup.pg.test.ts +1 -0
  341. package/src/server/runtime/recipe.ts +4 -4
  342. package/src/server/runtime/retentionJob.pg.test.ts +1 -0
  343. package/src/server/search/pgSearchProvider.pg.test.ts +1 -0
  344. package/src/server/storage/binaryServerProcessing.integration.spec.ts +6 -2
  345. package/src/server/storage/chunked.integration.spec.ts +5 -2
  346. package/src/server/storage/fileUploadClient-chunked.integration.spec.ts +5 -2
  347. package/src/server/storage/files/adapter.photo.display.spec.ts +1 -0
  348. package/src/server/storage/imageThumbnail.spec.ts +1 -0
  349. package/src/server/storage/transcode.integration.spec.ts +5 -2
  350. package/src/server/storage/videoProcessor.posterOnly.spec.ts +1 -0
  351. package/src/shared/errors.ts +1 -1
  352. package/src/skippedTestsAreAnswered.spec.ts +215 -0
  353. package/src/styles-static.css +391 -0
  354. package/src/styles.css +27 -0
  355. package/src/stylesStaticMatches.spec.ts +134 -0
  356. package/src/tapTargetStylesheet.spec.ts +150 -0
  357. package/src/testTmpRoot.spec.ts +102 -0
  358. package/dist/core/duplicates/index.d.ts +0 -116
  359. package/dist/core/duplicates/index.d.ts.map +0 -1
  360. package/dist/core/duplicates/index.js +0 -178
  361. package/dist/core/duplicates/index.js.map +0 -1
  362. package/dist/core/namespace/helpers.d.ts +0 -14
  363. package/dist/core/namespace/helpers.d.ts.map +0 -1
  364. package/dist/core/namespace/helpers.js +0 -29
  365. package/dist/core/namespace/helpers.js.map +0 -1
  366. package/dist/core/namespace/index.d.ts +0 -4
  367. package/dist/core/namespace/index.d.ts.map +0 -1
  368. package/dist/core/namespace/index.js +0 -6
  369. package/dist/core/namespace/index.js.map +0 -1
  370. package/dist/core/namespace/memoryStore.d.ts +0 -19
  371. package/dist/core/namespace/memoryStore.d.ts.map +0 -1
  372. package/dist/core/namespace/memoryStore.js +0 -70
  373. package/dist/core/namespace/memoryStore.js.map +0 -1
  374. package/dist/core/namespace/types.d.ts +0 -44
  375. package/dist/core/namespace/types.d.ts.map +0 -1
  376. package/dist/core/namespace/types.js +0 -8
  377. package/dist/core/namespace/types.js.map +0 -1
  378. package/dist/game/core/DisposeRegistry.d.ts +0 -42
  379. package/dist/game/core/DisposeRegistry.d.ts.map +0 -1
  380. package/dist/game/core/DisposeRegistry.js +0 -67
  381. package/dist/game/core/DisposeRegistry.js.map +0 -1
  382. package/dist/game/core/drawBudget.d.ts +0 -26
  383. package/dist/game/core/drawBudget.d.ts.map +0 -1
  384. package/dist/game/core/drawBudget.js +0 -55
  385. package/dist/game/core/drawBudget.js.map +0 -1
  386. package/dist/game/core/fixedTimestep.d.ts +0 -38
  387. package/dist/game/core/fixedTimestep.d.ts.map +0 -1
  388. package/dist/game/core/fixedTimestep.js +0 -47
  389. package/dist/game/core/fixedTimestep.js.map +0 -1
  390. package/dist/game/core/index.d.ts +0 -9
  391. package/dist/game/core/index.d.ts.map +0 -1
  392. package/dist/game/core/index.js +0 -8
  393. package/dist/game/core/index.js.map +0 -1
  394. package/dist/game/core/inputCollector.d.ts +0 -82
  395. package/dist/game/core/inputCollector.d.ts.map +0 -1
  396. package/dist/game/core/inputCollector.js +0 -176
  397. package/dist/game/core/inputCollector.js.map +0 -1
  398. package/dist/game/core/resizeCanvas.d.ts +0 -19
  399. package/dist/game/core/resizeCanvas.d.ts.map +0 -1
  400. package/dist/game/core/resizeCanvas.js +0 -29
  401. package/dist/game/core/resizeCanvas.js.map +0 -1
  402. package/dist/game/react/index.d.ts +0 -3
  403. package/dist/game/react/index.d.ts.map +0 -1
  404. package/dist/game/react/index.js +0 -5
  405. package/dist/game/react/index.js.map +0 -1
  406. package/dist/game/react/useGameEngine.d.ts +0 -64
  407. package/dist/game/react/useGameEngine.d.ts.map +0 -1
  408. package/dist/game/react/useGameEngine.js +0 -78
  409. package/dist/game/react/useGameEngine.js.map +0 -1
  410. package/dist/react/canvas/CanvasNavHUD.d.ts +0 -64
  411. package/dist/react/canvas/CanvasNavHUD.d.ts.map +0 -1
  412. package/dist/react/canvas/CanvasNavHUD.js +0 -58
  413. package/dist/react/canvas/CanvasNavHUD.js.map +0 -1
  414. package/dist/react/canvas/fitLabel.d.ts +0 -53
  415. package/dist/react/canvas/fitLabel.d.ts.map +0 -1
  416. package/dist/react/canvas/fitLabel.js +0 -104
  417. package/dist/react/canvas/fitLabel.js.map +0 -1
  418. package/dist/react/canvas/index.d.ts +0 -4
  419. package/dist/react/canvas/index.d.ts.map +0 -1
  420. package/dist/react/canvas/index.js +0 -4
  421. package/dist/react/canvas/index.js.map +0 -1
  422. package/dist/react/canvas/lod.d.ts +0 -40
  423. package/dist/react/canvas/lod.d.ts.map +0 -1
  424. package/dist/react/canvas/lod.js +0 -37
  425. package/dist/react/canvas/lod.js.map +0 -1
  426. package/dist/react/components/DataTable/FilterBuilder.d.ts +0 -38
  427. package/dist/react/components/DataTable/FilterBuilder.d.ts.map +0 -1
  428. package/dist/react/components/DataTable/FilterBuilder.js.map +0 -1
  429. package/dist/react/seo/HeadProvider.d.ts +0 -14
  430. package/dist/react/seo/HeadProvider.d.ts.map +0 -1
  431. package/dist/react/seo/HeadProvider.js +0 -44
  432. package/dist/react/seo/HeadProvider.js.map +0 -1
  433. package/dist/react/seo/applyHeadToDocument.d.ts +0 -3
  434. package/dist/react/seo/applyHeadToDocument.d.ts.map +0 -1
  435. package/dist/react/seo/applyHeadToDocument.js +0 -66
  436. package/dist/react/seo/applyHeadToDocument.js.map +0 -1
  437. package/dist/react/seo/index.d.ts +0 -3
  438. package/dist/react/seo/index.d.ts.map +0 -1
  439. package/dist/react/seo/index.js +0 -7
  440. package/dist/react/seo/index.js.map +0 -1
  441. package/dist/react/timeline/ClipView.d.ts +0 -29
  442. package/dist/react/timeline/ClipView.d.ts.map +0 -1
  443. package/dist/react/timeline/ClipView.js +0 -53
  444. package/dist/react/timeline/ClipView.js.map +0 -1
  445. package/dist/react/timeline/Playhead.d.ts +0 -16
  446. package/dist/react/timeline/Playhead.d.ts.map +0 -1
  447. package/dist/react/timeline/Playhead.js +0 -26
  448. package/dist/react/timeline/Playhead.js.map +0 -1
  449. package/dist/react/timeline/TimeRuler.d.ts +0 -21
  450. package/dist/react/timeline/TimeRuler.d.ts.map +0 -1
  451. package/dist/react/timeline/TimeRuler.js +0 -31
  452. package/dist/react/timeline/TimeRuler.js.map +0 -1
  453. package/dist/react/timeline/TimelineSurface.d.ts +0 -29
  454. package/dist/react/timeline/TimelineSurface.d.ts.map +0 -1
  455. package/dist/react/timeline/TimelineSurface.js +0 -56
  456. package/dist/react/timeline/TimelineSurface.js.map +0 -1
  457. package/dist/react/timeline/TrackLane.d.ts +0 -31
  458. package/dist/react/timeline/TrackLane.d.ts.map +0 -1
  459. package/dist/react/timeline/TrackLane.js +0 -32
  460. package/dist/react/timeline/TrackLane.js.map +0 -1
  461. package/dist/react/timeline/index.d.ts +0 -6
  462. package/dist/react/timeline/index.d.ts.map +0 -1
  463. package/dist/react/timeline/index.js +0 -12
  464. package/dist/react/timeline/index.js.map +0 -1
  465. package/dist/server/private-media/index.d.ts +0 -7
  466. package/dist/server/private-media/index.d.ts.map +0 -1
  467. package/dist/server/private-media/index.js +0 -13
  468. package/dist/server/private-media/index.js.map +0 -1
  469. package/dist/server/seo/index.d.ts +0 -3
  470. package/dist/server/seo/index.d.ts.map +0 -1
  471. package/dist/server/seo/index.js +0 -6
  472. package/dist/server/seo/index.js.map +0 -1
  473. package/dist/server/seo/mountSeoRoutes.d.ts +0 -9
  474. package/dist/server/seo/mountSeoRoutes.d.ts.map +0 -1
  475. package/dist/server/seo/mountSeoRoutes.js +0 -19
  476. package/dist/server/seo/mountSeoRoutes.js.map +0 -1
  477. package/dist/server/seo/serveHeadInjectedIndex.d.ts +0 -9
  478. package/dist/server/seo/serveHeadInjectedIndex.d.ts.map +0 -1
  479. package/dist/server/seo/serveHeadInjectedIndex.js +0 -20
  480. package/dist/server/seo/serveHeadInjectedIndex.js.map +0 -1
  481. package/dist/upload.d.ts +0 -148
  482. package/dist/upload.d.ts.map +0 -1
  483. package/dist/upload.js +0 -159
  484. package/dist/upload.js.map +0 -1
  485. package/dist/verify/runtime/index.d.ts +0 -16
  486. package/dist/verify/runtime/index.d.ts.map +0 -1
  487. package/dist/verify/runtime/index.js +0 -16
  488. package/dist/verify/runtime/index.js.map +0 -1
  489. package/scripts/demoCheck.ts +0 -42
  490. package/src/core/duplicates/index.spec.ts +0 -116
  491. package/src/core/duplicates/index.ts +0 -203
  492. package/src/core/namespace/helpers.ts +0 -31
  493. package/src/core/namespace/index.ts +0 -12
  494. package/src/core/namespace/memoryStore.ts +0 -77
  495. package/src/core/namespace/namespace.spec.ts +0 -117
  496. package/src/core/namespace/types.ts +0 -53
  497. package/src/game/core/DisposeRegistry.spec.ts +0 -53
  498. package/src/game/core/DisposeRegistry.ts +0 -70
  499. package/src/game/core/drawBudget.spec.ts +0 -51
  500. package/src/game/core/drawBudget.ts +0 -75
  501. package/src/game/core/fixedTimestep.spec.ts +0 -91
  502. package/src/game/core/fixedTimestep.ts +0 -79
  503. package/src/game/core/index.ts +0 -16
  504. package/src/game/core/inputCollector.spec.ts +0 -29
  505. package/src/game/core/inputCollector.ts +0 -245
  506. package/src/game/core/resizeCanvas.ts +0 -31
  507. package/src/game/react/index.ts +0 -10
  508. package/src/game/react/useGameEngine.ts +0 -125
  509. package/src/react/canvas/CanvasNavHUD.spec.tsx +0 -62
  510. package/src/react/canvas/CanvasNavHUD.tsx +0 -210
  511. package/src/react/canvas/fitLabel.spec.ts +0 -82
  512. package/src/react/canvas/fitLabel.ts +0 -150
  513. package/src/react/canvas/index.ts +0 -15
  514. package/src/react/canvas/lod.ts +0 -53
  515. package/src/react/seo/HeadProvider.tsx +0 -67
  516. package/src/react/seo/applyHeadToDocument.ts +0 -73
  517. package/src/react/seo/index.ts +0 -12
  518. package/src/react/seo/seo.spec.tsx +0 -101
  519. package/src/react/timeline/ClipView.tsx +0 -146
  520. package/src/react/timeline/Playhead.tsx +0 -63
  521. package/src/react/timeline/TimeRuler.tsx +0 -85
  522. package/src/react/timeline/TimelineSurface.tsx +0 -157
  523. package/src/react/timeline/TrackLane.tsx +0 -87
  524. package/src/react/timeline/index.ts +0 -12
  525. package/src/react/timeline/timeline.spec.tsx +0 -175
  526. package/src/server/private-media/index.ts +0 -45
  527. package/src/server/seo/index.ts +0 -8
  528. package/src/server/seo/mountSeoRoutes.ts +0 -37
  529. package/src/server/seo/seo.spec.ts +0 -128
  530. package/src/server/seo/serveHeadInjectedIndex.ts +0 -36
  531. package/src/upload.spec.ts +0 -300
  532. package/src/upload.ts +0 -288
  533. package/src/verify/runtime/index.ts +0 -64
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursedbelt",
3
- "version": "1.0.0",
3
+ "version": "2.3.0",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "description": "Shared Bun + React framework",
@@ -25,14 +25,18 @@
25
25
  },
26
26
  "scripts": {
27
27
  "typecheck": "tsc --noEmit && tsc --noEmit --project tsconfig.server.json && tsc --noEmit --project tsconfig.specs.json",
28
- "demo:check": "bun run scripts/demoCheck.ts",
28
+ "demo:check": "tsc --noEmit --project demo/tsconfig.json",
29
+ "demo:paths": "bun run demo/generatePaths.ts --write",
29
30
  "guardrails:report": "bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css",
30
31
  "format": "biome format --write .",
32
+ "styles:static": "bun run scripts/generateStaticStyles.ts",
31
33
  "test": "NODE_ENV=development bun test src",
32
34
  "test:pg": "bun run scripts/testPg.ts",
33
- "demo": "cd demo && bun run dev",
35
+ "demo": "vite --config demo/vite.config.ts",
36
+ "demo:build": "vite build --config demo/vite.config.ts",
37
+ "demo:serve": "bun run demo:build && vite preview --config demo/vite.config.ts",
34
38
  "prebuild": "bun run verify:gate",
35
- "build": "rm -rf dist.next dist.prev && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev",
39
+ "build": "rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev",
36
40
  "e2e": "playwright test --config e2e/playwright.config.ts",
37
41
  "e2e:filter-rail": "playwright test --config e2e/playwright.config.ts filter-rail.spec.ts",
38
42
  "e2e:table-layout": "playwright test --config e2e/playwright.config.ts table-layout.spec.ts",
@@ -41,7 +45,8 @@
41
45
  "verify:gate": "bun run src/verify/runtime/bin/ccVerify.ts --corpus",
42
46
  "promote": "bun run src/verify/promotion/bin/ccPromote.ts",
43
47
  "done:serial": "bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build",
44
- "verify": "bun run typecheck && bun run build && bun run test",
48
+ "paths": "bun ../../tools/check-paths.ts .",
49
+ "verify": "bun run paths && bun run typecheck && bun run demo:check && bun run build && bun run test && bun run e2e",
45
50
  "prepublishOnly": "bun run verify"
46
51
  },
47
52
  "exports": {
@@ -57,12 +62,6 @@
57
62
  "source": "./src/core/sharing/index.ts",
58
63
  "import": "./dist/core/sharing/index.js"
59
64
  },
60
- "./duplicates": {
61
- "types": "./dist/core/duplicates/index.d.ts",
62
- "bun": "./src/core/duplicates/index.ts",
63
- "source": "./src/core/duplicates/index.ts",
64
- "import": "./dist/core/duplicates/index.js"
65
- },
66
65
  "./folder-tree": {
67
66
  "types": "./dist/core/folder-tree/index.d.ts",
68
67
  "bun": "./src/core/folder-tree/index.ts",
@@ -87,12 +86,6 @@
87
86
  "source": "./src/verify/index.ts",
88
87
  "import": "./dist/verify/index.js"
89
88
  },
90
- "./verify/runtime": {
91
- "types": "./dist/verify/runtime/index.d.ts",
92
- "bun": "./src/verify/runtime/index.ts",
93
- "source": "./src/verify/runtime/index.ts",
94
- "import": "./dist/verify/runtime/index.js"
95
- },
96
89
  "./guardrails": {
97
90
  "types": "./scripts/guardrailsEnforce.ts",
98
91
  "bun": "./scripts/guardrailsEnforce.ts",
@@ -111,12 +104,6 @@
111
104
  "source": "./src/studio/index.ts",
112
105
  "import": "./dist/studio/index.js"
113
106
  },
114
- "./tokens": {
115
- "types": "./dist/core/tokens/registry.d.ts",
116
- "bun": "./src/core/tokens/registry.ts",
117
- "source": "./src/core/tokens/registry.ts",
118
- "import": "./dist/core/tokens/registry.js"
119
- },
120
107
  "./master-lock": {
121
108
  "types": "./dist/core/master-lock/index.d.ts",
122
109
  "bun": "./src/core/master-lock/index.ts",
@@ -183,12 +170,6 @@
183
170
  "source": "./src/react/components/SelectField.tsx",
184
171
  "import": "./dist/react/components/SelectField.js"
185
172
  },
186
- "./react/multi-select-field": {
187
- "types": "./dist/react/components/MultiSelectField.d.ts",
188
- "bun": "./src/react/components/MultiSelectField.tsx",
189
- "source": "./src/react/components/MultiSelectField.tsx",
190
- "import": "./dist/react/components/MultiSelectField.js"
191
- },
192
173
  "./react/slider": {
193
174
  "types": "./dist/react/components/Slider.d.ts",
194
175
  "bun": "./src/react/components/Slider.tsx",
@@ -207,12 +188,6 @@
207
188
  "source": "./src/react/components/Checkbox.tsx",
208
189
  "import": "./dist/react/components/Checkbox.js"
209
190
  },
210
- "./react/list-selection": {
211
- "types": "./dist/react/hooks/useListSelection.d.ts",
212
- "bun": "./src/react/hooks/useListSelection.ts",
213
- "source": "./src/react/hooks/useListSelection.ts",
214
- "import": "./dist/react/hooks/useListSelection.js"
215
- },
216
191
  "./react/dropdown-menu": {
217
192
  "types": "./dist/react/components/DropdownMenu.d.ts",
218
193
  "bun": "./src/react/components/DropdownMenu.tsx",
@@ -225,12 +200,6 @@
225
200
  "source": "./src/react/components/DataTable/index.ts",
226
201
  "import": "./dist/react/components/DataTable/index.js"
227
202
  },
228
- "./react/table-sort": {
229
- "types": "./dist/react/hooks/useTableSort.d.ts",
230
- "bun": "./src/react/hooks/useTableSort.ts",
231
- "source": "./src/react/hooks/useTableSort.ts",
232
- "import": "./dist/react/hooks/useTableSort.js"
233
- },
234
203
  "./react/markdown-doc": {
235
204
  "types": "./dist/react/markdown/MarkdownDoc.d.ts",
236
205
  "bun": "./src/react/markdown/MarkdownDoc.tsx",
@@ -249,12 +218,6 @@
249
218
  "source": "./src/react/schema-fields/describeSchema.ts",
250
219
  "import": "./dist/react/schema-fields/describeSchema.js"
251
220
  },
252
- "./react/seo": {
253
- "types": "./dist/react/seo/index.d.ts",
254
- "bun": "./src/react/seo/index.ts",
255
- "source": "./src/react/seo/index.ts",
256
- "import": "./dist/react/seo/index.js"
257
- },
258
221
  "./react/code-editor": {
259
222
  "types": "./dist/react/code-editor/index.d.ts",
260
223
  "bun": "./src/react/code-editor/index.ts",
@@ -351,12 +314,6 @@
351
314
  "source": "./src/react/spreadsheet/index.ts",
352
315
  "import": "./dist/react/spreadsheet/index.js"
353
316
  },
354
- "./react/timeline": {
355
- "types": "./dist/react/timeline/index.d.ts",
356
- "bun": "./src/react/timeline/index.ts",
357
- "source": "./src/react/timeline/index.ts",
358
- "import": "./dist/react/timeline/index.js"
359
- },
360
317
  "./react/media": {
361
318
  "types": "./dist/react/media/index.d.ts",
362
319
  "bun": "./src/react/media/index.ts",
@@ -387,12 +344,6 @@
387
344
  "source": "./src/react/studios/viewIds.ts",
388
345
  "import": "./dist/react/studios/viewIds.js"
389
346
  },
390
- "./react/media/mask-painter": {
391
- "types": "./dist/react/media/MaskPainter.d.ts",
392
- "bun": "./src/react/media/MaskPainter.tsx",
393
- "source": "./src/react/media/MaskPainter.tsx",
394
- "import": "./dist/react/media/MaskPainter.js"
395
- },
396
347
  "./react/media/poster": {
397
348
  "types": "./dist/react/media/poster.d.ts",
398
349
  "bun": "./src/react/media/poster.ts",
@@ -411,12 +362,6 @@
411
362
  "source": "./src/react/media/fileUploadClient.ts",
412
363
  "import": "./dist/react/media/fileUploadClient.js"
413
364
  },
414
- "./react/media/canvas-video-player": {
415
- "types": "./dist/react/media/CanvasVideoPlayer.d.ts",
416
- "bun": "./src/react/media/CanvasVideoPlayer.tsx",
417
- "source": "./src/react/media/CanvasVideoPlayer.tsx",
418
- "import": "./dist/react/media/CanvasVideoPlayer.js"
419
- },
420
365
  "./react/media/player-strip": {
421
366
  "types": "./dist/react/media/PlayerStrip.d.ts",
422
367
  "bun": "./src/react/media/PlayerStrip.tsx",
@@ -435,12 +380,6 @@
435
380
  "source": "./src/core/media/index.ts",
436
381
  "import": "./dist/core/media/index.js"
437
382
  },
438
- "./server/media": {
439
- "types": "./dist/server/media-bun/index.d.ts",
440
- "bun": "./src/server/media-bun/index.ts",
441
- "source": "./src/server/media-bun/index.ts",
442
- "import": "./dist/server/media-bun/index.js"
443
- },
444
383
  "./server/mixins": {
445
384
  "types": "./dist/server/mixins/index.d.ts",
446
385
  "bun": "./src/server/mixins/index.ts",
@@ -459,12 +398,6 @@
459
398
  "source": "./src/server/stream/index.ts",
460
399
  "import": "./dist/server/stream/index.js"
461
400
  },
462
- "./server/ops": {
463
- "types": "./dist/server/ops/index.d.ts",
464
- "bun": "./src/server/ops/index.ts",
465
- "source": "./src/server/ops/index.ts",
466
- "import": "./dist/server/ops/index.js"
467
- },
468
401
  "./server/runtime": {
469
402
  "types": "./dist/server/runtime/index.d.ts",
470
403
  "bun": "./src/server/runtime/index.ts",
@@ -537,18 +470,6 @@
537
470
  "source": "./src/server/dropzone/index.ts",
538
471
  "import": "./dist/server/dropzone/index.js"
539
472
  },
540
- "./server/private-media": {
541
- "types": "./dist/server/private-media/index.d.ts",
542
- "bun": "./src/server/private-media/index.ts",
543
- "source": "./src/server/private-media/index.ts",
544
- "import": "./dist/server/private-media/index.js"
545
- },
546
- "./server/seo": {
547
- "types": "./dist/server/seo/index.d.ts",
548
- "bun": "./src/server/seo/index.ts",
549
- "source": "./src/server/seo/index.ts",
550
- "import": "./dist/server/seo/index.js"
551
- },
552
473
  "./nav": {
553
474
  "types": "./dist/core/navigation/index.d.ts",
554
475
  "bun": "./src/core/navigation/index.ts",
@@ -561,36 +482,6 @@
561
482
  "source": "./src/core/palette/index.ts",
562
483
  "import": "./dist/core/palette/index.js"
563
484
  },
564
- "./layout": {
565
- "types": "./dist/core/layout/index.d.ts",
566
- "bun": "./src/core/layout/index.ts",
567
- "source": "./src/core/layout/index.ts",
568
- "import": "./dist/core/layout/index.js"
569
- },
570
- "./category": {
571
- "types": "./dist/core/category/index.d.ts",
572
- "bun": "./src/core/category/index.ts",
573
- "source": "./src/core/category/index.ts",
574
- "import": "./dist/core/category/index.js"
575
- },
576
- "./namespace": {
577
- "types": "./dist/core/namespace/index.d.ts",
578
- "bun": "./src/core/namespace/index.ts",
579
- "source": "./src/core/namespace/index.ts",
580
- "import": "./dist/core/namespace/index.js"
581
- },
582
- "./game": {
583
- "types": "./dist/game/core/index.d.ts",
584
- "bun": "./src/game/core/index.ts",
585
- "source": "./src/game/core/index.ts",
586
- "import": "./dist/game/core/index.js"
587
- },
588
- "./game/react": {
589
- "types": "./dist/game/react/index.d.ts",
590
- "bun": "./src/game/react/index.ts",
591
- "source": "./src/game/react/index.ts",
592
- "import": "./dist/game/react/index.js"
593
- },
594
485
  "./server": {
595
486
  "types": "./dist/server/index.d.ts",
596
487
  "bun": "./src/server/index.ts",
@@ -609,18 +500,6 @@
609
500
  "source": "./src/server/sqlite/index.ts",
610
501
  "import": "./dist/server/sqlite/index.js"
611
502
  },
612
- "./upload": {
613
- "types": "./dist/upload.d.ts",
614
- "bun": "./src/upload.ts",
615
- "source": "./src/upload.ts",
616
- "import": "./dist/upload.js"
617
- },
618
- "./ctgr": {
619
- "types": "./dist/ctgr/index.d.ts",
620
- "bun": "./src/ctgr/index.ts",
621
- "source": "./src/ctgr/index.ts",
622
- "import": "./dist/ctgr/index.js"
623
- },
624
503
  "./client/ws-wire": {
625
504
  "types": "./dist/client/wsWire.d.ts",
626
505
  "bun": "./src/client/wsWire.ts",
@@ -634,6 +513,7 @@
634
513
  "import": "./dist/client/index.js"
635
514
  },
636
515
  "./styles.css": "./src/styles.css",
516
+ "./styles-static.css": "./src/styles-static.css",
637
517
  "./theme.css": "./src/theme.css",
638
518
  "./workspace.css": "./src/workspace.css",
639
519
  "./react/keep-awake": {
@@ -660,12 +540,6 @@
660
540
  "source": "./src/react/pdf-viewer/index.ts",
661
541
  "import": "./dist/react/pdf-viewer/index.js"
662
542
  },
663
- "./react/canvas": {
664
- "types": "./dist/react/canvas/index.d.ts",
665
- "bun": "./src/react/canvas/index.ts",
666
- "source": "./src/react/canvas/index.ts",
667
- "import": "./dist/react/canvas/index.js"
668
- },
669
543
  "./react/master-detail": {
670
544
  "types": "./dist/react/master-detail/index.d.ts",
671
545
  "bun": "./src/react/master-detail/index.ts",
@@ -701,12 +575,10 @@
701
575
  "**/server/**",
702
576
  "**/ctgr/**",
703
577
  "**/core/**",
704
- "**/client/**",
705
- "**/game/core/**"
578
+ "**/client/**"
706
579
  ],
707
580
  "peerDependencies": {
708
581
  "@node-rs/argon2": ">=2",
709
- "@codemirror/autocomplete": ">=6",
710
582
  "@codemirror/commands": ">=6",
711
583
  "@codemirror/lang-javascript": ">=6",
712
584
  "@codemirror/lang-json": ">=6",
@@ -714,8 +586,6 @@
714
586
  "@codemirror/lang-yaml": ">=6",
715
587
  "@codemirror/language": ">=6",
716
588
  "@codemirror/legacy-modes": ">=6",
717
- "@codemirror/lint": ">=6",
718
- "@codemirror/search": ">=6",
719
589
  "@codemirror/state": ">=6",
720
590
  "@codemirror/view": ">=6",
721
591
  "@lezer/highlight": ">=1",
@@ -728,11 +598,9 @@
728
598
  "@tiptap/extension-character-count": ">=3",
729
599
  "@tiptap/extension-code-block-lowlight": ">=3",
730
600
  "@tiptap/extension-image": ">=3",
731
- "@tiptap/extension-link": ">=3",
732
601
  "@tiptap/extension-placeholder": ">=3",
733
602
  "@tiptap/extension-task-item": ">=3",
734
603
  "@tiptap/extension-task-list": ">=3",
735
- "@tiptap/pm": ">=3",
736
604
  "@tiptap/react": ">=3",
737
605
  "@tiptap/starter-kit": ">=3",
738
606
  "@vidstack/react": ">=1",
@@ -761,9 +629,6 @@
761
629
  "@node-rs/argon2": {
762
630
  "optional": true
763
631
  },
764
- "@codemirror/autocomplete": {
765
- "optional": true
766
- },
767
632
  "@codemirror/commands": {
768
633
  "optional": true
769
634
  },
@@ -785,12 +650,6 @@
785
650
  "@codemirror/legacy-modes": {
786
651
  "optional": true
787
652
  },
788
- "@codemirror/lint": {
789
- "optional": true
790
- },
791
- "@codemirror/search": {
792
- "optional": true
793
- },
794
653
  "@codemirror/state": {
795
654
  "optional": true
796
655
  },
@@ -824,9 +683,6 @@
824
683
  "@tiptap/extension-image": {
825
684
  "optional": true
826
685
  },
827
- "@tiptap/extension-link": {
828
- "optional": true
829
- },
830
686
  "@tiptap/extension-placeholder": {
831
687
  "optional": true
832
688
  },
@@ -836,9 +692,6 @@
836
692
  "@tiptap/extension-task-list": {
837
693
  "optional": true
838
694
  },
839
- "@tiptap/pm": {
840
- "optional": true
841
- },
842
695
  "@tiptap/react": {
843
696
  "optional": true
844
697
  },
@@ -918,6 +771,7 @@
918
771
  "@lezer/highlight": "^1.2.3",
919
772
  "@node-rs/argon2": "^2.0.2",
920
773
  "@playwright/test": "^1.61.0",
774
+ "@tailwindcss/vite": "^4.3.1",
921
775
  "@tanstack/react-query": "5.101.2",
922
776
  "@testing-library/dom": "^10.4.1",
923
777
  "@testing-library/react": "16.3.2",
@@ -935,10 +789,10 @@
935
789
  "@types/bun": "^1.3.14",
936
790
  "@types/diff": "^8.0.0",
937
791
  "@types/node": "^24",
938
- "@types/papaparse": "^5.5.2",
939
792
  "@types/react": "^19.2.17",
940
793
  "@types/react-dom": "^19.2.3",
941
794
  "@vidstack/react": "1.15.6",
795
+ "@vitejs/plugin-react": "^5.2.0",
942
796
  "hls.js": "^1.5.0",
943
797
  "hono": "4.12.28",
944
798
  "konva": "^10.3.0",
@@ -950,6 +804,8 @@
950
804
  "partysocket": "^1.2.0",
951
805
  "pdfjs-dist": "^4.10.38",
952
806
  "plainjob": "^0.0.14",
807
+ "react": "19.2.7",
808
+ "react-dom": "19.2.7",
953
809
  "react-filerobot-image-editor": "5.0.0-beta.159",
954
810
  "react-konva": "^19.2.5",
955
811
  "react-photo-album": "^3.6.0",
@@ -959,11 +815,10 @@
959
815
  "tailwindcss": "^4.3.1",
960
816
  "tiptap-markdown": "^0.9.0",
961
817
  "typescript": "^6.0.3",
818
+ "vite": "^7.3.6",
962
819
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
963
820
  "yet-another-react-lightbox": "^3.32.0",
964
- "zod": "4.4.3",
965
- "react": "19.2.7",
966
- "react-dom": "19.2.7"
821
+ "zod": "4.4.3"
967
822
  },
968
823
  "dependencies": {
969
824
  "@atlaskit/pragmatic-drag-and-drop": "^2.0.1",
@@ -983,12 +838,10 @@
983
838
  "@radix-ui/react-dialog": "^1.1.17",
984
839
  "@radix-ui/react-dropdown-menu": "^2.1.18",
985
840
  "@radix-ui/react-hover-card": "^1.1.17",
986
- "@radix-ui/react-label": "^2.1.10",
987
841
  "@radix-ui/react-popover": "^1.1.17",
988
842
  "@radix-ui/react-progress": "^1.1.10",
989
843
  "@radix-ui/react-radio-group": "^1.3.9",
990
844
  "@radix-ui/react-select": "^2.3.1",
991
- "@radix-ui/react-separator": "^1.1.10",
992
845
  "@radix-ui/react-slider": "^1.4.2",
993
846
  "@radix-ui/react-slot": "^1.3.0",
994
847
  "@radix-ui/react-switch": "^1.3.1",
@@ -1005,7 +858,6 @@
1005
858
  "jose": "^6.2.3",
1006
859
  "lucide-react": "^1.21.0",
1007
860
  "marked": "^14.0.0",
1008
- "papaparse": "^5.5.4",
1009
861
  "react-grid-layout": "2.2.3",
1010
862
  "react-hook-form": "^7.80.0",
1011
863
  "react-resizable-panels": "^4.12.0",
@@ -1021,4 +873,4 @@
1021
873
  "type": "git",
1022
874
  "url": "git+https://github.com/curtwphillips/cursedbelt.git"
1023
875
  }
1024
- }
876
+ }
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Generate `src/styles-static.css` from `src/styles.css` — the SCOPED entry point.
3
+ *
4
+ * ── Why a second stylesheet exists ──────────────────────────────────────────
5
+ * `src/styles.css` is two different things wearing one name:
6
+ *
7
+ * 1. real CSS the components need — `tw-animate-css` (the dialog family's
8
+ * enter/exit motion), `.cb-meta-label`, `.cb-code`, the Progress keyframes,
9
+ * the lightbox token bridge, the ambient/glass layer, and the tooltip
10
+ * pointer-events rules that stop a focus-opened tooltip eating a click; and
11
+ * 2. `@source "."`, which points Tailwind's JIT at cursedbelt's ENTIRE source
12
+ * tree, so the consuming app emits the union of the whole design system —
13
+ * measured at 113 KB / 846 selectors in the previous generation — whether it
14
+ * renders three components or eighty.
15
+ *
16
+ * A CSS `@import` takes the whole file, so an app that wants (1) without (2) has
17
+ * no way to ask. `cursedbelt/styles-static.css` is that ask.
18
+ *
19
+ * ── Why GENERATED, and not a second file somebody maintains ─────────────────
20
+ * The previous generation solved this with `satellite-kit/styles/belt-static.css`
21
+ * — a hand-kept COPY of this file with the one line deleted — and every app then
22
+ * hand-listed the component files Tailwind was allowed to scan (29 relative
23
+ * `@source` lines in flix alone, each one reaching into another package's source
24
+ * tree: a `file:` dependency wearing a stylesheet's clothes). A copy nothing
25
+ * compares is a copy that drifts, and the drift is invisible: the scoped app
26
+ * simply stops getting the tooltip fix, or the Progress keyframes, and nobody
27
+ * finds out until a user reports a click that does nothing.
28
+ *
29
+ * So the second file is OUTPUT. This script writes it, `bun run build` runs this
30
+ * script first, and `src/stylesStaticMatches.spec.ts` fails if what is on disk is
31
+ * not exactly what this produces. Document the WHY; automate the WHETHER.
32
+ *
33
+ * Usage:
34
+ * bun run styles:static # write src/styles-static.css
35
+ * bun run styles:static --check # exit 1 if it is stale, write nothing
36
+ */
37
+
38
+ /**
39
+ * Repo root, resolved from this file — never `process.cwd()`; the suite imports
40
+ * this module and `bun test` can be started from anywhere. A string trim rather
41
+ * than `node:path`: the test preload virtualizes node builtins, so a helper the
42
+ * suite shares must not reach through a mocked module (same trap as the
43
+ * `Bun.file` note in `src/publishShape.spec.ts`), and the result stays an
44
+ * absolute path a person can paste instead of `…/scripts/..`.
45
+ */
46
+ export const REPO_ROOT = import.meta.dir.replace(/\/scripts$/, '');
47
+
48
+ export const SOURCE_STYLESHEET = 'src/styles.css';
49
+ export const STATIC_STYLESHEET = 'src/styles-static.css';
50
+
51
+ /** A whole-line `@source …` at-rule — the one thing the static variant drops. */
52
+ export const SOURCE_DIRECTIVE = /^\s*@source\b/;
53
+
54
+ /**
55
+ * `styles.css` minus its `@source` line(s).
56
+ *
57
+ * The blank line that FOLLOWS a dropped directive goes with it, so the output is
58
+ * a clean subsequence of the input's lines rather than a file with a two-line gap
59
+ * where the directive used to be. Nothing else is touched — no reflow, no
60
+ * re-indent, no normalisation — because "identical except that line" is the
61
+ * property the spec asserts, and a formatter in here would quietly weaken it.
62
+ */
63
+ export const staticStylesFrom = (css: string): string => {
64
+ const lines = css.split('\n');
65
+ const out: string[] = [];
66
+ for (let i = 0; i < lines.length; i++) {
67
+ if (SOURCE_DIRECTIVE.test(lines[i] ?? '')) {
68
+ if (lines[i + 1]?.trim() === '') i++;
69
+ continue;
70
+ }
71
+ out.push(lines[i] ?? '');
72
+ }
73
+ return out.join('\n');
74
+ };
75
+
76
+ /** Read `src/styles.css` and the static variant's expected + on-disk contents. */
77
+ export const readStylesheets = async (): Promise<{
78
+ source: string;
79
+ expected: string;
80
+ onDisk: string | null;
81
+ }> => {
82
+ const source = await Bun.file(`${REPO_ROOT}/${SOURCE_STYLESHEET}`).text();
83
+ const target = Bun.file(`${REPO_ROOT}/${STATIC_STYLESHEET}`);
84
+ return {
85
+ source,
86
+ expected: staticStylesFrom(source),
87
+ onDisk: (await target.exists()) ? await target.text() : null,
88
+ };
89
+ };
90
+
91
+ if (import.meta.main) {
92
+ const { source, expected, onDisk } = await readStylesheets();
93
+ if (expected === source) {
94
+ console.error(
95
+ `❌ ${SOURCE_STYLESHEET} carries no \`@source\` directive, so the static variant would be a\n` +
96
+ ' byte-for-byte duplicate of it and this whole subpath would be pointless. Either the\n' +
97
+ ' directive was deleted (every consumer now emits no cursedbelt utilities at all) or it\n' +
98
+ ' was reshaped past what SOURCE_DIRECTIVE matches.',
99
+ );
100
+ process.exit(1);
101
+ }
102
+ if (process.argv.includes('--check')) {
103
+ if (onDisk === expected) {
104
+ console.log(`✅ ${STATIC_STYLESHEET} is current.`);
105
+ process.exit(0);
106
+ }
107
+ console.error(
108
+ `❌ ${STATIC_STYLESHEET} is ${onDisk === null ? 'missing' : 'stale'}. Run:\n` +
109
+ ` cd ${REPO_ROOT} && bun run styles:static`,
110
+ );
111
+ process.exit(1);
112
+ }
113
+ if (onDisk === expected) {
114
+ console.log(`✅ ${STATIC_STYLESHEET} already current (${expected.length} bytes).`);
115
+ } else {
116
+ await Bun.write(`${REPO_ROOT}/${STATIC_STYLESHEET}`, expected);
117
+ console.log(
118
+ `✅ wrote ${STATIC_STYLESHEET} — ${SOURCE_STYLESHEET} minus its \`@source\` line ` +
119
+ `(${source.length} → ${expected.length} bytes).`,
120
+ );
121
+ }
122
+ }