@zzclub/pipeline 0.1.0

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.
Files changed (98) hide show
  1. package/README.md +559 -0
  2. package/dist/assets/imgx/assets/browser/obstacle-flow.d.ts +27 -0
  3. package/dist/assets/imgx/assets/browser/obstacle-flow.js +326 -0
  4. package/dist/assets/imgx/assets/icons/avatar_jinx_cartoon.jpg +0 -0
  5. package/dist/assets/imgx/assets/icons/clover.svg +15 -0
  6. package/dist/assets/imgx/assets/icons/fishbone-logo-square.png +0 -0
  7. package/dist/assets/imgx/assets/icons/fishbone-logo.jpg +0 -0
  8. package/dist/assets/imgx/assets/icons/fishbone-logo.png +0 -0
  9. package/dist/assets/imgx/assets/icons/openclaw-logo.svg +22 -0
  10. package/dist/assets/imgx/assets/icons/zzclub-logo-black.jpg +0 -0
  11. package/dist/assets/imgx/assets/icons/zzclub-logo-gray.svg +25 -0
  12. package/dist/assets/imgx/assets/templates/ascii-portrait-3-4.html +342 -0
  13. package/dist/assets/imgx/assets/templates/ascii-portrait-tile.html +144 -0
  14. package/dist/assets/imgx/assets/templates/longform-3-4.html +179 -0
  15. package/dist/assets/imgx/assets/templates/poster-3-4.html +359 -0
  16. package/dist/assets/imgx/assets/templates/tips-3-4.html +300 -0
  17. package/dist/assets/imgx/assets/templates/wechat-cover-split.html +307 -0
  18. package/dist/assets/imgx/assets/templates/x-like-posts.html +246 -0
  19. package/dist/assets/wechat-preview/assets/browser-dist/.vite/manifest.json +314 -0
  20. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  21. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  22. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  23. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  24. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  25. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  26. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  27. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  28. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  29. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  30. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  31. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  32. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  33. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  34. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  35. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  36. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  37. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  38. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  39. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  40. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  41. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  42. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  43. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  44. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  45. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  46. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  47. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  48. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  49. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  50. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  51. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  52. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  53. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  54. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  55. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  56. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  57. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  58. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  59. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  60. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  61. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  62. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  63. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  64. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  65. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  66. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  67. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  68. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  69. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  70. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  71. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  72. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  73. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  74. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  75. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  76. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  77. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  78. package/dist/assets/wechat-preview/assets/browser-dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  79. package/dist/assets/wechat-preview/assets/browser-dist/assets/SweiCurveLegCJKsc-Regular-B3Ut5bwH.woff +0 -0
  80. package/dist/assets/wechat-preview/assets/browser-dist/assets/style-BYNXnUvc.css +1 -0
  81. package/dist/assets/wechat-preview/assets/browser-dist/editor-export.js +969 -0
  82. package/dist/assets/wechat-preview/assets/templates/export-shell.html +38 -0
  83. package/dist/cli.js +404 -0
  84. package/dist/node_modules/@chenglou/pretext/dist/analysis.d.ts +33 -0
  85. package/dist/node_modules/@chenglou/pretext/dist/analysis.js +1063 -0
  86. package/dist/node_modules/@chenglou/pretext/dist/bidi.d.ts +1 -0
  87. package/dist/node_modules/@chenglou/pretext/dist/bidi.js +175 -0
  88. package/dist/node_modules/@chenglou/pretext/dist/generated/bidi-data.d.ts +4 -0
  89. package/dist/node_modules/@chenglou/pretext/dist/generated/bidi-data.js +979 -0
  90. package/dist/node_modules/@chenglou/pretext/dist/layout.d.ts +70 -0
  91. package/dist/node_modules/@chenglou/pretext/dist/layout.js +496 -0
  92. package/dist/node_modules/@chenglou/pretext/dist/line-break.d.ts +36 -0
  93. package/dist/node_modules/@chenglou/pretext/dist/line-break.js +820 -0
  94. package/dist/node_modules/@chenglou/pretext/dist/measurement.d.ts +28 -0
  95. package/dist/node_modules/@chenglou/pretext/dist/measurement.js +219 -0
  96. package/dist/node_modules/@chenglou/pretext/dist/rich-inline.d.ts +51 -0
  97. package/dist/node_modules/@chenglou/pretext/dist/rich-inline.js +401 -0
  98. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ export declare function computeSegmentLevels(normalized: string, segStarts: number[]): Int8Array | null;
@@ -0,0 +1,175 @@
1
+ // Simplified bidi metadata helper for the rich prepareWithSegments() path,
2
+ // forked from pdf.js via Sebastian's text-layout. It classifies characters
3
+ // into bidi types, computes embedding levels, and maps them onto prepared
4
+ // segments for custom rendering. The line-breaking engine does not consume
5
+ // these levels.
6
+ import { latin1BidiTypes, nonLatin1BidiRanges, } from './generated/bidi-data.js';
7
+ function classifyCodePoint(codePoint) {
8
+ if (codePoint <= 0x00FF)
9
+ return latin1BidiTypes[codePoint];
10
+ let lo = 0;
11
+ let hi = nonLatin1BidiRanges.length - 1;
12
+ while (lo <= hi) {
13
+ const mid = (lo + hi) >> 1;
14
+ const range = nonLatin1BidiRanges[mid];
15
+ if (codePoint < range[0]) {
16
+ hi = mid - 1;
17
+ continue;
18
+ }
19
+ if (codePoint > range[1]) {
20
+ lo = mid + 1;
21
+ continue;
22
+ }
23
+ return range[2];
24
+ }
25
+ return 'L';
26
+ }
27
+ function computeBidiLevels(str) {
28
+ const len = str.length;
29
+ if (len === 0)
30
+ return null;
31
+ // eslint-disable-next-line unicorn/no-new-array
32
+ const types = new Array(len);
33
+ let sawBidi = false;
34
+ // Keep the resolved bidi classes aligned to UTF-16 code-unit offsets,
35
+ // because the rich prepared segments index back into the normalized string
36
+ // with JavaScript string offsets.
37
+ for (let i = 0; i < len;) {
38
+ const first = str.charCodeAt(i);
39
+ let codePoint = first;
40
+ let codeUnitLength = 1;
41
+ if (first >= 0xD800 && first <= 0xDBFF && i + 1 < len) {
42
+ const second = str.charCodeAt(i + 1);
43
+ if (second >= 0xDC00 && second <= 0xDFFF) {
44
+ codePoint = ((first - 0xD800) << 10) + (second - 0xDC00) + 0x10000;
45
+ codeUnitLength = 2;
46
+ }
47
+ }
48
+ const t = classifyCodePoint(codePoint);
49
+ if (t === 'R' || t === 'AL' || t === 'AN')
50
+ sawBidi = true;
51
+ for (let j = 0; j < codeUnitLength; j++) {
52
+ types[i + j] = t;
53
+ }
54
+ i += codeUnitLength;
55
+ }
56
+ if (!sawBidi)
57
+ return null;
58
+ // Use the first strong character to pick the paragraph base direction.
59
+ // Rich-path bidi metadata is only an approximation, but this keeps mixed
60
+ // LTR/RTL text aligned with the common UBA paragraph rule.
61
+ let startLevel = 0;
62
+ for (let i = 0; i < len; i++) {
63
+ const t = types[i];
64
+ if (t === 'L') {
65
+ startLevel = 0;
66
+ break;
67
+ }
68
+ if (t === 'R' || t === 'AL') {
69
+ startLevel = 1;
70
+ break;
71
+ }
72
+ }
73
+ const levels = new Int8Array(len);
74
+ for (let i = 0; i < len; i++)
75
+ levels[i] = startLevel;
76
+ const e = (startLevel & 1) ? 'R' : 'L';
77
+ const sor = e;
78
+ // W1-W7
79
+ let lastType = sor;
80
+ for (let i = 0; i < len; i++) {
81
+ if (types[i] === 'NSM')
82
+ types[i] = lastType;
83
+ else
84
+ lastType = types[i];
85
+ }
86
+ lastType = sor;
87
+ for (let i = 0; i < len; i++) {
88
+ const t = types[i];
89
+ if (t === 'EN')
90
+ types[i] = lastType === 'AL' ? 'AN' : 'EN';
91
+ else if (t === 'R' || t === 'L' || t === 'AL')
92
+ lastType = t;
93
+ }
94
+ for (let i = 0; i < len; i++) {
95
+ if (types[i] === 'AL')
96
+ types[i] = 'R';
97
+ }
98
+ for (let i = 1; i < len - 1; i++) {
99
+ if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {
100
+ types[i] = 'EN';
101
+ }
102
+ if (types[i] === 'CS' &&
103
+ (types[i - 1] === 'EN' || types[i - 1] === 'AN') &&
104
+ types[i + 1] === types[i - 1]) {
105
+ types[i] = types[i - 1];
106
+ }
107
+ }
108
+ for (let i = 0; i < len; i++) {
109
+ if (types[i] !== 'EN')
110
+ continue;
111
+ let j;
112
+ for (j = i - 1; j >= 0 && types[j] === 'ET'; j--)
113
+ types[j] = 'EN';
114
+ for (j = i + 1; j < len && types[j] === 'ET'; j++)
115
+ types[j] = 'EN';
116
+ }
117
+ for (let i = 0; i < len; i++) {
118
+ const t = types[i];
119
+ if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS')
120
+ types[i] = 'ON';
121
+ }
122
+ lastType = sor;
123
+ for (let i = 0; i < len; i++) {
124
+ const t = types[i];
125
+ if (t === 'EN')
126
+ types[i] = lastType === 'L' ? 'L' : 'EN';
127
+ else if (t === 'R' || t === 'L')
128
+ lastType = t;
129
+ }
130
+ // N1-N2
131
+ for (let i = 0; i < len; i++) {
132
+ if (types[i] !== 'ON')
133
+ continue;
134
+ let end = i + 1;
135
+ while (end < len && types[end] === 'ON')
136
+ end++;
137
+ const before = i > 0 ? types[i - 1] : sor;
138
+ const after = end < len ? types[end] : sor;
139
+ const bDir = before !== 'L' ? 'R' : 'L';
140
+ const aDir = after !== 'L' ? 'R' : 'L';
141
+ if (bDir === aDir) {
142
+ for (let j = i; j < end; j++)
143
+ types[j] = bDir;
144
+ }
145
+ i = end - 1;
146
+ }
147
+ for (let i = 0; i < len; i++) {
148
+ if (types[i] === 'ON')
149
+ types[i] = e;
150
+ }
151
+ // I1-I2
152
+ for (let i = 0; i < len; i++) {
153
+ const t = types[i];
154
+ if ((levels[i] & 1) === 0) {
155
+ if (t === 'R')
156
+ levels[i]++;
157
+ else if (t === 'AN' || t === 'EN')
158
+ levels[i] += 2;
159
+ }
160
+ else if (t === 'L' || t === 'AN' || t === 'EN') {
161
+ levels[i]++;
162
+ }
163
+ }
164
+ return levels;
165
+ }
166
+ export function computeSegmentLevels(normalized, segStarts) {
167
+ const bidiLevels = computeBidiLevels(normalized);
168
+ if (bidiLevels === null)
169
+ return null;
170
+ const segLevels = new Int8Array(segStarts.length);
171
+ for (let i = 0; i < segStarts.length; i++) {
172
+ segLevels[i] = bidiLevels[segStarts[i]];
173
+ }
174
+ return segLevels;
175
+ }
@@ -0,0 +1,4 @@
1
+ export type GeneratedBidiType = 'L' | 'R' | 'AL' | 'AN' | 'EN' | 'ES' | 'ET' | 'CS' | 'ON' | 'BN' | 'B' | 'S' | 'WS' | 'NSM';
2
+ export declare const unicodeBidiDataVersion = "17.0.0";
3
+ export declare const latin1BidiTypes: readonly GeneratedBidiType[];
4
+ export declare const nonLatin1BidiRanges: readonly (readonly [number, number, GeneratedBidiType])[];