Commit graph

401 commits

Author SHA1 Message Date
Aria Minaei
e479d32f3b BasicNumberInput now undos on Escape 2021-11-14 13:15:52 +01:00
Aria Minaei
4d7a4d7f25 BasicStringInput now undos un Escape 2021-11-14 13:10:55 +01:00
Aria Minaei
786f645d0c WIP: Editing curves using the css cubic bezier function 2021-11-13 20:06:17 +01:00
cory-glooh
4a65c6e91c
All prop sequencing (#48) 2021-11-02 14:50:08 +01:00
Aria Minaei
76533d9f82 0.4.7 2021-10-14 18:48:21 +02:00
Jørn Myrland
81578f7925 Extends shortcut for opening & closing the studio
- Should support alt + \ in most cases
- Corrects the shortcut in log message when the studio is hidden
2021-10-12 22:57:56 +02:00
Jørn Myrland
2e4ae0c860 Fixes inconsisten keyboard shortcuts for opening studio
Changes check to use `key` instead of `code`.

related to #34
2021-10-12 22:57:56 +02:00
Aria Minaei
de6161e1cc 0.4.7-rc.1 2021-10-08 11:42:14 +02:00
Aria Minaei
7c0765bff2 Implemented sequence.pointer
This enables observing and reacting to changes to the position of the sequence, as well as its length and playback state.

API docs: https://docs.theatrejs.com/api/core.isequence.pointer.html

Fixes #20

Also provides a stop-gap solution to #32 until we have the API in place.
2021-10-08 11:32:24 +02:00
Jørn Myrland
bf0367bd0d Improves scroll interaction for sequence editor
- Scroll paning (`shift + scroll`) is now synced for the keyframe viewport, easing viewport and scrollbar (Closes #22)
-  Scroll zooming out (`ctrl + scroll down`) is now bounded to avoid zooming out to infinity  (Closes #19)

There is still some quirky behaviour when using scroll to zoom inwards. It does not seem to respect the `pivotPointInUnitSpace` correctly. I've tried fixing it, but I've hit a dead end.
2021-10-04 20:51:53 +02:00
Aria Minaei
1647d91dc5 Dragging on a numeric prop with a range now respects the range.
Fixes #31
2021-10-04 20:10:16 +02:00
Aria Minaei
cf9b35bb4d Renamed the script 'deploy' to 'release' 2021-10-04 14:25:11 +02:00
Aria Minaei
14173fde0a Formatting changes for api docs 2021-10-04 10:39:12 +02:00
Aria Minaei
69c6aa9af2 Lint rule changes 2021-10-02 14:12:25 +02:00
Aria Minaei
90520dfb25 Started adopting api-extractor 2021-10-02 13:48:02 +02:00
Aria Minaei
f273388195 GraphEditor automatically hides if no props are selected 2021-10-01 21:35:51 +02:00
Aria Minaei
4b2a6471dc 0.4.6 2021-10-01 17:49:04 +02:00
Aria Minaei
76a3e53078 Formatting 2021-10-01 17:48:29 +02:00
Or Fleisher
9c5906cce9 Remove NODE_ENV conditional so it shows sequence timeline when NODE_ENV is production too 2021-10-01 11:30:18 -04:00
Aria Minaei
c439cfe947 Updated README 2021-10-01 12:38:43 +02:00
Aria Minaei
0eec2041a3 0.4.5 2021-10-01 12:35:50 +02:00
Aria Minaei
3d56f236e1 0.4.5-dev.3 2021-10-01 12:34:11 +02:00
Aria Minaei
f3367f0719 0.4.5-dev.2 2021-10-01 12:32:38 +02:00
Aria Minaei
c666e69807 Documentation 2021-10-01 11:04:52 +02:00
Aria Minaei
fcfe2cbef4 0.4.5-dev.1 2021-10-01 10:54:49 +02:00
Aria Minaei
4bf6f78a00 Exposed a GainNode from sequence.attachAudio() 2021-10-01 10:46:47 +02:00
Aria Minaei
b3945e2a61 0.4.4 2021-09-30 22:02:45 +02:00
Aria Minaei
4a12a92428 0.4.3 2021-09-30 10:29:39 +02:00
Aria Minaei
3ccef9694f Temporarily disabled compound props' context menu as it's not ready for the next release 2021-09-30 10:27:16 +02:00
Aria Minaei
0e0bb1f3fc Implemented studio.createContentOfSaveFile() 2021-09-30 10:14:32 +02:00
Aria Minaei
995dcd97aa Temporarily allow only number props to be sequenced 2021-09-27 16:37:18 +02:00
Aria Minaei
3f0556b9eb sequence.attachAudio() now accepts any AudioNode as destination 2021-09-27 16:36:06 +02:00
Aria Minaei
91a65752a9 Context menu for compound props
* Make sub-props static
* Reset static sub-props

Also
* Context menu items can now be disabled
2021-09-23 13:55:52 +02:00
Aria Minaei
2c4b317934 0.4.2 2021-09-22 21:18:48 +02:00
Aria Minaei
6b99022220 sequence.attachAudio() now handles autoplay blocking 2021-09-22 13:32:59 +02:00
Aria Minaei
dcf90983a5 Eased type constraints of studio.selection* 2021-09-22 09:30:28 +02:00
Aria Minaei
2232fe5662 0.4.1 2021-09-21 21:25:28 +02:00
Aria Minaei
fe4010c2c6 Properly handle sequence.play({range}) for range[0] > 0.
Fixes #15
2021-09-21 21:22:47 +02:00
Aria Minaei
f48038d649 0.4.0 2021-09-20 11:20:50 +02:00
Aria Minaei
dae14aebbd Implemented stableJsonTringify() 2021-09-20 11:09:30 +02:00
Aria Minaei
631bcba724 More docs and annotations 2021-09-18 21:43:29 +02:00
Aria Minaei
d7542883f7 More docs 2021-09-18 16:31:05 +02:00
Aria Minaei
378d9b7abf 0.4.0-dev.20 2021-09-17 17:32:02 +02:00
Aria Minaei
af336a0a82 Bug fix 2021-09-17 17:23:56 +02:00
Aria Minaei
4eaba1e8d5 Snapping now works in selections too 2021-09-17 17:20:01 +02:00
Aria Minaei
e2e6754de1 Fixed a bug in dragging selections ...
where dragging props of multiple objects would only drag the props of one object
2021-09-17 16:42:22 +02:00
Aria Minaei
385895112b More arg validation rules 2021-09-17 15:41:39 +02:00
Aria Minaei
eb695a1c91 Fixed the tests 2021-09-17 15:37:34 +02:00
Aria Minaei
7815fb2dc3 More API docs 2021-09-17 14:58:26 +02:00
Aria Minaei
a86e220bdc 0.4.0-dev.19 2021-09-14 12:43:58 +02:00
Aria Minaei
5407ed1df8 Fixed the glitches with string props 2021-09-14 11:55:13 +02:00
Aria Minaei
bbf77123b2 0.4.0-dev.18 2021-09-13 19:17:34 +02:00
Aria Minaei
d887dad5d4 Allowed shorter instanceId strings 2021-09-13 19:16:58 +02:00
Aria Minaei
a1712fce4a 0.4.0-dev.17 2021-09-13 18:50:52 +02:00
Aria Minaei
0aff5af83a UI's sequence playback now runs on repeat 2021-09-13 18:50:11 +02:00
Aria Minaei
46f13759e5 0.4.0-dev.16 2021-09-13 18:06:01 +02:00
Aria Minaei
e3264264bc Turned IPlaybackRange into a tuple 2021-09-13 17:05:57 +02:00
Aria Minaei
e8d32089ca Implemented types.string 2021-09-13 16:59:01 +02:00
Aria Minaei
eea1f424fc Minor changes 2021-09-12 21:21:49 +02:00
Aria Minaei
b5fa729e5d 0.4.0-dev.15 2021-09-06 21:13:20 +02:00
Aria Minaei
713c6cacd7 Allowed re-calling sheet.object() with shorthand props again 2021-09-06 21:11:15 +02:00
Aria Minaei
b5e994f597 Disallowed sequencing on non-numeric props
* This is temporary until we find a good UX for sequencing discrete values
2021-09-06 11:42:09 +02:00
Aria Minaei
f6cf3711f4 More progress on shorthand types 2021-09-06 11:26:00 +02:00
Aria Minaei
aefb769855 More progress on shorthand props 2021-09-06 11:05:35 +02:00
Aria Minaei
2f44f53021 Started implementing shothand prop types 2021-09-06 10:53:36 +02:00
Aria Minaei
4f66d57cf8 Renamed @theatre/plugin-r3f to @theatre/r3f 2021-09-06 10:19:10 +02:00
Aria Minaei
1452c9ebbe Renamed @theatre/dataverse-react to @theatre/react 2021-09-05 23:07:02 +02:00
Aria Minaei
69a12440ca Preparing to support multiple sheets in r3f 2021-09-05 23:03:34 +02:00
Aria Minaei
3674f05487 Updated deps 2021-09-05 22:49:26 +02:00
Aria Minaei
91d9ba6b8f API cleanup 2021-09-05 22:47:01 +02:00
Aria Minaei
0ff68e5dbf 0.4.0-dev.14 2021-09-05 18:01:43 +02:00
Aria Minaei
4284f80930 Fixed the build 2021-09-05 18:01:04 +02:00
Aria Minaei
ba6f71bbac Use Option+Backslash to hide/show the UI 2021-09-05 17:48:45 +02:00
Aria Minaei
400b55bf09 Bugfix 2021-09-05 17:45:51 +02:00
Aria Minaei
e201eeee5b More progress with docs 2021-09-05 13:40:15 +02:00
Aria Minaei
5d63ce4f3e Progress on docs 2021-09-04 17:08:51 +02:00
Aria Minaei
a3bec04088 Added some railguards to the API 2021-09-03 21:20:05 +02:00
Aria Minaei
9955730876 API tweaks 2021-09-03 19:29:21 +02:00
Aria Minaei
58e46620cc Added the ability to hide the UI
* Added alt/option+` to toggle the UI
2021-09-03 14:18:24 +02:00
Aria Minaei
adcd1ce848 Implemented Sequence.attachAudio() 2021-09-03 14:02:02 +02:00
Aria Minaei
3cd126186e Sequence bugfixes and documentation
* The alternate playback directions now work
* Clicking outside the playable area no longer raises errors
* Documented the playback API
2021-09-03 13:15:04 +02:00
Aria Minaei
31d6acefca Fix the bug with non-existing trackData 2021-09-02 21:46:45 +02:00
Aria Minaei
7bf22a5f9b Small bugfix 2021-09-02 14:32:33 +02:00
Aria Minaei
6ccfeea068 Style tweaks 2021-09-02 13:28:35 +02:00
Aria Minaei
46f19dddbc 0.4.0-dev.13 2021-09-02 12:20:14 +02:00
Aria Minaei
944c670ca8 Fixed the auto-close bug with usePopover() 2021-09-02 12:19:27 +02:00
Aria Minaei
1ff245f482 Style bug fix 2021-09-02 10:38:28 +02:00
Aria Minaei
6b373ccae5 Removed nativeObject from the API 2021-09-02 10:26:39 +02:00
Aria Minaei
b63fcb9f1e 0.4.0-dev.12 2021-09-02 09:51:13 +02:00
Aria Minaei
b3e4aca200 Keyboard shortcut tweaks 2021-09-01 10:51:50 +02:00
Aria Minaei
5d37c15173 Upgrade deps 2021-09-01 10:41:54 +02:00
Aria Minaei
a8df97a06a API naming tweaks 2021-09-01 10:36:44 +02:00
Aria Minaei
36017c6a73 Nudging behavior on number props can now be customized 2021-08-22 12:58:38 +02:00
Aria Minaei
74724d7ec1 Style tweak 2021-08-22 11:52:42 +02:00
Aria Minaei
6cac52675e Style tweaks 2021-08-22 11:47:00 +02:00
Aria Minaei
158961c82a Style tweaks to the OutlinePanel 2021-08-21 20:01:42 +02:00
Aria Minaei
3357ba5f5b Style tweaks 2021-08-21 16:56:23 +02:00
Aria Minaei
cd02f1a6c3 Style tweaks 2021-08-20 21:59:51 +02:00
Aria Minaei
5f8cdfd886 Style tweaks in ProjectDetailPanel 2021-08-20 21:51:06 +02:00
Aria Minaei
efc52592ba Style tweaks 2021-08-20 21:11:19 +02:00
Aria Minaei
c02999061e Style tweaks 2021-08-20 20:59:09 +02:00
Aria Minaei
c5254c3e6b UX tweak for tooltips 2021-08-20 20:58:02 +02:00
Aria Minaei
f0d450e9dc Style tweaks 2021-08-20 18:50:54 +02:00
Aria Minaei
59416d068b Popovers now close automatically on mouseleave 2021-08-20 15:24:36 +02:00
Aria Minaei
2a45c68374 Minor style bugfix 2021-08-20 11:38:12 +02:00
Aria Minaei
163758c2d2 Nicer look for the arrow on top of popover 2021-08-20 11:27:14 +02:00
Aria Minaei
af2ff59d5e Simplified the popovers 2021-08-19 21:41:41 +02:00
Aria Minaei
69f787d5cf UX tweak for tooltips
* When pointer moves from one tooltip-ed node to another, their tooltips don't flash out and in. The new tooltip replaces the old one immediatgely.
2021-08-19 21:04:55 +02:00
Aria Minaei
e63d273830 WIP: Popovers and tooltips 2021-08-19 20:50:26 +02:00
Aria Minaei
c20b065bae Small typing tweak 2021-08-18 20:01:20 +02:00
Aria Minaei
72d40bf204 Project conflict indicators in outline panel
* OutlinePanel has a badge showing the number of conflicting projects
* Each project list item gets a highlight if it has conflicts
* Refactored Popover to prepare to merge it with tooltips
2021-08-12 11:52:23 +02:00
Aria Minaei
e50daa3ba7 Projects in OutlinePanel have a conflict indicator 2021-08-10 18:23:50 +02:00
Aria Minaei
d10b313d57 Trigger for the OutlinePanel 2021-08-10 18:03:05 +02:00
Aria Minaei
bbb56ff94f Fixed the bug where Next/Prev keyframe buttons would capture keydown events 2021-08-10 17:55:06 +02:00
Aria Minaei
1a8014be7f Styling for the export area 2021-08-10 17:21:06 +02:00
Aria Minaei
93f4500b20 User can now choose to override browser's state from that of disk's, or vice versa 2021-08-09 22:34:56 +02:00
Aria Minaei
f08d9bf9c1 Simplified export bookkeeping 2021-08-09 21:50:12 +02:00
Aria Minaei
832542c1c5 Started implementing "Export Project" 2021-08-09 17:12:20 +02:00
Aria Minaei
49c97ebfcf Started implementing ProjectDetails 2021-08-09 15:23:14 +02:00
Aria Minaei
d38070025c Renamed ObjectEditorPanel to DetailPanel 2021-08-09 13:31:15 +02:00
Aria Minaei
0cebfa913d Minor UX tweak 2021-08-09 13:04:53 +02:00
Aria Minaei
47794d8761 Toggling keyframes snaps the sequence's position to the frame grid 2021-08-09 11:45:30 +02:00
Aria Minaei
30c6b44cad Implemented "Delete Selection" on Connectors' context menu 2021-08-09 11:44:47 +02:00
Aria Minaei
d46e0bfd2f All keyframe operations now snap to the frame grid 2021-08-09 11:31:37 +02:00
Aria Minaei
2ec6a54060 Style tweak 2021-08-09 11:31:07 +02:00
Aria Minaei
3a9285fa9e Right click menus now close on 'Escape' 2021-08-09 11:30:44 +02:00
Aria Minaei
b08588e9d6 Extensions can now use studio's project for editing-related objects. 2021-08-08 21:33:10 +02:00
Aria Minaei
828fbb97b5 Style tweaks 2021-08-08 21:31:32 +02:00
Aria Minaei
b8b65cfde5 Style tweaks 2021-08-08 12:34:35 +02:00
Aria Minaei
361f4f13a5 Style tweaks 2021-08-08 12:14:27 +02:00
Aria Minaei
456e281954 0.4.0-dev.11 2021-08-08 10:34:38 +02:00
Aria Minaei
99f8e51ae8 Fixed the dependency ranges in manifests 2021-08-08 10:33:13 +02:00
Aria Minaei
1916747e8b Upgrade typescript 2021-08-08 10:12:23 +02:00
Aria Minaei
a074f184ab Fixed the double bundling of react 2021-08-08 10:12:08 +02:00
Aria Minaei
bafa819b39 0.4.0-dev.10 2021-08-07 23:39:55 +02:00
Aria Minaei
2a57433bf6 0.4.0-dev.9 2021-08-07 23:35:32 +02:00
Aria Minaei
54480555a1 Added the option to only bundle js in yarn deploy 2021-08-07 23:35:11 +02:00
Aria Minaei
f4f33dcd8d Still trying to get cra to play nice with theatre 2021-08-07 23:24:37 +02:00
Aria Minaei
824fdd6843 Progress with cra 2021-08-07 22:30:29 +02:00
Aria Minaei
1497eaf610 WIP: Getting r3f to work with create-react-app
* Temporarily disabled ESM bundles because the current setup confuses webpack4 (but not parceljs). Since create-react-app uses webpack4, not doing this would make theatre incompatible with CRA.
2021-08-07 21:41:07 +02:00
Aria Minaei
0b783b82f7 Fixed the bug where chords would stay active when user switches to another window 2021-08-07 13:13:07 +02:00
Aria Minaei
62f363f6d4 Fixed the bug where Theatre's UI embedded in 3rd-party shadow dom wouldn't receive pointer events. 2021-08-07 13:12:35 +02:00
Aria Minaei
816e67a814 Stronger visual feedback for keyframe snapping 2021-08-07 11:18:01 +02:00
Aria Minaei
d93b1a18d2 0.4.0-dev.8 2021-08-06 11:47:08 +02:00
Aria Minaei
8754de9e7f Added prettier to yarn deploy 2021-08-06 11:44:20 +02:00
Aria Minaei
8a06f216a0 $'0.4.0-dev.7' 2021-08-05 23:38:28 +02:00
Aria Minaei
792850260a Fix for the snapping issue that occurs in production build 2021-08-05 17:23:37 +02:00
Aria Minaei
6e87323d7a 0.4.0-dev.6 2021-08-05 14:14:14 +02:00
Aria Minaei
74d718f652 Another one of those fixes 2021-08-05 14:13:05 +02:00
Aria Minaei
f11da93840 Fix for the cursor conflict bug in firefox 2021-08-05 14:10:28 +02:00
Aria Minaei
efad07011a 0.4.0-dev.5 2021-08-05 13:40:25 +02:00
Aria Minaei
5d315b8128 Fix for the bug where context menus aren't clickable 2021-08-05 13:38:51 +02:00
Aria Minaei
c2b5dca63b Simplified the deployment script
* Implemented yarn run deploy, which deploys all packages to npm, with the same version assigned to all of them.
2021-08-04 21:51:25 +02:00
Aria Minaei
4395c62b17 Playhead has a larger hit zone for snapping 2021-08-03 23:58:45 +02:00
Aria Minaei
197d59e4c4 Keyframe snapping
* Implemented useCursorLock() to lock the cursor icon during a gesture
* Keyframes now snap to other keyframes
* Keyframes snap to the playhead
* The playhead also snaps to keyframes
2021-08-03 23:56:04 +02:00
Aria Minaei
e6bfd999a2 Keyframe drag snapping 2021-08-03 12:17:10 +02:00
Aria Minaei
ae66ea90c6 LengthIndicator has a popover editor 2021-08-02 23:02:38 +02:00
Aria Minaei
ab37d1b21d Style and placement logic for usePopover() 2021-08-02 23:02:03 +02:00
Aria Minaei
58e9d9ff8b Editor popover for SequenceLengthIndicator 2021-08-02 21:06:58 +02:00
Aria Minaei
3745ce02ff UX tweak
* Playhead doesn't get occluded by other elements anymore
2021-08-02 15:03:38 +02:00
Aria Minaei
6d52d5d485 UX improvements
* SequenceLengthIndicator has a cleaner look
* It displays the time in the basic format now
2021-08-02 14:43:08 +02:00
Aria Minaei
314e46c6cf Style tweak 2021-08-01 18:14:20 +02:00
Aria Minaei
74b6f93872 Cleaner API for useFrameStampPosition() 2021-08-01 18:09:07 +02:00
Aria Minaei
0a3c699180 UX Improvements
* Length of the sequence has a clear indicator now
* The frame stamp snaps to the time of keyframes when they're hovered
* The frame stamp hides when hovering over elements over which it wouldn't be helpful
2021-08-01 17:43:59 +02:00
Aria Minaei
c6c37992ac LengthIndicator is now draggable 2021-08-01 09:55:43 +02:00
Aria Minaei
acf0283449 Indicate length of the sequence 2021-07-31 16:28:51 +02:00
Aria Minaei
2daa270879 UX improvements
* When clicking on empty space in the snapshot editor, the selection reverts to the sheet containing the scene
2021-07-31 15:10:08 +02:00
Aria Minaei
a695f3a1d6 Update docs links 2021-07-31 13:38:53 +02:00
Aria Minaei
66b6247d68 Tweaks to OutlinePanel 2021-07-30 22:00:02 +02:00
Aria Minaei
78935499ff Style tweak 2021-07-30 18:56:31 +02:00
Aria Minaei
215cd880f0 UX Improvements
* The cam state of SnapshotEditor cameras now persist
* Title bar for the prop editor
* Cleaned up the toolbar
2021-07-30 10:59:59 +02:00
Aria Minaei
d621794280 Style tweaks 2021-07-26 18:02:08 +02:00
Aria Minaei
307588dd31 Style tweaks 2021-07-26 15:33:07 +02:00
Aria Minaei
2ad093d3e3 UX tweak 2021-07-26 14:30:39 +02:00
Aria Minaei
dfb1a6ff01 Added play/pause keyboard shortcut 2021-07-26 14:30:09 +02:00
Aria Minaei
284f502bdf Attach keyboard shortcuts to undo/redo 2021-07-23 22:51:11 +02:00
Aria Minaei
325dade59d SequenceEditorPanel now doesn't show up if there are no sequences 2021-07-23 22:37:41 +02:00
Aria Minaei
a939abd017 Style tweaks 2021-07-23 22:34:26 +02:00
Aria Minaei
0a5e7e16b6 Style tweaks 2021-07-23 22:17:51 +02:00
Aria Minaei
e2ed343487 Fixed the glitch in SequenceEditorPanel's bg 2021-07-23 21:49:10 +02:00
Aria Minaei
bf30b4d8b4 ObjectEditorPanel now autohides 2021-07-23 21:46:18 +02:00
Aria Minaei
3d26f840ae OutlinePanel now autohides 2021-07-23 21:30:25 +02:00
Aria Minaei
09c9978713 Style tweaks 2021-07-23 16:47:58 +02:00
Aria Minaei
da230fbacc Style tweaks 2021-07-23 14:04:01 +02:00
Aria Minaei
2a773b4100 Housekeeping 2021-07-22 22:11:26 +02:00
Aria Minaei
ab7ed34f96 Style tweaks 2021-07-22 22:01:58 +02:00
Aria Minaei
ff0f8d557b Implement ToolbarSwitchSelect 2021-07-22 21:53:56 +02:00
Aria Minaei
20603afd40 Implement ToolbarIconButton 2021-07-22 21:26:34 +02:00
Aria Minaei
aec53b25d1 Better toggle for the graph editor 2021-07-16 23:59:26 +02:00
Aria Minaei
6558514852 Graph editor toggles automatically 2021-07-16 23:59:13 +02:00
Aria Minaei
aadb916f1a Implemented "close pane" 2021-07-16 23:37:24 +02:00
Aria Minaei
2a2ccf6085 Typo 2021-07-16 16:22:39 +02:00
Aria Minaei
d98ab07cbe SequenceEditorPanel has a slightly more minimal look now 2021-07-16 15:58:20 +02:00
Aria Minaei
f9e32fbade More tweaks 2021-07-16 15:42:01 +02:00
Aria Minaei
067a7cb145 Various improvements to SnapshotEditor 2021-07-16 15:06:15 +02:00
Aria Minaei
f06f18f838 More style tweaks 2021-07-16 14:05:51 +02:00
Aria Minaei
0fad598416 More style tweaks 2021-07-16 12:17:56 +02:00
Aria Minaei
ec563f430f Styling tweaks to compound prop editor 2021-07-16 11:31:33 +02:00
Aria Minaei
77f96e2082 More tweaks to the prop editors 2021-07-16 11:21:11 +02:00
Aria Minaei
022016b574 Styling tweaks to select editor 2021-07-16 11:17:12 +02:00