@retikz/vanilla 0.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +50 -0
- package/dist/es/builder/coordinate.d.ts +8 -0
- package/dist/es/builder/coordinate.d.ts.map +1 -0
- package/dist/es/builder/coordinate.js +13 -0
- package/dist/es/builder/draw.d.ts +8 -0
- package/dist/es/builder/draw.d.ts.map +1 -0
- package/dist/es/builder/draw.js +14 -0
- package/dist/es/builder/figure.d.ts +21 -0
- package/dist/es/builder/figure.d.ts.map +1 -0
- package/dist/es/builder/figure.js +13 -0
- package/dist/es/builder/isFigure.d.ts +6 -0
- package/dist/es/builder/isFigure.d.ts.map +1 -0
- package/dist/es/builder/isFigure.js +7 -0
- package/dist/es/builder/node.d.ts +9 -0
- package/dist/es/builder/node.d.ts.map +1 -0
- package/dist/es/builder/node.js +20 -0
- package/dist/es/builder/scope.d.ts +23 -0
- package/dist/es/builder/scope.d.ts.map +1 -0
- package/dist/es/builder/scope.js +45 -0
- package/dist/es/builder/types.d.ts +26 -0
- package/dist/es/builder/types.d.ts.map +1 -0
- package/dist/es/figure.d.ts +26 -0
- package/dist/es/figure.d.ts.map +1 -0
- package/dist/es/figure.js +66 -0
- package/dist/es/index.d.ts +20 -0
- package/dist/es/index.d.ts.map +1 -0
- package/dist/es/index.js +8 -0
- package/dist/es/mountSvg.d.ts +10 -0
- package/dist/es/mountSvg.d.ts.map +1 -0
- package/dist/es/mountSvg.js +48 -0
- package/dist/es/renderToSvgString.d.ts +8 -0
- package/dist/es/renderToSvgString.d.ts.map +1 -0
- package/dist/es/renderToSvgString.js +23 -0
- package/dist/es/svgNodeToDom.d.ts +14 -0
- package/dist/es/svgNodeToDom.d.ts.map +1 -0
- package/dist/es/svgNodeToDom.js +26 -0
- package/dist/es/toScene.d.ts +10 -0
- package/dist/es/toScene.d.ts.map +1 -0
- package/dist/es/toScene.js +18 -0
- package/dist/es/types.d.ts +28 -0
- package/dist/es/types.d.ts.map +1 -0
- package/dist/lib/builder/coordinate.cjs +13 -0
- package/dist/lib/builder/coordinate.d.ts +8 -0
- package/dist/lib/builder/coordinate.d.ts.map +1 -0
- package/dist/lib/builder/draw.cjs +14 -0
- package/dist/lib/builder/draw.d.ts +8 -0
- package/dist/lib/builder/draw.d.ts.map +1 -0
- package/dist/lib/builder/figure.cjs +13 -0
- package/dist/lib/builder/figure.d.ts +21 -0
- package/dist/lib/builder/figure.d.ts.map +1 -0
- package/dist/lib/builder/isFigure.cjs +8 -0
- package/dist/lib/builder/isFigure.d.ts +6 -0
- package/dist/lib/builder/isFigure.d.ts.map +1 -0
- package/dist/lib/builder/node.cjs +20 -0
- package/dist/lib/builder/node.d.ts +9 -0
- package/dist/lib/builder/node.d.ts.map +1 -0
- package/dist/lib/builder/scope.cjs +45 -0
- package/dist/lib/builder/scope.d.ts +23 -0
- package/dist/lib/builder/scope.d.ts.map +1 -0
- package/dist/lib/builder/types.d.ts +26 -0
- package/dist/lib/builder/types.d.ts.map +1 -0
- package/dist/lib/figure.cjs +66 -0
- package/dist/lib/figure.d.ts +26 -0
- package/dist/lib/figure.d.ts.map +1 -0
- package/dist/lib/index.cjs +15 -0
- package/dist/lib/index.d.ts +20 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/mountSvg.cjs +48 -0
- package/dist/lib/mountSvg.d.ts +10 -0
- package/dist/lib/mountSvg.d.ts.map +1 -0
- package/dist/lib/renderToSvgString.cjs +23 -0
- package/dist/lib/renderToSvgString.d.ts +8 -0
- package/dist/lib/renderToSvgString.d.ts.map +1 -0
- package/dist/lib/svgNodeToDom.cjs +27 -0
- package/dist/lib/svgNodeToDom.d.ts +14 -0
- package/dist/lib/svgNodeToDom.d.ts.map +1 -0
- package/dist/lib/toScene.cjs +18 -0
- package/dist/lib/toScene.d.ts +10 -0
- package/dist/lib/toScene.d.ts.map +1 -0
- package/dist/lib/types.d.ts +28 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
let _retikz_core = require("@retikz/core");
|
|
2
|
+
//#region src/toScene.ts
|
|
3
|
+
/**
|
|
4
|
+
* 入参归一成 `Scene`
|
|
5
|
+
* @description 已是 `Scene`(有 `primitives`)直接用;否则当 `IR` 经 `compileToScene` 编译。剥掉 render-only 键
|
|
6
|
+
* (`idPrefix`/`width`/`height`),其余即 core `CompileOptions` 原样透传(`measureText` 缺省时 core 回退
|
|
7
|
+
* `fallbackMeasurer`,Node 下确定可跑)。注:调用方须先把 `Figure` 解成 `ir`,此处只认 `IR | Scene`。
|
|
8
|
+
*/
|
|
9
|
+
var toScene = (input, options) => {
|
|
10
|
+
if ("primitives" in input) return input;
|
|
11
|
+
const compileOptions = { ...options };
|
|
12
|
+
delete compileOptions.idPrefix;
|
|
13
|
+
delete compileOptions.width;
|
|
14
|
+
delete compileOptions.height;
|
|
15
|
+
return (0, _retikz_core.compileToScene)(input, compileOptions);
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
exports.toScene = toScene;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IR, Scene } from '@retikz/core';
|
|
2
|
+
import { CommonOptions } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* 入参归一成 `Scene`
|
|
5
|
+
* @description 已是 `Scene`(有 `primitives`)直接用;否则当 `IR` 经 `compileToScene` 编译。剥掉 render-only 键
|
|
6
|
+
* (`idPrefix`/`width`/`height`),其余即 core `CompileOptions` 原样透传(`measureText` 缺省时 core 回退
|
|
7
|
+
* `fallbackMeasurer`,Node 下确定可跑)。注:调用方须先把 `Figure` 解成 `ir`,此处只认 `IR | Scene`。
|
|
8
|
+
*/
|
|
9
|
+
export declare const toScene: (input: Scene | IR, options: CommonOptions) => Scene;
|
|
10
|
+
//# sourceMappingURL=toScene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toScene.d.ts","sourceRoot":"","sources":["../../src/toScene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,EAAkB,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,GAAG,EAAE,EAAE,SAAS,aAAa,KAAG,KAOnE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CompileOptions, IR, Scene } from '@retikz/core';
|
|
2
|
+
import { Figure } from './figure';
|
|
3
|
+
/** mountSvg / renderToSvgString 的入参:已编译 `Scene`、待编译 `IR`,或命令式 builder 的 `Figure` */
|
|
4
|
+
export type RenderInput = Scene | IR | Figure;
|
|
5
|
+
/**
|
|
6
|
+
* 两个入口共享的选项
|
|
7
|
+
* @description `idPrefix`:SVG 资源 id 前缀,确定性(SSR↔客户端一致),缺省 `'r'`。`width`/`height`:写回根
|
|
8
|
+
* `<svg>` 的显示尺寸(adapter 职责,`@retikz/render/svg` 只产 viewBox);缺省不写、由 CSS/容器定。其余继承 core
|
|
9
|
+
* `CompileOptions`(`measureText` / `shapes` / `arrows` / `patterns` / `pathGenerators` / `padding` /
|
|
10
|
+
* `precision` / `nodeDistance` / `onWarn`)——收 `ir` 时透传给 `compileToScene`,收 `scene` 时忽略。
|
|
11
|
+
*/
|
|
12
|
+
export type CommonOptions = {
|
|
13
|
+
idPrefix?: string;
|
|
14
|
+
width?: number;
|
|
15
|
+
height?: number;
|
|
16
|
+
} & CompileOptions;
|
|
17
|
+
export type RenderToStringOptions = CommonOptions;
|
|
18
|
+
export type MountOptions = CommonOptions;
|
|
19
|
+
/** `mountSvg` 返回的句柄:`root` 元素 identity 跨 `update` 稳定、永不失效 */
|
|
20
|
+
export type VanillaView = {
|
|
21
|
+
/** 挂载出的根 `<svg>`;跨 `update` 同一元素(不被替换) */
|
|
22
|
+
readonly root: SVGSVGElement;
|
|
23
|
+
/** 整图重渲染(原地复用 `root`,清子节点 + 重设 root attrs + 重物化),不承诺局部 patch */
|
|
24
|
+
update: (next: RenderInput) => void;
|
|
25
|
+
/** 卸载:移除 `root`、置 view 失效(再调 `update` 抛、`dispose` noop) */
|
|
26
|
+
dispose: () => void;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,oFAAoF;AACpF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAEzC,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,gEAAgE;IAChE,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@retikz/vanilla",
|
|
3
|
+
"version": "0.3.0-alpha.1",
|
|
4
|
+
"description": "Framework-free runtime for retikz: mount Scene/IR to SVG DOM, or render to SVG string for SSR.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"author": "Pionpill",
|
|
7
|
+
"homepage": "https://pionpill.github.io/retikz/",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"tikz",
|
|
10
|
+
"diagram",
|
|
11
|
+
"svg",
|
|
12
|
+
"ssr",
|
|
13
|
+
"visualization"
|
|
14
|
+
],
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/Pionpill/retikz.git",
|
|
19
|
+
"directory": "packages/vanilla"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/Pionpill/retikz/issues"
|
|
23
|
+
},
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"main": "dist/lib/index.cjs",
|
|
26
|
+
"module": "dist/es/index.js",
|
|
27
|
+
"types": "dist/lib/index.d.ts",
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"types": "./dist/lib/index.d.ts",
|
|
31
|
+
"import": "./dist/es/index.js",
|
|
32
|
+
"require": "./dist/lib/index.cjs",
|
|
33
|
+
"default": "./dist/es/index.js"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"LICENSE",
|
|
38
|
+
"README.md",
|
|
39
|
+
"dist/**/*"
|
|
40
|
+
],
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@retikz/core": "0.3.0-alpha.1",
|
|
43
|
+
"@retikz/render": "0.3.0-alpha.1"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/node": "^25.6.0",
|
|
47
|
+
"typescript": "^6.0.3",
|
|
48
|
+
"vite": "^8.0.10",
|
|
49
|
+
"vite-plugin-dts": "^4.5.4",
|
|
50
|
+
"vite-tsconfig-paths": "^6.1.1",
|
|
51
|
+
"vitest": "^4.1.5"
|
|
52
|
+
},
|
|
53
|
+
"scripts": {
|
|
54
|
+
"dev": "vite",
|
|
55
|
+
"build": "vite build",
|
|
56
|
+
"lint": "eslint .",
|
|
57
|
+
"preview": "vite preview",
|
|
58
|
+
"test": "vitest",
|
|
59
|
+
"test:run": "vitest run"
|
|
60
|
+
}
|
|
61
|
+
}
|