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

@@ -100,6 +100,10 @@ export {
SpecProvider, SpecProvider,
stopPropagation, stopPropagation,
} from '@blocksuite/affine-shared/utils'; } from '@blocksuite/affine-shared/utils';
export {
ViewportTurboRendererExtension,
ViewportTurboRendererIdentifier,
} from '@blocksuite/affine-shared/viewport-renderer';
export type { DragBlockPayload } from '@blocksuite/affine-widget-drag-handle'; export type { DragBlockPayload } from '@blocksuite/affine-widget-drag-handle';
const env: Record<string, unknown> = const env: Record<string, unknown> =

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

View File

@@ -238,6 +238,13 @@ export const AFFINE_FLAGS = {
configurable: BUILD_CONFIG.isMobileEdition, configurable: BUILD_CONFIG.isMobileEdition,
defaultState: false, 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 }; } satisfies { [key in string]: FlagInfo };
// oxlint-disable-next-line no-redeclare // oxlint-disable-next-line no-redeclare