Commit graph

104 commits

Author SHA1 Message Date
Aria Minaei
bdba288ff1 Remove percy and add docs on how to produce the snapshots 2023-08-07 15:34:36 +02:00
Aria Minaei
6d4a060881 Update screenshots 2023-08-07 15:20:58 +02:00
Aria Minaei
3837e179bb WIP: Upgrade to THREE 155: Upgrade OrbitControls 2023-08-04 10:54:17 +02:00
Aria Minaei
7a5b1c744c Fix a bunch of react18 type errors 2023-08-03 21:25:45 +02:00
Aria Minaei
5387fda517 Use react18 in playground 2023-08-03 21:02:05 +02:00
Aria Minaei
f562d225c6 WIP: Upgrade to react 18
At this point, the studio and core work with react 18, but r3f doesn't.
2023-08-03 20:42:40 +02:00
Aria Minaei
46e58ca6d8 Pin to three 0.133 and add a visual regression test for it 2023-08-03 13:16:51 +02:00
Aria Minaei
d8140a5982 Make extension panes hot-reload/reconfigurable 2023-08-03 11:29:55 +02:00
Aria Minaei
4f00443ee1 Implement hot-reloading extension toolbars 2023-08-03 10:54:54 +02:00
Aria Minaei
cd6f44d9dd Upgrade the e2e test setup 2023-08-03 10:53:33 +02:00
Aria Minaei
041627f7e4 Fix the dangling promises 2023-08-03 10:52:10 +02:00
Aria Minaei
35fe1c375c Make studio.ui available before the UI is loaded
This was a regression introduced by b83164f26f
2023-07-17 12:34:57 +02:00
Colin Duffy
bcfb91fbb7 feat(remote): multiple-window support 2023-07-17 12:34:57 +02:00
Aria
b83164f26f
Switch to Vite (#434) 2023-07-16 22:19:21 +02:00
Colin Duffy
e7f23cfa4e
feat(example): three-basic (#418) 2023-05-12 19:11:26 +02:00
Aria Minaei
2b10e46441 Fix the bugs in assetStorage 2023-01-25 15:08:22 +01:00
Aria Minaei
00bb2d3310 Fix the recursion issue with theatric 2023-01-24 18:46:09 +01:00
Aria Minaei
a30bba0708 Convert extensions' Dropdown tool to Flyout
And use the style of a regular context Theatre.js menu.
2023-01-23 22:23:06 +01:00
Colin Duffy
3d343cc59e
Feat/studio extension dropdowns (#379) 2023-01-23 22:16:38 +01:00
Andrew Prifer
8470b67d4b
Support the entire getProject config in theatric's initialize() function (#384)
Support the entire getProject config in initialize
2023-01-22 21:59:29 +00:00
Andrew Prifer
246e75ccb5
Theatric - a leva-like Theatre.js API for React (#375)
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2023-01-22 18:01:31 +01:00
Aria Minaei
41fb7de533 Tweak the style of ImagePropEditor 2023-01-22 14:28:41 +01:00
Aria
d649858529 Feature: Custom RAFDrivers (#374)
Co-authored-by: Pete Feltham <dev@felthy.com>
Co-authored-by: Andrew Prifer <andrew.prifer@gmail.com>
2023-01-14 15:01:09 +01:00
Aria Minaei
c354a602a4 Remove Box in favor of Atom 2023-01-04 20:49:44 +01:00
Aria Minaei
acf34d393d Unify Derivation and Prism 7/n 2023-01-04 20:49:44 +01:00
Aria Minaei
194de8d833 Simplify Derivation.onChange()
It no longer uses `DerivationEmitter`.
2023-01-04 20:49:43 +01:00
Aria Minaei
a24a149a52 Remove Derivation.tapImmediate()
This is now just an extra flag on `Derivation.onChange()`
2023-01-04 20:49:43 +01:00
Aria
718beb4d7b
Catch more SSR issues and improve compat tests (#353)
This will cause the build to fail, as this will catch an SSR issue, which will be fixed after merging #369
2023-01-04 20:03:47 +01:00
Aria
feb3ad34b8
Compact and collapsible compound prop editor
* Create compact vector prop editor

* MAke all compound props collapsible

* Add collapsed indicator for compound props

* Persist collapsed state accross component rerenders

* Adjust dom playground to use the new vector prop

Co-authored-by: Andrew Prifer <andrew.prifer@gmail.com>
2023-01-04 12:43:49 +01:00
Andrew Prifer
8d8e2348dd Create idb-backed image prop (#366)
Co-authored-by: Clement Roche <rchclement@gmail.com>
2022-12-31 11:01:16 +01:00
Andrew Prifer
484cfeb8ba
Add camera playground (#343) 2022-11-22 14:34:15 +00:00
Andrew Prifer
965d7085dc
Add runtime type checks to r3f (#323)
* Add better error/warning messages to r3f

* Fix notifications playground
2022-10-21 19:17:45 +00:00
Andrew Prifer
62bc12ab51
Create a notification system that can display notifications in Theatre.js' Studio (#320)
* Implement an internal library for studio notifications

* Improve design a little

* Document code

* Change relative import to absolute one

* Fix tiny styling issue

* Add notifications playground

* Add notifications empty state and keep notifications buttons always visible

Also fix a bug related to not clearing the type and uniqueness checkers.

* Simplify notifications playground

* Treat window as optional in case it runs in server code
2022-10-21 15:51:13 +02:00
Aria Minaei
ef5752cbd3 Add a playground for dynamic trees in r3f 2022-10-18 11:43:54 +02:00
Aria Minaei
10c2b69bf3 Implement useExtensionButton() 2022-10-18 11:43:54 +02:00
Aria Minaei
ca9360fc29 Allow audio files in the playground 2022-09-27 23:32:01 +02:00
Andrew Prifer
743254a6c6
Fix popover behavior when popover is open and the trigger is clicked (#211)
* Fix popover behavior when open and clicking on trigger

* Remove console log

* Resolve merge conflicts

* Remove destructuring in favor of property access

* Extract usePopover return type into an interface

* Fix merge
2022-09-14 09:05:09 -04:00
Andrew Prifer
8680f9d89e
Replace uniqueName with theatreKey (#285) 2022-09-14 08:36:49 -04:00
Elliot
a871aa628f Revert "Handle requestPointerLock error cases in iframes P-199 (#272)"
This reverts commit 2ef9d5e346.
2022-08-17 16:14:36 -04:00
Cole Lawrence
e0c9626d68 dev: Add "reading obj value" playground test 2022-08-05 10:30:13 -04:00
vezwork
fdf268ad43 Add comments and remove extra performance measure
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
2022-08-04 13:34:08 -04:00
Cole Lawrence
62def1e883 Add r3f stress + Ticker.__ticks counter 2022-08-04 13:34:08 -04:00
Cole Lawrence
63056c5a58 fix validate path call (warning) & playground dom: Fix namespace warning 2022-08-03 11:38:44 -04:00
Cole Lawrence
2ef9d5e346
Handle requestPointerLock error cases in iframes P-199 (#272)
See https://linear.app/theatre/issue/P-199/dont-use-pointer-lock-when-in-an-iframe
2022-08-03 13:55:09 +00:00
Fülöp Kovács
e3226da492 Add namespacing to dom example 2022-07-26 10:43:36 +01:00
Cole Lawrence
fcc23b3863 Add variants of the extension example 2022-07-25 12:01:26 -04:00
Cole Lawrence
984a61347f Use "Theatre.js" for name consistency
Co-authored-by: Fülöp <fulopkovacs@users.noreply.github.com>
2022-07-25 12:01:26 -04:00
Aria Minaei
d2ef25f8d4 Quick hack to fix the randomly breaking e2e tests 2022-07-07 16:36:12 +02:00
Aria
a9910fecba
Unsuppress useful warnings in core. (#248)
This also temporarily removes `coreLogger`'s config from the public API One reason is that we don't have many logs that could benefit from suppressing (see diff) so the experimental API would not be useful to the user yet.

Also, the default config was suppressing useful warnings. Those warnings _would_ have been dead-code-eliminated in production mode anyway, so having a separate config to suppress them in dev mode makes it confusing.

Fixes P-171
2022-07-07 10:27:21 +02:00
Andrew Prifer
a3d9892841
Relax editable TS types to allow creating editable versions of all the JSX.IntrinsicElements elements. (#237)
Enable custom editable components through relaxed typescript types
2022-06-28 16:11:28 +00:00