chore(editor): add feature flag entry for testing turbo renderer (#10581)

The debug pane will be displayed once the `enable_turbo_renderer` feature flag is enabled.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/c1ba558a-2d84-403c-aa81-864b0338c861.png)
This commit is contained in:
doodlewind
2025-03-04 05:38:44 +00:00
parent 1c29d0e269
commit c418e89fb9
3 changed files with 24 additions and 1 deletions

View File

@@ -21,7 +21,11 @@ import { toURLSearchParams } from '@affine/core/modules/navigation';
import { PeekViewService } from '@affine/core/modules/peek-view/services/peek-view';
import { WorkspaceService } from '@affine/core/modules/workspace';
import track from '@affine/track';
import type { DocMode, DocTitle } from '@blocksuite/affine/blocks';
import {
type DocMode,
type DocTitle,
ViewportTurboRendererExtension,
} from '@blocksuite/affine/blocks';
import type { Store } from '@blocksuite/affine/store';
import {
useFramework,
@@ -132,6 +136,10 @@ const usePatchSpecs = (mode: DocMode) => {
const enableAI = useEnableAI();
const enableTurboRenderer = useLiveData(
featureFlagService.flags.enable_turbo_renderer.$
);
const patchedSpecs = useMemo(() => {
const builder = enableEditorExtension(framework, mode, enableAI);
@@ -147,6 +155,9 @@ const usePatchSpecs = (mode: DocMode) => {
patchQuickSearchService(framework),
patchSideBarService(framework),
patchDocModeService(docService, docsService, editorService),
mode === 'edgeless' && enableTurboRenderer
? [ViewportTurboRendererExtension]
: [],
].flat()
);
@@ -173,6 +184,7 @@ const usePatchSpecs = (mode: DocMode) => {
referenceRenderer,
featureFlagService,
enableAI,
enableTurboRenderer,
]);
return [

View File

@@ -238,6 +238,13 @@ export const AFFINE_FLAGS = {
configurable: BUILD_CONFIG.isMobileEdition,
defaultState: false,
},
enable_turbo_renderer: {
category: 'affine',
displayName: 'Enable Turbo Renderer',
description: 'Enable experimental edgeless turbo renderer',
configurable: isCanaryBuild,
defaultState: false,
},
} satisfies { [key in string]: FlagInfo };
// oxlint-disable-next-line no-redeclare