This commit is contained in:
2026-05-23 20:49:32 +08:00
parent 12ea7273ef
commit f78de517ec
5 changed files with 245 additions and 310 deletions
+7 -11
View File
@@ -3,6 +3,7 @@
#include "core/workspace/ProjectWorkspace.h"
#include "main_window/RecentProjectHistory.h"
#include <QElapsedTimer>
#include <QMainWindow>
#include <QPointF>
#include <QFrame>
@@ -120,20 +121,18 @@ private:
void refreshPreviewPage();
void refreshEditorPage();
void applyTimelineFromProject();
/// 时间轴当前帧 → 画布:求值并回灌实体/工具/摄像机(不经 TimelineWidget::setCurrentFrame,避免触发 frameScrubbed
void applyTimelineFrameToEditor(int frame);
void updateTimelineTracks();
void refreshDopeSheet();
void setPreviewRequested(bool preview);
void syncPreviewPlaybackBar();
void syncPreviewFloatingChrome();
void stopEditorPlayback();
void stopPreviewPlayback();
void togglePreviewPlayback();
void startPreviewPlayback();
QString effectivePreviewAnimationId() const;
void refreshPreviewSchemeCombo();
void onPreviewSchemeComboChanged(int idx);
void switchPreviewSchemeAdjacent(int delta);
void requestPreviewSchemeSwitchTo(const QString& id, bool warmupDialog);
void updatePreviewEdgeArrowsHover(const QPointF& posInCanvasHost);
QVector<QString> previewAnimationSchemeIdsNonNone() const;
void syncHotspotEnterPreviewCombo();
@@ -222,6 +221,8 @@ private:
void updateRightDockColumnMinimumWidthFromContent();
bool m_timelineScrubbing = false;
/// 限制 scrub 时全量回灌频率,避免每像素一次 evaluate + 磁盘读图导致时间轴极卡
QElapsedTimer m_timelineEditorApplyThrottle;
bool m_entityDragging = false;
QTimer* m_propertySyncTimer = nullptr;
@@ -240,7 +241,6 @@ private:
QToolButton* m_btnRailAddHotspot = nullptr;
QToolButton* m_btnRailMoveHotspot = nullptr;
QToolButton* m_btnHotspotEnterPreview = nullptr;
QToolButton* m_previewBackToCanvasBtn = nullptr;
int m_previewFrame = 0;
bool m_previewPlaying = false;
QTimer* m_previewPlayTimer = nullptr;
@@ -257,11 +257,7 @@ private:
QPushButton* m_btnDopeDeleteKey = nullptr;
gui::EntityIntroPopup* m_entityIntroPopup = nullptr;
QFrame* m_previewPlaybackBar = nullptr;
QToolButton* m_previewBtnPlay = nullptr;
QComboBox* m_previewSchemeCombo = nullptr;
QToolButton* m_previewArrowLeft = nullptr;
QToolButton* m_previewArrowRight = nullptr;
QToolButton* m_previewBackToStaticBtn = nullptr;
gui::ResourceLibraryDock* m_resourceLibraryDockWidget = nullptr;
core::library::ResourceLibraryProvider* m_resourceLibraryProvider = nullptr;