mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-17 14:27:02 +08:00
This PR refactored the turbo renderer architecture to support multiple block layout types. - New base class `BlockLayoutPainter` and `BlockLayoutProvider` are introduced for writing extendable per-block layout querying and painting logic. - Paragraph-specific lines are all moved into dedicated classes (`ParagraphLayoutProvider` and `ParagraphLayoutPainter`) under the `/variants/paragraph` dir. - The `renderer-utils.ts` doesn't contain paragraph-specific logic now. - The `text-utils.ts` is also now scoped for paragraph only. - Worker messages are now strongly typed. Upcoming PR should further implement the block registration system using extension API. The `variants` dir could still exist, since there will be similar rendering logic that can be reused among block types (i.e., between paragraph block and list block).
36 lines
886 B
JSON
36 lines
886 B
JSON
{
|
|
"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:*",
|
|
"@blocksuite/store": "workspace:*",
|
|
"@types/lodash-es": "^4.17.12",
|
|
"lodash-es": "^4.17.21",
|
|
"rxjs": "^7.8.1",
|
|
"tweakpane": "^4.0.5"
|
|
},
|
|
"exports": {
|
|
".": "./src/index.ts",
|
|
"./painter": "./src/painter/painter.worker.ts"
|
|
},
|
|
"files": [
|
|
"src",
|
|
"dist",
|
|
"!src/__tests__",
|
|
"!dist/__tests__"
|
|
],
|
|
"version": "0.20.0"
|
|
}
|