Timeline keys can be copied and pasted at the playhead, duplicated with Ctrl+drag, and frames inserted or removed from a right-click menu (#102)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
195fc94e08
commit
bf02c9e8b3
11 files changed
+666
-23
No files matched your search
@@ -20,6 +20,7 @@ import { particleLibrary } from '../viewport/ParticleLibrary';
|
||||
import { shaderLibrary } from '../viewport/ShaderLibrary';
|
||||
import { soundLibrary } from '../viewport/SoundLibrary';
|
||||
import { textureLibrary } from '../viewport/TextureLibrary';
|
||||
import { currentFramesDialog } from './animation/FramesDialog';
|
||||
import { currentRowDialog } from './animation/RowDialog';
|
||||
import type { CentreTab, Editor } from './Editor';
|
||||
import { currentFontPicker } from './font/FontPicker';
|
||||
@@ -482,6 +483,16 @@ export function installDebugHook(app: Application, state: EditorState, editor: E
|
||||
/** The open row dialog: what it offers and holds, and a way to pick without clicking through menus. */
|
||||
rowDialog: () => currentRowDialog()?.debugInfo() ?? null,
|
||||
rowDialogPick: (target: string, property: string) => currentRowDialog()?.pick(target, property),
|
||||
/** Copy/paste and frames (#102): what the clipboard holds, and the open frames dialog. */
|
||||
clipboard: () => structuredClone(state.keyClipboard),
|
||||
framesDialog: () => currentFramesDialog()?.debugInfo() ?? null,
|
||||
framesDialogCount: (count: number) => currentFramesDialog()?.setCount(count),
|
||||
framesDialogConfirm: () => {
|
||||
const dialog = currentFramesDialog();
|
||||
if (!dialog) return null;
|
||||
const g = dialog.confirm.getGlobalPosition();
|
||||
return { x: g.x + dialog.confirm.w / 2, y: g.y + dialog.confirm.h / 2 };
|
||||
},
|
||||
/** The preview above the timeline (#99): where a row's target is drawn and with which values. */
|
||||
preview: {
|
||||
/** The id the preview draws a row's target under (`''` = the root itself). */
|
||||
|
||||
Reference in new issue
Block a user