Chore: Small refactor of r3f's store
This commit is contained in:
parent
94261107fb
commit
d416da5a2f
3 changed files with 18 additions and 28 deletions
|
@ -1,4 +1,4 @@
|
|||
import {editable as e, configure} from '@theatre/plugin-r3f'
|
||||
import {editable as e, bindToCanvas} from '@theatre/plugin-r3f'
|
||||
import {PerspectiveCamera} from '@react-three/drei'
|
||||
import {getProject} from '@theatre/core'
|
||||
import * as THREE from 'three'
|
||||
|
@ -11,8 +11,6 @@ import type {$FixMe} from '../../../plugin-r3f/src/types'
|
|||
|
||||
const ECamera = e(PerspectiveCamera, 'perspectiveCamera')
|
||||
|
||||
const bindToCanvas = configure({})
|
||||
|
||||
// Soft shadows are expensive, comment and refresh when it's too slow
|
||||
softShadows()
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ export {default as EditorHelper} from './components/EditorHelper'
|
|||
export type {EditorHelperProps} from './components/EditorHelper'
|
||||
|
||||
export {default as editable} from './components/editable'
|
||||
export {configure} from './store'
|
||||
export {bindToCanvas} from './store'
|
||||
export type {EditableState, BindFunction} from './store'
|
||||
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
|
|
|
@ -208,12 +208,6 @@ export type EditorStore = {
|
|||
) => void
|
||||
}
|
||||
|
||||
interface PersistedState {
|
||||
canvases: {
|
||||
[name: string]: EditableState
|
||||
}
|
||||
}
|
||||
|
||||
const config: StateCreator<EditorStore> = (set, get) => {
|
||||
setTimeout(() => {
|
||||
const existingHandler = DefaultLoadingManager.onProgress
|
||||
|
@ -408,23 +402,21 @@ export type BindFunction = (options: {
|
|||
sheet: ISheet
|
||||
}) => (options: {gl: WebGLRenderer; scene: Scene}) => void
|
||||
|
||||
export const configure = ({} = {}): BindFunction => {
|
||||
return ({
|
||||
allowImplicitInstancing = false,
|
||||
state,
|
||||
editorCamera = {},
|
||||
sheet,
|
||||
}) => {
|
||||
return ({gl, scene}) => {
|
||||
const init = useEditorStore.getState().init
|
||||
init(
|
||||
scene,
|
||||
gl,
|
||||
allowImplicitInstancing,
|
||||
{...{position: [20, 20, 20]}, ...editorCamera},
|
||||
sheet,
|
||||
state,
|
||||
)
|
||||
}
|
||||
export const bindToCanvas: BindFunction = ({
|
||||
allowImplicitInstancing = false,
|
||||
state,
|
||||
editorCamera = {},
|
||||
sheet,
|
||||
}) => {
|
||||
return ({gl, scene}) => {
|
||||
const init = useEditorStore.getState().init
|
||||
init(
|
||||
scene,
|
||||
gl,
|
||||
allowImplicitInstancing,
|
||||
{...{position: [20, 20, 20]}, ...editorCamera},
|
||||
sheet,
|
||||
state,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue