Commit graph

762 commits

Author SHA1 Message Date
Andrew Prifer
c0fd71e4f9
Perfectly precise selections (#195)
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-06-06 12:24:50 +02:00
Fülöp
c33467b4d0
Fix the height of the "new update"-text (#191)
Make sure that the version number of the container does not overflow to the next menu item
2022-06-01 21:42:12 +02:00
Aria Minaei
f8bb2d7ae6 0.5.0-rc.1 2022-06-01 15:51:33 +02:00
Aria Minaei
b04ce6e993 Fix yarnrc 2022-06-01 15:50:46 +02:00
Andrew Prifer
763d37aee3
UI fixes (#187)
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-06-01 14:46:37 +02:00
Aria
a9e86113ba
A basic update checker (#186) 2022-05-31 23:19:42 +02:00
Andrew Prifer
832c128c43 Fix react dep list 2022-05-30 13:17:33 -04:00
Cole Lawrence
eb15229463 Reorganize AggregateKeyframeEditor 2022-05-30 13:17:33 -04:00
Cole Lawrence
f222cc61dd fix: Ensure that AggregateKeyframes don't get recreated when dragging
Co-authored-by: Andrew Prifer <2991360+AndrewPrifer@users.noreply.github.com>
2022-05-30 13:17:33 -04:00
Cole Lawrence
243e77efe8 refactor/fix usePopover: dragging and closing when distant 2022-05-30 13:17:33 -04:00
Cole Lawrence
1862625433 docs(usePointerCapturing): Add info about why 2022-05-30 13:17:33 -04:00
Cole Lawrence
782e0f621e doc: Why useLockFrameStampPosition in useDragForSingleKeyframeDot
Co-authored-by: Andrew Prifer <2991360+AndrewPrifer@users.noreply.github.com>
2022-05-30 13:17:33 -04:00
Cole Lawrence
07febee992 fix: useLockFrameStampPosition not enough deps
Co-authored-by: Andrew Prifer <2991360+AndrewPrifer@users.noreply.github.com>
2022-05-30 13:17:33 -04:00
Cole Lawrence
adc712c205 refactor(layout): less needed for getDragHandlers
Co-authored-by: Andrew Prifer <2991360+AndrewPrifer@users.noreply.github.com>
2022-05-30 13:17:33 -04:00
Cole Lawrence
a5472e1047 docs + Nominals for ephemeral project root 2022-05-30 13:17:33 -04:00
Aria Minaei
9d767a08ac Hotfix for the aggregate tracks not getting updated on changes
Co-authored-by: Fülöp <fulopkovacs@users.noreply.github.com>
2022-05-30 16:43:01 +02:00
Elliot
564e54c314
Single tween editor for aggregate rows (#178)
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-05-29 13:12:30 +02:00
Aria
9b4aa4b0e0
Make @theatre/r3f play well with different vs of react,three,r3f #177 2022-05-27 21:59:51 +02:00
Cole Lawrence
e8c440f357
feature/2022-05/display aggregate keyframes in sequence editor (#170)
Co-authored-by: Fülöp <fulopkovacs@users.noreply.github.com>
Co-authored-by: Fülöp Kovács <kovacs.fulop@gmail.com>
2022-05-26 14:10:54 +02:00
Aria
d83d2b558c
Compound prop context menu (#157) 2022-05-26 01:18:45 +02:00
Elliot
cfbb6ab043 multi-curve curve popover editing (#176)
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-05-25 21:28:17 +02:00
Andrew Prifer
0690a85ae2
UI improvements/sidebar pinning (#175)
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-05-25 20:42:01 +02:00
Aria
ec18687a98
Re-do bundling, compat tests, and extension API (#174) 2022-05-25 00:37:18 +02:00
Cole Lawrence
5ee9a2543f playground(dom): Add nested compound prop "favoriteFood" 2022-05-23 12:46:30 -04:00
Aria
d36b336fdd
Set up manual compatibility tests (#171) 2022-05-20 18:52:57 +02:00
Cole Lawrence
e28a084dbb fix(studio): Duplicate keys in NamespaceTree 2022-05-20 12:02:38 -04:00
Cole Lawrence
9cf5c38aee
fix: useDrag now properly updates isDragging for React cycle (#173) 2022-05-20 17:36:25 +02:00
Cole Lawrence
bfc877ca8f style(OutlinePanel): remove hover highlight from .not-selectable header 2022-05-20 07:46:17 -04:00
Cole Lawrence
75a20c50ac Add "Example Namespace / *" to some objects in r3f-rocket 2022-05-20 07:46:17 -04:00
Cole Lawrence
6b18054750 Add namespacing to Outline Panel 2022-05-20 07:46:17 -04:00
vezwork
0fa9608587 docs: add comment about topSoFar 2022-05-20 07:37:35 -04:00
vezwork
b84f2eb106 Refactor collapsing to be calculated in tree.
Co-authored-by: Fülöp <fulopkovacs@users.noreply.github.com>
2022-05-20 07:37:35 -04:00
Cole Lawrence
bc5e687250 docs: slashPaths normalizeSlashedPath 2022-05-20 07:37:35 -04:00
Cole Lawrence
f6e408f610 feature: Add sequence editor row collapsing
* Add hover state for chevron
 * Add StudioSheetItemKey id for use with sequenceEditorCollapsableItems

Co-authored-by: Elliot <key.draw@gmail.com>
2022-05-20 07:37:35 -04:00
Cole Lawrence
6fd718a6e7 refactor: Remove unused styled components in PropWithChildrenRow 2022-05-20 07:37:35 -04:00
Cole Lawrence
79f2424a8a refactor for useTooltip remove unnecessary as $IntentionalAny 2022-05-20 07:37:35 -04:00
Cole Lawrence
9400aa12a1 refactor: Assorted VFCs, dead code removal, use Nominals in ahistoric 2022-05-20 07:37:35 -04:00
Cole Lawrence
84daaaf94a dev: Add configurable ITheatreLogger
Addresses the lack of options we currently have for surfacing issues in
our application via debugging tools. Prioritizes performance and
usability (visually) over clarity in some places that could have been
object mapped.

A logger with three separate audiences:

 * `internal`: Logs for developers maintaining Theatre.js
 * `dev`: Logs for developers using Theatre.js
 * `public`: Logs for everyone

This logger supports:
 * multiple logging levels (error, warn, debug, trace),
 * multiple audience levels (internal, dev, public),
 * multiple categories (general, todo, troubleshooting)
 * named and keyed loggers (e.g.
   `rootLogger.named("Project", project.id)`)
 * console styling with deterministic coloring
 * console devtool maintains accurate sourcemap link to logging origin
   (e.g. `coreExports.ts:71` as opposed to `logger.ts:45` or whatever)
 * swappable logger
 * customizable filtering
 * Accepts lazy `args`: `args: () => object` via
  `logger.lazy.<level>("message", () => <expensive computation>)` (e.g.
  `logger.lazy.debugDev("Loaded project state", () => ({ save: bigProject.exportToSaveable() }))`)
2022-05-19 16:34:34 -04:00
Cole Lawrence
5d61060828 fix(useDrag): Refactor to separate detection
* Remove unecessary `modeRef`
 * Use "Domain modeling" principles to enforce state
2022-05-19 13:15:05 -04:00
vezwork
1f7206a66f Replace few usages of useRefAndState with useState 2022-05-19 13:15:05 -04:00
vezwork
c5ccb8c28d Add shouldPointerLock to useDrag, BasicNumberInput 2022-05-19 13:15:05 -04:00
vezwork
b547282d95 Remove DraggableArea in favor of useDrag 2022-05-19 13:15:05 -04:00
Don McCurdy
386a8fafac
theatre/r3f: Allow physical lighting in snapshot viewport (#114)
Co-authored-by: Andrew Prifer <andrew.prifer@gmail.com>
2022-05-19 12:48:59 +02:00
Aria Minaei
c15c88fcec Fix the quoting issue in the prerelease script 2022-05-19 12:43:31 +02:00
Aria Minaei
e8272862c7 Add a command output to the prerelease script 2022-05-19 12:33:31 +02:00
Andrew Prifer
95d4e1d315
Create reference window for r3f (#169)
* Add reference window (and fix tooltips)

* Replace image with data url so the build doesn't fail
2022-05-18 17:04:07 +02:00
Fülöp
8520c74116 Automatically publish prereleases to npm (#155)
This commit creates `x.x.x-insiders.COMMIT_HASH` builds of all of our public packages, and publishes them to npm with the `insiders` tag, so one could say `npm install @theatre/core@0.4.8-insiders.bsdf387` and use the package at that particular commit.

Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-05-18 12:39:35 +02:00
Fülöp
3d10325873
Add tests for Theatre.js + popular setups in the ecosystem (#165)
This implements some basic infra for testing Theatre.js with popular setups such as npm/yarn/pnpm, webpack/vite/parcel, js/ts, etc.

So far, the only existing setup has been with create-react-app. Will add more in the future.

Co-authored-by: Fülöp <fulopkovacs@users.noreply.github.com>
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-05-17 20:53:01 +02:00
Cole Lawrence
2324218453
Implement inline keyframe editing (#135)
* refactor: improve idents near DeterminePropEditor

* fix: Allow `MouseEvent` for `usePopover` `OpenFn`
 * Anticipate to be used with `useDrag` (which is written using `MouseEvent`s)

* refactor: rename local variable depth to visualIndentation

* fix: Hide out of bounds LengthIndicator

* pointer: Fix type errors with `getPointerParts` using generics

 * Fix param type for `getPointerMeta`

* Inline keyframe editor + popover nesting
 * Complete inline editor,
 * add reason for close popover, &
 * enable popover nesting
 * enable inline keyframe editing with splitting of DeterminePropEditor
 * usePopover has PopoverAutoCloseLock helper

Co-authored-by: Elliot <key.draw@gmail.com>
Co-authored-by: Aria <aria.minaei@gmail.com>

* prop editor: Reorganize prop-editors & improve documentation

Co-authored-by: Cole Lawrence <cole@colelawrence.com>
Co-authored-by: Elliot <key.draw@gmail.com>

Co-authored-by: Elliot <key.draw@gmail.com>
Co-authored-by: Aria <aria.minaei@gmail.com>
2022-05-16 14:14:47 +02:00
Cole Lawrence
e140bb6fc4
docs: Minor adjustments to Curve docs (#160) 2022-05-16 07:53:56 -04:00