Commit graph

972 commits

Author SHA1 Message Date
Aria Minaei
6d7d461223 Remove all WeakMaps from prism's scope
... making it easier to debug prism scopes. Again, there is a perf regression here.
2023-01-04 20:49:43 +01:00
Aria Minaei
1c69cb7055 Save prism effects in the prism scope, rather than a WeakMap
... for easier debugging, but there is a perf regression which I
can't yet quantify as the benchmark suit doesn't support comparisons.
2023-01-04 20:49:43 +01:00
Aria Minaei
ae8be59366 Implement a basic benchmark test, and deprecate derivation.map()/flatMap()
This starts a new workspace at `packages/benchmarks` where future benchmarks
are going to sit. For now, it only contains a basic profile of a `sequence.play()`
setup.

It also removes all uses of `AbstractDerivation.map()/flatMap()` and uses prisms
instead.
2023-01-04 20:49:35 +01:00
Aria Minaei
45b548660c 0.6.0-dev.3 2023-01-04 20:35:56 +01:00
Andrew Prifer
ccabda65a3
Move studio-related asset storage code out of core (#369)
* Move studio asset storage code out of core

* Require blob-compare conditinally

Co-authored-by: Aria <aria.minaei@gmail.com>
2023-01-04 20:34:27 +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
Andrew Prifer
71f08e171a
Implement a way for users to be able to add buttons to the details panel (#372)
* Implement actions

* Add action button styles

* Add docs for actions
2023-01-04 15:00:46 +00: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
Aria Minaei
f6361e7905 0.6.0-dev.2 2023-01-02 22:34:50 +01:00
Aria Minaei
fd3a8cec35 Nudging numbers will now use nudgeMultiplier even if the number has a range
Possibly fixes #314
2023-01-02 22:11:34 +01:00
Aria Minaei
438a83d2d4 0.6.0-dev.1 2023-01-02 19:47:23 +01:00
Clément Roche
6558181dbb
Make items in the outline menu collapsable (#367)
Co-authored-by: Clement Roche <rchclement@gmail.com>
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
Co-authored-by: Aria <aria.minaei@gmail.com>
2023-01-02 18:43:19 +00:00
Clément Roche
a727ee277b Fix typo
Fix https://github.com/theatre-js/theatre/issues/361
2023-01-01 00:05:16 +01:00
Andrew Prifer
0d5b4bd8c8 Rename vague variable 2022-12-31 23:25:57 +01:00
Aria Minaei
c58bc694ee Fix: Re-render the panels when object identity change
This fixes the pesky "Argument 'der' in 'useDerivation(der)' should not change between renders."
2022-12-31 22:54:52 +01:00
Aria Minaei
4596c2233c fix: Don't show the visual regression warning outside of CI 2022-12-31 21:26:41 +01:00
Colin Duffy
103c35737c
New feature: Keyframe "hold" as a new easing type (#360) 2022-12-31 19:20:57 +00:00
dependabot[bot]
00baa3ae22 Bump express from 4.17.1 to 4.17.3
Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.17.3.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.1...4.17.3)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-31 18:17:06 +02:00
dependabot[bot]
d760cfedc0 Bump decode-uri-component from 0.2.0 to 0.2.2
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-31 18:11:46 +02:00
dependabot[bot]
074873452a Bump qs from 6.5.2 to 6.5.3
Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.5.2...v6.5.3)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-31 17:59:47 +02: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
Aria Minaei
95b329b02d 0.5.1 2022-12-31 10:54:27 +01:00
Aria Minaei
4e7f23ba8a Remove unnecessary SSR warnings 2022-12-31 10:50:00 +01:00
Aria Minaei
fcd3ab7ec5 0.5.1-rc.2 2022-12-07 10:24:50 +01:00
Andrew Prifer
3257ac89b9
Fix window reference error with SSR (#348) 2022-12-05 10:50:53 +00:00
Aria Minaei
a9adc2640c 0.5.1-rc.1 2022-11-25 11:21:28 +01:00
Aria Minaei
c38ab1d4e4 Update links to the docs 2022-11-24 17:42:13 +01:00
Aria Minaei
19b5218278 Document propTypesUtils and privateAPIs.ts 2022-11-24 15:52:24 +01:00
Aria Minaei
f17ad3cbca Document several util functions 2022-11-24 15:41:08 +01:00
Aria Minaei
7899f8a965 Document nicestNumberBetween() 2022-11-24 14:17:22 +01:00
Aria Minaei
5ee13a20a0 Document more utils 2022-11-24 14:09:02 +01:00
Aria Minaei
3f5b902739 Document minimalOverride() 2022-11-24 13:36:52 +01:00
Aria Minaei
464ce24923 Document utilities and remove unused code 2022-11-24 13:17:19 +01:00
Aria Minaei
dd585b0790 Explain how SheetObject.getValues() works 2022-11-23 16:31:44 +01:00
Andrew Prifer
ea229695e1
Fix project json export (#344) 2022-11-22 17:53:49 +02:00
Andrew Prifer
e3a194c7dd
Playground improvements (#342)
Remove previews, add vs code task, open in chrome
2022-11-22 15:05:11 +00:00
Andrew Prifer
484cfeb8ba
Add camera playground (#343) 2022-11-22 14:34:15 +00:00
Andrew Prifer
7ef016f3f0
Make notifications SSR ready (#341)
Properly check if window exists
2022-11-22 13:24:23 +00:00
Andrew Prifer
8c325c901a
Blur prop editors on unmount (#340) 2022-11-21 18:07:49 +00:00
Andrew Prifer
a55a34d48f
Improve notifications UX (#337)
Improve notification UX
2022-11-13 13:37:24 +00:00
Aria Minaei
a8a9b5ef05 Rename deleteObject() and related params
Since `sheet.deleteObject()` doesn't actually delete the values
of the props of that object, I decided to rename it to `detachObject()`.

Also, the param `override` sounded too similar to the concept of value overrides,
so I renamed it to `reconfigure`.
2022-11-10 16:23:15 +01:00
Andrew Prifer
cb8fa2f20f
Move notifications trigger to toolbar (#333)
* Move notification trigger to toolbar

* Make notifications unpinned by default
2022-11-07 13:40:17 +00:00
Andrew Prifer
455ac7736d
Fix default number nudge funcion (#328)
Fix default number nudge function
2022-10-26 19:26:19 +02:00
Andrew Prifer
43714fdf17
Notification improvements (#324) 2022-10-21 20:32:53 +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
dee2361c95 Replace warnings with notifications
Also rewrote all warnings to be more helpful and readable.
2022-10-21 18:42:03 +02: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
a9c3c00153 Implement dynamic scene trees in r3f
This makes it possible to add/remove objects on the fly, do hot-module reloading, change object configs on the fly, and more.
2022-10-18 11:43:54 +02:00
Aria Minaei
151fcce298 Implement Sheet.deleteObject()
Co-authored-by: Elliot <key.draw@gmail.com>
2022-10-18 11:43:54 +02:00