Use "Theatre.js" for name consistency
Co-authored-by: Fülöp <fulopkovacs@users.noreply.github.com>
This commit is contained in:
parent
217f191981
commit
984a61347f
17 changed files with 31 additions and 31 deletions
4
.github/workflows/publish-prerelease.yml
vendored
4
.github/workflows/publish-prerelease.yml
vendored
|
@ -23,11 +23,11 @@ jobs:
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-yarn-
|
${{ runner.os }}-yarn-
|
||||||
- run: yarn install
|
- run: yarn install
|
||||||
- name: Build the theatre packages
|
- name: Build the Theatre.js packages
|
||||||
run: yarn build
|
run: yarn build
|
||||||
- name: Update .yarnrc.yml with the auth config for the npmPublishRegistry
|
- name: Update .yarnrc.yml with the auth config for the npmPublishRegistry
|
||||||
run: cat .github/.yarnrc.publish.yml >> .yarnrc.yml
|
run: cat .github/.yarnrc.publish.yml >> .yarnrc.yml
|
||||||
- name: Publish the theatre packages
|
- name: Publish the Theatre.js packages
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
# LATEST_COMMIT_HASH: ${{ github.event.pull_request.head.sha }}
|
# LATEST_COMMIT_HASH: ${{ github.event.pull_request.head.sha }}
|
||||||
|
|
|
@ -64,7 +64,7 @@ Read more at
|
||||||
### Hacking with `examples/`
|
### Hacking with `examples/`
|
||||||
|
|
||||||
Other than `playground`, the [`examples/`](./examples) folder contains a few
|
Other than `playground`, the [`examples/`](./examples) folder contains a few
|
||||||
small projects that use Theatre with [parcel](https://parceljs.org),
|
small projects that use Theatre.js with [parcel](https://parceljs.org),
|
||||||
[Create react app](create-react-app.dev), and other build tools. This means that
|
[Create react app](create-react-app.dev), and other build tools. This means that
|
||||||
unlike `playground`, you have to build all the packages before running the
|
unlike `playground`, you have to build all the packages before running the
|
||||||
examples.
|
examples.
|
||||||
|
@ -177,7 +177,7 @@ The [monorepo](https://en.wikipedia.org/wiki/Monorepo) consists of:
|
||||||
[`./theatre/studio`](./theatre/studio).
|
[`./theatre/studio`](./theatre/studio).
|
||||||
- `@theatre/dataverse` – The reactive dataflow library at
|
- `@theatre/dataverse` – The reactive dataflow library at
|
||||||
[`./packages/dataverse`](./packages/dataverse).
|
[`./packages/dataverse`](./packages/dataverse).
|
||||||
- `@theatre/react` – Utilities for using Theatre with React at
|
- `@theatre/react` – Utilities for using Theatre.js with React at
|
||||||
[`./packages/react`](./packages/react).
|
[`./packages/react`](./packages/react).
|
||||||
- `@theatre/r3f` – The react-three-fiber extension at
|
- `@theatre/r3f` – The react-three-fiber extension at
|
||||||
[`./packages/r3f`](./packages/r3f).
|
[`./packages/r3f`](./packages/r3f).
|
||||||
|
|
|
@ -20,7 +20,7 @@ Theatre.js is an animation library for high-fidelity motion graphics. It is
|
||||||
designed to help you express detailed animation, enabling you to create
|
designed to help you express detailed animation, enabling you to create
|
||||||
intricate movement, and convey nuance.
|
intricate movement, and convey nuance.
|
||||||
|
|
||||||
Theatre can be used both programmatically _and_ visually.
|
Theatre.js can be used both programmatically _and_ visually.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ The docs are at [docs.theatrejs.com](https://docs.theatrejs.com):
|
||||||
- [Animating with music](https://www.youtube.com/watch?v=QoS4gMxwq_4)
|
- [Animating with music](https://www.youtube.com/watch?v=QoS4gMxwq_4)
|
||||||
- [Yuri Artiukh](https://twitter.com/akella)'s
|
- [Yuri Artiukh](https://twitter.com/akella)'s
|
||||||
[stream](https://youtu.be/qmRqgFbNprM?t=3462) with a section on using
|
[stream](https://youtu.be/qmRqgFbNprM?t=3462) with a section on using
|
||||||
Theatre with THREE.js
|
Theatre.js with THREE.js
|
||||||
- \<Add your own tutorials here\>
|
- \<Add your own tutorials here\>
|
||||||
|
|
||||||
## Community and support
|
## Community and support
|
||||||
|
|
|
@ -4,7 +4,7 @@ import studio from '@theatre/studio'
|
||||||
import {getProject} from '@theatre/core'
|
import {getProject} from '@theatre/core'
|
||||||
import {Scene} from './Scene'
|
import {Scene} from './Scene'
|
||||||
/**
|
/**
|
||||||
* This is a basic example of using Theatre for manipulating the DOM.
|
* This is a basic example of using Theatre.js for manipulating the DOM.
|
||||||
*
|
*
|
||||||
* It also uses {@link IStudio.selection | studio.selection} to customize
|
* It also uses {@link IStudio.selection | studio.selection} to customize
|
||||||
* the selection behavior.
|
* the selection behavior.
|
||||||
|
|
|
@ -125,7 +125,7 @@ const EditableProxy: VFC<EditableProxyProps> = ({storeKey, object}) => {
|
||||||
useExtensionStore.getState().editables[storeKey].sheetObject
|
useExtensionStore.getState().editables[storeKey].sheetObject
|
||||||
|
|
||||||
if (!theatreObject) {
|
if (!theatreObject) {
|
||||||
console.log('no theatre object for', storeKey)
|
console.log('no Theatre.js object for', storeKey)
|
||||||
} else {
|
} else {
|
||||||
studio.setSelection([theatreObject])
|
studio.setSelection([theatreObject])
|
||||||
}
|
}
|
||||||
|
@ -172,7 +172,7 @@ const EditableProxy: VFC<EditableProxyProps> = ({storeKey, object}) => {
|
||||||
useExtensionStore.getState().editables[storeKey].sheetObject
|
useExtensionStore.getState().editables[storeKey].sheetObject
|
||||||
|
|
||||||
if (!theatreObject) {
|
if (!theatreObject) {
|
||||||
console.log('no theatre object for', storeKey)
|
console.log('no Theatre.js object for', storeKey)
|
||||||
} else {
|
} else {
|
||||||
studio.setSelection([theatreObject])
|
studio.setSelection([theatreObject])
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Theatre.js is an animation library for high-fidelity motion graphics. It is designed to help you express detailed animation, enabling you to create intricate movement, and convey nuance.
|
Theatre.js is an animation library for high-fidelity motion graphics. It is designed to help you express detailed animation, enabling you to create intricate movement, and convey nuance.
|
||||||
|
|
||||||
Theatre can be used both programmatically _and_ visually.
|
Theatre.js can be used both programmatically _and_ visually.
|
||||||
|
|
||||||
You can use Theatre.js to:
|
You can use Theatre.js to:
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ Join us on [Discord](https://discord.gg/bm9f8F9Y9N), follow the updates on [twit
|
||||||
|
|
||||||
## `@theatre/core`
|
## `@theatre/core`
|
||||||
|
|
||||||
Theatre comes in two packages: `@theatre/core` (the library) and `@theatre/studio` (the editor). This package is the core library.
|
Theatre.js comes in two packages: `@theatre/core` (the library) and `@theatre/studio` (the editor). This package is the core library.
|
||||||
|
|
||||||
## Bundle size
|
## Bundle size
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ function registerCoreBundle() {
|
||||||
*/
|
*/
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`It seems that the module '@theatre/core' is loaded more than once. This could have two possible causes:\n` +
|
`It seems that the module '@theatre/core' is loaded more than once. This could have two possible causes:\n` +
|
||||||
`1. You might have two separate versions of theatre in node_modules.\n` +
|
`1. You might have two separate versions of Theatre.js in node_modules.\n` +
|
||||||
`2. Or this might be a bundling misconfiguration, in case you're using a bundler like Webpack/ESBuild/Rollup.\n\n` +
|
`2. Or this might be a bundling misconfiguration, in case you're using a bundler like Webpack/ESBuild/Rollup.\n\n` +
|
||||||
`Note that it **is okay** to import '@theatre/core' multiple times. But those imports should point to the same module.`,
|
`Note that it **is okay** to import '@theatre/core' multiple times. But those imports should point to the same module.`,
|
||||||
)
|
)
|
||||||
|
|
|
@ -39,7 +39,7 @@ export type IProjectConfig = {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Theatre project
|
* A Theatre.js project
|
||||||
*/
|
*/
|
||||||
export interface IProject {
|
export interface IProject {
|
||||||
readonly type: 'Theatre_Project_PublicAPI'
|
readonly type: 'Theatre_Project_PublicAPI'
|
||||||
|
|
|
@ -136,7 +136,7 @@ export interface ISequence {
|
||||||
* Usage:
|
* Usage:
|
||||||
* ```ts
|
* ```ts
|
||||||
* // Loads and decodes audio from the URL and then attaches it to the sequence
|
* // Loads and decodes audio from the URL and then attaches it to the sequence
|
||||||
* await sheet.sequence.attachAudio({source: "https://localhost/audio.ogg"})
|
* await sheet.sequence.attachAudio({source: "https://localhost:3000/audio.mp3"})
|
||||||
* sheet.sequence.play()
|
* sheet.sequence.play()
|
||||||
*
|
*
|
||||||
* // Providing your own AudioAPI Context, destination, etc
|
* // Providing your own AudioAPI Context, destination, etc
|
||||||
|
@ -147,9 +147,9 @@ export interface ISequence {
|
||||||
* await sheet.sequence.attachAudio({source: audioBuffer, audioContext, destinationNode})
|
* await sheet.sequence.attachAudio({source: audioBuffer, audioContext, destinationNode})
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* Note: It's better to provide the `audioContext` rather than allow Theatre to create it.
|
* Note: It's better to provide the `audioContext` rather than allow Theatre.js to create it.
|
||||||
* That's because some browsers [suspend the audioContext](https://developer.chrome.com/blog/autoplay/#webaudio)
|
* That's because some browsers [suspend the audioContext](https://developer.chrome.com/blog/autoplay/#webaudio)
|
||||||
* unless it's initiated by a user gesture, like a click. If that happens, Theatre will
|
* unless it's initiated by a user gesture, like a click. If that happens, Theatre.js will
|
||||||
* wait for a user gesture to resume the audioContext. But that's probably not an
|
* wait for a user gesture to resume the audioContext. But that's probably not an
|
||||||
* optimal user experience. It is better to provide a button or some other UI element
|
* optimal user experience. It is better to provide a button or some other UI element
|
||||||
* to communicate to the user that they have to initiate the animation.
|
* to communicate to the user that they have to initiate the animation.
|
||||||
|
@ -190,7 +190,7 @@ export interface ISequence {
|
||||||
destinationNode: AudioNode
|
destinationNode: AudioNode
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is an intermediate GainNode that Theatre feeds its audio to. It is by default
|
* This is an intermediate GainNode that Theatre.js feeds its audio to. It is by default
|
||||||
* connected to destinationNode, but you can disconnect the gainNode and feed it to your own graph.
|
* connected to destinationNode, but you can disconnect the gainNode and feed it to your own graph.
|
||||||
*
|
*
|
||||||
* @example
|
* @example
|
||||||
|
@ -241,7 +241,7 @@ export default class TheatreSequence implements ISequence {
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
console.warn(
|
console.warn(
|
||||||
`You seem to have called sequence.play() before the project has finished loading.\n` +
|
`You seem to have called sequence.play() before the project has finished loading.\n` +
|
||||||
`This would **not** a problem in production when using '@theatre/core', since Theatre loads instantly in core mode. ` +
|
`This would **not** a problem in production when using '@theatre/core', since Theatre.js loads instantly in core mode. ` +
|
||||||
`However, when using '@theatre/studio', it takes a few milliseconds for it to load your project's state, ` +
|
`However, when using '@theatre/studio', it takes a few milliseconds for it to load your project's state, ` +
|
||||||
`before which your sequences cannot start playing.\n` +
|
`before which your sequences cannot start playing.\n` +
|
||||||
`\n` +
|
`\n` +
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import {TheatreLoggerLevel, _LoggerLevel} from './logger'
|
import {TheatreLoggerLevel, _LoggerLevel} from './logger'
|
||||||
import {_loggerShouldLog} from './logger'
|
import {_loggerShouldLog} from './logger'
|
||||||
|
|
||||||
describe('Theatre internal logger: shouldLog', () => {
|
describe('Theatre.js internal logger: shouldLog', () => {
|
||||||
testIncludes(
|
testIncludes(
|
||||||
'TRACE dev/internal',
|
'TRACE dev/internal',
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import {TheatreLoggerLevel} from './logger'
|
import {TheatreLoggerLevel} from './logger'
|
||||||
import {describeLogger} from './logger.test-helpers'
|
import {describeLogger} from './logger.test-helpers'
|
||||||
|
|
||||||
describeLogger('Theatre internal logger', (setup) => {
|
describeLogger('Theatre.js internal logger', (setup) => {
|
||||||
describe('default logger', () => {
|
describe('default logger', () => {
|
||||||
test('it reports public messages', () => {
|
test('it reports public messages', () => {
|
||||||
const t = setup().t()
|
const t = setup().t()
|
||||||
|
|
|
@ -159,7 +159,7 @@ export enum TheatreLoggerLevel {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal Theatre internal "dev" levels are odd numbers
|
* @internal Theatre.js internal "dev" levels are odd numbers
|
||||||
*
|
*
|
||||||
* You can check if a level is odd quickly by doing `level & 1 === 1`
|
* You can check if a level is odd quickly by doing `level & 1 === 1`
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Theatre.js is an animation library for high-fidelity motion graphics. It is designed to help you express detailed animation, enabling you to create intricate movement, and convey nuance.
|
Theatre.js is an animation library for high-fidelity motion graphics. It is designed to help you express detailed animation, enabling you to create intricate movement, and convey nuance.
|
||||||
|
|
||||||
Theatre can be used both programmatically _and_ visually.
|
Theatre.js can be used both programmatically _and_ visually.
|
||||||
|
|
||||||
You can use Theatre.js to:
|
You can use Theatre.js to:
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ Join us on [Discord](https://discord.gg/bm9f8F9Y9N), follow the updates on [twit
|
||||||
|
|
||||||
## `@theatre/studio`
|
## `@theatre/studio`
|
||||||
|
|
||||||
Theatre comes in two packages: `@theatre/core` (the library) and `@theatre/studio` (the editor). This package is the editor, which is only used during design/development.
|
Theatre.js comes in two packages: `@theatre/core` (the library) and `@theatre/studio` (the editor). This package is the editor, which is only used during design/development.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ type State =
|
||||||
let lastScrubIdAsNumber = 0
|
let lastScrubIdAsNumber = 0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The scrub API is a simple construct for changing values in Theatre in a history-compatible way.
|
* The scrub API is a simple construct for changing values in Theatre.js in a history-compatible way.
|
||||||
* Primarily, it can be used to create a series of value changes using a temp transaction without
|
* Primarily, it can be used to create a series of value changes using a temp transaction without
|
||||||
* creating multiple transactions.
|
* creating multiple transactions.
|
||||||
*
|
*
|
||||||
|
|
|
@ -16,7 +16,7 @@ export default class UI {
|
||||||
readonly containerShadow: ShadowRoot & HTMLElement
|
readonly containerShadow: ShadowRoot & HTMLElement
|
||||||
|
|
||||||
constructor(readonly studio: Studio) {
|
constructor(readonly studio: Studio) {
|
||||||
// @todo we can't bootstrap theatre (as in, to design theatre using theatre), if we rely on IDed elements
|
// @todo we can't bootstrap Theatre.js (as in, to design Theatre.js using theatre), if we rely on IDed elements
|
||||||
this.containerEl.id = 'theatrejs-studio-root'
|
this.containerEl.id = 'theatrejs-studio-root'
|
||||||
|
|
||||||
this.containerEl.style.cssText = `
|
this.containerEl.style.cssText = `
|
||||||
|
|
|
@ -60,7 +60,7 @@ export default function UIRoot() {
|
||||||
dev: INTERNAL_LOGGING,
|
dev: INTERNAL_LOGGING,
|
||||||
internal: INTERNAL_LOGGING,
|
internal: INTERNAL_LOGGING,
|
||||||
})
|
})
|
||||||
const logger = uiRootLogger.getLogger().named('Theatre UIRoot')
|
const logger = uiRootLogger.getLogger().named('Theatre.js UIRoot')
|
||||||
|
|
||||||
useKeyboardShortcuts()
|
useKeyboardShortcuts()
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ export default function UIRoot() {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (visiblityState === 'everythingIsHidden') {
|
if (visiblityState === 'everythingIsHidden') {
|
||||||
console.warn(
|
console.warn(
|
||||||
`Theatre Studio is hidden. Use the keyboard shortcut 'alt + \\' to restore the studio, or call studio.ui.restore().`,
|
`Theatre.js Studio is hidden. Use the keyboard shortcut 'alt + \\' to restore the studio, or call studio.ui.restore().`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return () => {}
|
return () => {}
|
||||||
|
|
|
@ -40,7 +40,7 @@ function registerStudioBundle() {
|
||||||
) {
|
) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`It seems that the module '@theatre/studio' is loaded more than once. This could have two possible causes:\n` +
|
`It seems that the module '@theatre/studio' is loaded more than once. This could have two possible causes:\n` +
|
||||||
`1. You might have two separate versions of theatre in node_modules.\n` +
|
`1. You might have two separate versions of Theatre.js in node_modules.\n` +
|
||||||
`2. Or this might be a bundling misconfiguration, in case you're using a bundler like Webpack/ESBuild/Rollup.\n\n` +
|
`2. Or this might be a bundling misconfiguration, in case you're using a bundler like Webpack/ESBuild/Rollup.\n\n` +
|
||||||
`Note that it **is okay** to import '@theatre/studio' multiple times. But those imports should point to the same module.`,
|
`Note that it **is okay** to import '@theatre/studio' multiple times. But those imports should point to the same module.`,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue