Merge pull request #10745 from toeverything/doodl/gfx-turbo-renderer

refactor(editor): add gfx turbo renderer package
This commit is contained in:
Yifeng Wang
2025-03-11 12:48:31 +08:00
committed by GitHub
21 changed files with 80 additions and 11 deletions
+2
View File
@@ -37,6 +37,7 @@
"@blocksuite/affine-fragment-frame-panel": "workspace:*",
"@blocksuite/affine-fragment-outline": "workspace:*",
"@blocksuite/affine-gfx-text": "workspace:*",
"@blocksuite/affine-gfx-turbo-renderer": "workspace:*",
"@blocksuite/affine-model": "workspace:*",
"@blocksuite/affine-rich-text": "workspace:*",
"@blocksuite/affine-shared": "workspace:*",
@@ -106,6 +107,7 @@
"./fragments/frame-panel": "./src/fragments/frame-panel.ts",
"./fragments/outline": "./src/fragments/outline.ts",
"./gfx/text": "./src/gfx/text.ts",
"./gfx/turbo-renderer": "./src/gfx/turbo-renderer.ts",
"./components/block-selection": "./src/components/block-selection.ts",
"./components/block-zero-width": "./src/components/block-zero-width.ts",
"./components/caption": "./src/components/caption.ts",
@@ -0,0 +1 @@
export * from '@blocksuite/affine-gfx-turbo-renderer';
@@ -1 +0,0 @@
export * from '@blocksuite/affine-shared/viewport-renderer';
+1
View File
@@ -31,6 +31,7 @@
{ "path": "../fragments/fragment-frame-panel" },
{ "path": "../fragments/fragment-outline" },
{ "path": "../gfx/text" },
{ "path": "../gfx/turbo-renderer" },
{ "path": "../model" },
{ "path": "../rich-text" },
{ "path": "../shared" },
@@ -0,0 +1,32 @@
{
"name": "@blocksuite/affine-gfx-turbo-renderer",
"description": "Turbo renderer for viewport in BlockSuite.",
"type": "module",
"scripts": {
"build": "tsc",
"test:unit": "nx vite:test --run --passWithNoTests",
"test:unit:coverage": "nx vite:test --run --coverage",
"test:e2e": "playwright test"
},
"sideEffects": false,
"keywords": [],
"author": "toeverything",
"license": "MIT",
"dependencies": {
"@blocksuite/block-std": "workspace:*",
"@blocksuite/global": "workspace:*",
"@types/lodash-es": "^4.17.12",
"lodash-es": "^4.17.21",
"tweakpane": "^4.0.5"
},
"exports": {
".": "./src/index.ts"
},
"files": [
"src",
"dist",
"!src/__tests__",
"!dist/__tests__"
],
"version": "0.20.0"
}
@@ -0,0 +1,2 @@
export * from './turbo-renderer.js';
export * from './types.js';
@@ -8,12 +8,12 @@ import {
import { Pane } from 'tweakpane';
import { getSentenceRects, segmentSentences } from './text-utils.js';
import type { ViewportTurboRendererExtension } from './turbo-renderer.js';
import type {
ParagraphLayout,
RenderingState,
ViewportLayout,
} from './types.js';
import type { ViewportTurboRendererExtension } from './viewport-renderer.js';
export function syncCanvasSize(canvas: HTMLCanvasElement, host: HTMLElement) {
const hostRect = host.getBoundingClientRect();
@@ -0,0 +1,13 @@
{
"extends": "../../../tsconfig.json",
"compilerOptions": {
"rootDir": "./src",
"outDir": "./dist",
"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo"
},
"include": ["./src"],
"references": [
{ "path": "../../../framework/block-std" },
{ "path": "../../../framework/global" }
]
}
-2
View File
@@ -47,7 +47,6 @@
"remark-math": "^6.0.0",
"remark-parse": "^11.0.0",
"remark-stringify": "^11.0.0",
"tweakpane": "^4.0.5",
"unified": "^11.0.5",
"yjs": "^13.6.21",
"zod": "^3.23.8"
@@ -62,7 +61,6 @@
"./theme": "./src/theme/index.ts",
"./styles": "./src/styles/index.ts",
"./services": "./src/services/index.ts",
"./viewport-renderer": "./src/viewport-renderer/index.ts",
"./adapters": "./src/adapters/index.ts"
},
"files": [
@@ -1,2 +0,0 @@
export * from './types.js';
export * from './viewport-renderer.js';
@@ -1,4 +1,4 @@
import { ViewportTurboRendererExtension } from '@blocksuite/affine-shared/viewport-renderer';
import { ViewportTurboRendererExtension } from '@blocksuite/affine-gfx-turbo-renderer';
import { beforeEach, describe, expect, test } from 'vitest';
import { wait } from '../utils/common.js';
@@ -1,7 +1,7 @@
import {
ViewportTurboRendererExtension,
ViewportTurboRendererIdentifier,
} from '@blocksuite/affine-shared/viewport-renderer';
} from '@blocksuite/affine/gfx/turbo-renderer';
import { addSampleNotes } from './doc-generator.js';
import { setupEditor } from './setup.js';
@@ -20,7 +20,7 @@ import {
CommunityCanvasTextFonts,
FontConfigExtension,
} from '@blocksuite/affine/shared/services';
import type { ViewportTurboRendererExtension } from '@blocksuite/affine-shared/viewport-renderer';
import type { ViewportTurboRendererExtension } from '@blocksuite/affine-gfx-turbo-renderer';
import { Schema, Text } from '@blocksuite/store';
import {
createAutoIncrementIdGenerator,