Commit graph

417 commits

Author SHA1 Message Date
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
ea3e7434c6 Fix e2e visual regression tests by always showing Updates badge in CI
- ensure that window.__IS_VISUAL_REGRESSION_TESTING is true when CI=1
2022-08-03 11:38:44 -04:00
Cole Lawrence
963b03ab6e dev: Add warning for unbound .tick() call 2022-08-03 11:38:44 -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
Cole Lawrence
8bd37a28d6 r3f fix: Pinching creates more than one undo level in r3f P-202
See https://linear.app/theatre/issue/P-202/pinching-creates-more-than-one-undo-level-in-r3f-history-bug
2022-08-02 16:06:15 -04: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
Cole Lawrence
58f04685ad r3f: Accept function for objRef like for setState 2022-07-25 12:01:26 -04:00
Cole Lawrence
415e493834 doc: Add doc to Ticker.raf 2022-07-25 12:01:26 -04:00
Cole Lawrence
a48155f8dc r3f readme: Update with corrected API 2022-07-25 12:01:26 -04:00
Cole Lawrence
5ca3edead8 dev: Fix r3f tsconfig to include TSX files 2022-07-25 12:01:26 -04:00
Cole Lawrence
11b5d175f4
Fix github checks (#263)
* Update dependencies which pass tests locally

* Break the yarn cache in an attempt to fix checks

* playground: Add wrapping error info for build.ts

* playground: Don't use dev mode in CI tests

* playground: Use tsc for typecheck

* playground: Specify working esbuild version 0.13.15

* playground: Use only promises in build.ts

* playground: Ensure serving in ci e2e

 * Add echo for vercel for build:static
2022-07-25 10:37:34 +02:00
Aria Minaei
a8176a36f7 0.5.0-rc.3 2022-07-12 18:37:04 +02:00
Aria Minaei
00a039a713 Fix exports of @theatre/r3f so it is consistently interpreted across bundlers
Before this commit, the exports field of `@theatre/r3f` was:

```
"exports": {
  ".": "./dist/index.js",
  "./extension": "./dist/extension/index.js"
 },
 ```
So users could import the extension from '@theatre/r3f/extension'

However, if the user’s bundler doesn’t support the exports field, they’d have to import from @theatre/r3f/dist/extension. There are 3 problems with this approach:

1. We have to ask users to try both paths and see which works for their bundler.
2. Users can’t copy code from each other if their bundler setups are different.
3. To make matters worse, if a user’s bundler supports exports, they can’t import from @theatre/r3f/dist/extension.

This is all confusing, so we're fixing it by exposing @theatrer/3f/dist/extension and not @theatre/r3f/extension. Uglier, but more consistent, and avoids the above 3 problems.
2022-07-12 17:49:09 +02:00
Aria Minaei
667f9d4fa2 Massive perf-gain in @theatre/react
Remove cold derivation reads

Prior to this commit, the first render of every `useDerivation()` resulted in a cold read of its inner derivation. Cold reads are predictably slow. The reason we'd run cold reads was to comply with react's rule of not running side-effects during render. (Turning a derivation hot is _technically_ a side-effect).

However, now that users are animating scenes with hundreds of objects in the same sequence, the lag started to be noticable.

This commit changes `useDerivation()` so that it turns its derivation hot before rendering them.

Freshen derivations before render

Previously in order to avoid the zombie child problem (https://kaihao.dev/posts/stale-props-and-zombie-children-in-redux) we deferred freshening the derivations to the render phase of components. This meant that if a derivation's dependencies changed, `useDerivation()` would schedule a re-render, regardless of whether that change actually affected the derivation's value. Here is a contrived example:

```
const num = new Box(1)
const isPositiveD = prism(() => num.derivation.getValue() >= 0)

const Comp = () => {
  return <div>{useDerivation(isPositiveD)}</div>
}

num.set(2) // would cause Comp to re-render- even though 1 is still a positive number
```

We now avoid this problem by freshening the derivation (i.e. calling `der.getValue()`) inside `runQueue()`, and then only causing a re-render if the derivation's value is actually changed.

This still avoids the zombie-child problem because `runQueue` reads the derivations in-order of their position in  the mounting tree.

On the off-chance that one of them still turns out to be a zombile child, `runQueue` will defer that particular `useDerivation()` to be read inside a normal react render phase.
2022-07-12 13:34:29 +02:00
Aria Minaei
cbfc8861b5 Add comment about bundling deps in r3f/extension 2022-07-08 14:08:57 +02:00
Aria Minaei
0631d02d31 0.5.0-rc.2 2022-07-07 22:34:51 +02:00
Aria Minaei
8d977ed6ba Don't minify @theatre/r3f/dist/extension.js 2022-07-07 22:34:51 +02:00
Aria Minaei
158923b376 Upgrade playwright and percy 2022-07-07 16:36:12 +02: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
d1ef903355
Enable hiding the reference window (#241) 2022-06-29 15:06:24 +00:00
Andrew Prifer
2b8a1e3ed1
Fix playground live reload multiplying connections on error in Chrome and Safari (#238) 2022-06-28 22:17:37 +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
Andrew Prifer
b98c5d86b6
Fix editable TS (#235)
Fix primitive not being supported by the typings
2022-06-28 15:06:55 +00:00
Elliot
006121da91
Fix extension buttons spacing, add extension example (#229)
* Fix extension buttons spacing & styles
* Refactor extension button styles
* Clean up extension prism
2022-06-26 16:00:59 +00:00
Elliot
2854881e17
Add support for passing scalars to vector props (#228)
Co-authored-by: Andrew Prifer <AndrewPrifer@users.noreply.github.com>
2022-06-26 15:47:20 +00:00
Cole Lawrence
7b337a9731 doc(playground dev): Live reload README.md
Co-authored-by: Elliot <key.draw@gmail.com>
2022-06-24 09:52:56 -04:00
Cole Lawrence
df05be3c1e dev playground: Remove mention and dependency on vite 2022-06-24 09:52:56 -04:00
Cole Lawrence
2a93aa3cdc dev playground: Watch and rewrite custom index.html files 2022-06-24 09:52:56 -04:00
Cole Lawrence
aa60556046 dev: Playground "dom" offsets new boxes 2022-06-24 09:52:56 -04:00
Cole Lawrence
f70eea1c48 dev: Playground enable custom html landing page 2022-06-24 09:52:56 -04:00
Cole Lawrence
6dc68d9ae9 fix playground navigation by disabling live-reload for iframed 2022-06-22 14:58:15 -04:00
Cole Lawrence
92921734e9 docs: Remove redundant doc comment 2022-06-22 14:58:15 -04:00
Andrew Prifer
0e724d631d
Reference window fixes and improvements (#227) 2022-06-18 17:37:09 +02:00
Andrew Prifer
262d7d61d3
r3f fixes (#222)
* Minify r3f extension bundle, because it is expected by the React dead code elimination check, since we bundle React in it

* Add children to props, since it is required by React 18 types

* Fix getting context attributes for gl in ReferenceWindow

* Don't bundle threejs in extension

* Fix editor not responding to scene initialization

* Fix SnapshotEditor css
2022-06-18 00:59:45 +00:00
Cole Lawrence
16e255fd57
dev: Initial playground re-design (#218)
Improve the landing page for playground items.
2022-06-17 19:23:35 +00:00
Cole Lawrence
df692427ca dev: Build playground files much faster and add watch 2022-06-16 17:10:43 -04:00
Cole Lawrence
87070bcdf3 dev playground: Start dev server even if first build is error + remove redundant error logs 2022-06-13 11:27:36 -04:00
Cole Lawrence
4d4d970278 dev playground: Support auto port assignment + refactor 2022-06-13 09:22:14 -04:00
Cole Lawrence
8f0f76df54 rename playground build.ts 2022-06-13 09:22:14 -04:00
Andrew Prifer
162174568b
Replace Vite with ESBuild for the playground (#213) 2022-06-13 12:47:07 +00:00
Andrew Prifer
34c7b06baf
Improve dom example performance (#208)
Apply animation in dom example in a performant way
2022-06-10 15:27:33 +02:00
Aria
4215d561d0
Upgrade percy (#207) 2022-06-10 13:16:34 +02:00
Cole Lawrence
f1844952ea
Add initial tools for managing derivations and React compatibility (#202)
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
Co-authored-by: Elliot <key.draw@gmail.com>
Co-authored-by: Aria <aria.minaei@gmail.com>
2022-06-09 19:12:40 +02:00
Elliot
bebf281517
Fix process.env.version in browser-bundles (#206)
* Fix `process.env.version` in browser-bundles

- also fix tsdoc warns in mjs files

Co-authored-by: Fülöp Kovács <kovacs.fulop@gmail.com>
Co-authored-by: Cole Lawrence <cole@colelawrence.com>

* Change to `process.env.THEATRE_VERSION`

Co-authored-by: Fülöp Kovács <kovacs.fulop@gmail.com>
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
2022-06-09 19:05:25 +02:00
Aria Minaei
f8bb2d7ae6 0.5.0-rc.1 2022-06-01 15:51:33 +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 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
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
Cole Lawrence
75a20c50ac Add "Example Namespace / *" to some objects in r3f-rocket 2022-05-20 07:46:17 -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
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
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
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
Andrew Prifer
fc9df7c346
Support multiple sheet instances (#153)
* Support multiple/nested sheets and sheet instances

* Add playground for instances

* Fix playground and example

* Change r3f's objectKey to storeKey to avoid confusion

* Update all editable/uniqueName variables used as store key to storeKey too

* Fix lint warnings
2022-05-16 12:43:45 +02:00
Andrew Prifer
10b4954ee2
Support fog editing in r3f second try (#163)
* Add support for editable fog

* Oops
2022-05-15 22:04:00 +02:00
Andrew Prifer
ef96fa1974
Revert "Merge pull request #161" (#162)
This reverts commit 5bd224ae86.
2022-05-15 22:00:54 +02:00
Andrew Prifer
5bd224ae86
Merge pull request #161
* Add support for editable fog
2022-05-15 21:54:02 +02:00
Andrew Prifer
3eba08ff32
Merge pull request #159
* Fix raycasting-related perf issues
2022-05-13 19:43:09 +02:00
Andrew Prifer
a3b1938d43
Remove debouncedScrub() from r3f (#147) 2022-05-06 14:07:29 +02:00
Aria Minaei
c6a7c40339 Fix the type errors from the rebase 2022-05-05 14:21:46 +02:00
Cole Lawrence
abd79b197f doc + optimize: prism.ts (use Maps) 2022-05-05 07:58:44 -04:00
Cole Lawrence
1387ce62d2 refactor: Add working Nominal types, clarify identifiers
* Use more Nominal types to help with internal code id usage consistency
 * Broke apart StudioHistoricState type

Co-authored-by: Aria <aria.minaei@gmail.com>
2022-05-05 07:58:44 -04:00
Andrew Prifer
c1e515a13f
Merge pull request #145
* Fix RefreshSnapshot component and make useRefreshSnapshot not a hook,…
2022-05-04 17:10:42 +02:00
Andrew Prifer
dceb3965d6
Make editable schema-based and add default schemas (#139)
* Make editable schema based and fix a couple UX issues

* Refactor the icons a bit

* Add support for points, lines, line segments, and line loops

* Adjust nudge multipliers

* Fix types

* Fix helpers not showing on hover in some cases
2022-05-04 16:43:44 +02:00
Andrew Prifer
d85e3053af
Fix r3f example not actually making the editable camera defined in the scene the defaul (#78)
* Fix e.perspectiveCamera -> editable(PerspectiveCamera)

* Also fix the one in the examples directory

* Update fix to latest version
2022-05-01 14:59:52 +02:00
Elliot
4b5f7adf21
Add hotness details to dataverse docs (#138)
* Add hotness details to dataverse docs

* Add reference for hot observables
2022-04-29 19:04:21 +02:00
Elliot
b6e0a217cd
Fix typo? (#137) 2022-04-28 15:11:20 -04:00
Cole Lawrence
909ffccafb
refactor: Improve identifiers in pointer.ts + use Map over object (#134)
Co-authored-by: Elliot <key.draw@gmail.com>
2022-04-27 22:21:51 +02:00
Fülöp
d6353aeb0b
Test vercel deployments (#133)
Move the vercel config to packages/playground after setting the root of the Vercel project to packages/plaground (in the Vercel webapp).
2022-04-27 15:34:30 +02:00
PaleHazy
a4c9b8d75a
isIdentityChangeProvider --> isIdentityDerivationProvider (#128) 2022-04-23 21:32:12 +02:00
Cole Lawrence
b10ae71b92
Fix example code in doc 2022-04-22 14:08:11 -04:00
Don McCurdy
dfd88c6b1e
Bump 'react-shadow' to v19.0.3 (#123) 2022-04-22 18:05:21 +02:00
Andrew Prifer
39da042edc
Fix various issues with the build system (#129)
* Fix react-icons breaking in CRA 5 for some reason

* Replace fuzzysort with fuzzy so we don't break Webpack

Webpack messes up esbuild’s internal modules if the inlined module is an AMD module. Check any new dep you add if it is an AMD module.

* Inline dataverse deps.

Mainly because the CJS build consuming the ESM lodash-es broke some bundlers.

* react-icons fix nr 2

* Stop eslint breaking in CRA 5

* Update r3f-cra example to CRA 5 and fix double-bundling react & co

* Fix r3f tree-shaking and switch to ESM only output

* Make r3f example shake studio and its extension in prod

* Examples have separate and wildly differing build setups so remove them from the pre-commit hook linting

* Update out-of-date yarn.lock
2022-04-21 22:03:51 +02:00
Cole Lawrence
48d0d18e10 Fix playground html dom tags 2022-04-20 11:23:29 -04:00
Aria Minaei
a2cee85ee8 @theatre/r3f 0.4.0-dev.23 2022-04-15 16:54:16 +02:00
Aria Minaei
5ab47c2ad2 0.4.8-dev.3 2022-04-15 13:28:14 +02:00
Aria Minaei
72ada325be Clarify the remark about the Pointer<O> type
https://github.com/theatre-js/theatre/pull/118#discussion_r846628315
2022-04-09 17:09:51 +02:00
Aria Minaei
bd8999f0f2 Deprecate OpaqueToPointers for now
https://github.com/theatre-js/theatre/pull/118#discussion_r846628039
2022-04-09 17:08:08 +02:00
Aria Minaei
c9959b9541 More lint fixes 2022-04-09 15:30:20 +02:00
Aria
16c070b6e9
Standardize handling of non-compound types (#118) 2022-04-09 15:02:39 +02:00
Cole Lawrence
77c7fc969f
Update GET_STARTED.md (#119) 2022-04-06 19:45:49 +02:00
Fulop
949fe935cb
Improve the documentation of dataverse (#116) 2022-04-06 17:28:08 +02:00
Elliot
0cc4f795a1
README: add theatre logo. Add/fix social links (#113)
* add theatre logo. Add/fix social links

* remove styles that don't work in github md

* Add more detailed getting started links to README

* change github links to use theatre-js org and autoformat
2022-04-05 13:29:40 -04:00
Aria
139c3ed556
Set up netlify builds (#100) 2022-03-18 15:58:26 +01:00
Aria Minaei
e2c98669f9 Document more of prism 2022-03-15 14:55:06 +01:00
Andrew Prifer
d522c84aac
Create a proper infinite grid helper (#95) 2022-03-04 15:06:48 +01:00
Aria Minaei
9dfe912f65 Get rid of the scrollbars in SnapshotEditor 2022-03-03 12:35:38 +01:00
Fulop
fb7467862b
Update the playground README.md (#93) 2022-03-03 09:46:01 +01:00
Aria Minaei
5f01ef0821 Fix the structure of the r3f playground 2022-03-02 23:13:31 +01:00
Aria
d0965d17e4
Set up end-to-end tests (#85) 2022-02-28 13:15:27 +01:00
Aria
3c369b435e
Use vite for playground (#84) 2022-02-27 21:25:15 +01:00
Aria Minaei
0d4d0c446e Fix the rest of the eslint warnings 2022-02-23 23:07:05 +01:00
Aria Minaei
aec6b2a251 Fix a bunch of eslint warnings 2022-02-23 22:53:39 +01:00
Andrew Prifer
bb2c7de299
Integrate Wallaby (#66) 2022-02-21 13:33:08 +01:00
Andrew Prifer
defb538561
Create color prop (#64)
Authored by andrew@theatrejs.com
2022-02-19 17:54:19 +01:00
Andrew Prifer
b643739ec7 Fix some TSDoc comments 2022-02-15 22:59:34 +01:00
Andrew Prifer
d0ce9f7046 Update @theatre/r3f README 2022-02-15 22:51:06 +01:00
Dan
72c7b2b9ce adding eslint-plugin-react-hooks plugin and fixing 1 error 2022-02-14 23:27:41 +01:00
Andrew Prifer
eff1f158bc Provide high level description for the 4 packages 2022-01-19 15:55:36 +01:00
Andrew Prifer
599cc101c9 Document dataverse API 2022-01-19 15:55:36 +01:00
Aria Minaei
2ddd3a1259 0.4.8-dev.2 2021-12-17 17:38:29 +00:00
Aria Minaei
607d6afe2b 0.4.8-dev.1 2021-11-25 18:39:17 +01:00
cory-glooh
4a65c6e91c
All prop sequencing (#48) 2021-11-02 14:50:08 +01:00
Aria Minaei
52f65af689 @theatre/r3f@0.4.0-dev.22 2021-10-28 19:32:20 +02:00
Or Fleisher
2204e771b3 Add ESM build to the R3F package and update package.json 2021-10-28 19:27:45 +02:00
Aria Minaei
0171fb88af Removed the prepublish checks from r3f for now 2021-10-14 18:52:19 +02:00
Aria Minaei
990338317a @theatre/r3f@0.4.0-dev.21 2021-10-14 18:49:34 +02:00
Aria Minaei
76533d9f82 0.4.7 2021-10-14 18:48:21 +02:00
Or Fleisher
9c7a491ca9 Remove additionalProps from the edtiable effect's dependencies 2021-10-13 20:23:35 +02:00
Or Fleisher
2794e0df26 Add ability to provide additional props to editable objects and get the sheet ref from the component 2021-10-13 20:23:35 +02:00
Aria Minaei
de6161e1cc 0.4.7-rc.1 2021-10-08 11:42:14 +02:00
Aria Minaei
ef91bf7229 More contribution docs 2021-10-06 10:21:55 +02:00
Aria Minaei
5873e65d4d More docs 2021-10-05 12:22:43 +02:00
Aria Minaei
f7cc267746 A simple README for @theatre/dataverse 2021-10-05 12:10:03 +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
4d49a8bdd6 playground now has a shared folder and a personal folder 2021-10-04 20:25:38 +02:00
Aria Minaei
69acb61f84 Renamed dataverse2 to dataverse-experiments 2021-10-04 20:06:12 +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
3e71d6dacc Removed dead code 2021-10-02 12:32:40 +02:00
Aria Minaei
4b2a6471dc 0.4.6 2021-10-01 17:49:04 +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
fcfe2cbef4 0.4.5-dev.1 2021-10-01 10:54:49 +02:00
Aria Minaei
972be000c8 Updated playground 2021-10-01 10:53:48 +02:00
Aria Minaei
b3945e2a61 0.4.4 2021-09-30 22:02:45 +02:00
Aria Minaei
097ff51a7a Implemented @theatre/browser-bundles 2021-09-30 21:58:22 +02:00
Aria Minaei
4a12a92428 0.4.3 2021-09-30 10:29:39 +02:00
Aria Minaei
2c4b317934 0.4.2 2021-09-22 21:18:48 +02:00
Aria Minaei
2232fe5662 0.4.1 2021-09-21 21:25:28 +02:00
Aria Minaei
bfaac10632 Fixed dependency typo, based on #13 2021-09-21 21:24:11 +02:00
Aria Minaei
fe4010c2c6 Properly handle sequence.play({range}) for range[0] > 0.
Fixes #15
2021-09-21 21:22:47 +02:00
Nikhil Saraf
769eefb5e5
Fix type in peer deps "raect-dom" -> "react-dom"
Fix type in peer deps "raect-dom" -> "react-dom"
2021-09-20 12:01:18 -07:00
Aria Minaei
f48038d649 0.4.0 2021-09-20 11:20:50 +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
a86e220bdc 0.4.0-dev.19 2021-09-14 12:43:58 +02:00
Aria Minaei
bbf77123b2 0.4.0-dev.18 2021-09-13 19:17:34 +02:00
Aria Minaei
a1712fce4a 0.4.0-dev.17 2021-09-13 18:50:52 +02:00
Aria Minaei
46f13759e5 0.4.0-dev.16 2021-09-13 18:06: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
f6cf3711f4 More progress on shorthand types 2021-09-06 11:26:00 +02:00
Aria Minaei
4f66d57cf8 Renamed @theatre/plugin-r3f to @theatre/r3f 2021-09-06 10:19:10 +02:00
Aria Minaei
03a2f26686 Added README.md for @theatre/r3f 2021-09-06 10:17:09 +02:00
Aria Minaei
be1e19036c Renamed the "snapshotEditor" pane to "snapshot" 2021-09-05 23:37:29 +02:00
Aria Minaei
5295f9ae91 r3f sheets are now re-usable 2021-09-05 23:33:17 +02:00
Aria Minaei
7af470a053 Made the extension mechanism in r3f explicit 2021-09-05 23:24:53 +02:00
Aria Minaei
2605401e06 Added support for multiple sheets in r3f 2021-09-05 23:21:18 +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
2ecf690a66 Fixed the dom playground 2021-09-05 22:16:14 +02:00
Aria Minaei
0ff68e5dbf 0.4.0-dev.14 2021-09-05 18:01:43 +02:00
Aria Minaei
400b55bf09 Bugfix 2021-09-05 17:45:51 +02:00
Aria Minaei
9955730876 API tweaks 2021-09-03 19:29:21 +02:00
Aria Minaei
46f19dddbc 0.4.0-dev.13 2021-09-02 12:20:14 +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
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
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
e6a4f3ae3f Implemented useRefreshSnapshot() and <RefreshSnapshot /> 2021-08-08 22:38:03 +02:00
Aria Minaei
d1fb0300e0 R3F now uses a single sheet in studio 2021-08-08 22:25:48 +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
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
7bc23d19e6 Better default position for SnapshotEditor's camera 2021-08-08 10:25:11 +02:00
Aria Minaei
1916747e8b Upgrade typescript 2021-08-08 10:12:23 +02:00
Aria Minaei
bafa819b39 0.4.0-dev.10 2021-08-07 23:39:55 +02:00
Aria Minaei
fee173d09f Removed prepack scripts
They're not needed, as everything is built from yarn deploy
2021-08-07 23:38:24 +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
7c759f2f6d Made plugin-r3f render on demand 2021-08-07 21:17:29 +02:00
Aria Minaei
816e67a814 Stronger visual feedback for keyframe snapping 2021-08-07 11:18:01 +02:00
Aria Minaei
f4c2fb2a08 Moved examples to a separate folder 2021-08-06 12:00:19 +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
327298f089 Corrected plugin-r3f's deps 2021-08-06 11:43:33 +02:00
Aria Minaei
8a06f216a0 $'0.4.0-dev.7' 2021-08-05 23:38:28 +02:00
Aria Minaei
6e87323d7a 0.4.0-dev.6 2021-08-05 14:14:14 +02:00
Aria Minaei
efad07011a 0.4.0-dev.5 2021-08-05 13:40:25 +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
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