fix editor block handle and menu parity
This commit is contained in:
@@ -324,17 +324,53 @@ GREEN:
|
||||
|
||||
| ID | 状态 | 任务 | 验收要点 |
|
||||
| --- | --- | --- | --- |
|
||||
| E0 | TODO | editable-test 焦点护栏 | 写入前先断言焦点在正文测试块,不在标题、breadcrumb 或隐藏输入;截图记录焦点位置 |
|
||||
| E1 | TODO | editable-test 基础输入 | Hermes editable-test mode 取 Wolai 输入/回车/撤销基线;本地保存后刷新保持 |
|
||||
| E2 | TODO | 块 hover 手柄 | hover 块只显示左侧手柄区,不自动弹菜单;浅色块 hover 背景对齐 |
|
||||
| E3 | TODO | 上方插入短横线 | hover 短横线变 `+`;tooltip `在上方插入块` / `Esc, a`;点击前插入 |
|
||||
| E4 | TODO | 下方插入短横线 | hover 短横线变 `+`;tooltip `在下方插入块` / `Esc, b`;点击后插入 |
|
||||
| E5 | TODO | `Esc, a` / `Esc, b` | 块选中态快捷键插入 before/after;本地 smoke 验证焦点进入新块 |
|
||||
| E6 | TODO | 块菜单 | 点击手柄打开菜单;`转换为 / 拷贝副本 / 删除 / 复制链接 / 颜色` 等入口视觉对齐 |
|
||||
| E7 | TODO | slash 菜单 | 输入 `/` 跟随 caret 打开;搜索过滤和键盘选择可用 |
|
||||
| E8 | TODO | selection toolbar | 选中文本出现工具条;粗体、斜体、链接、颜色、转换块入口可见 |
|
||||
| E9 | TODO | `Ctrl+A` 双阶段选择 | 第一次选当前文本/块,第二次选全部块;行为与 Wolai 基线一致 |
|
||||
| E10 | TODO | 拖拽预览 | 块拖动时横向 drop line、分栏竖线预览;持久化可后置但预览需对齐 |
|
||||
| E0 | DONE | editable-test 焦点护栏 | Wolai Hermes editable-test 与本地 smoke 均断言写入前焦点在正文测试块,不在标题、breadcrumb 或隐藏输入 |
|
||||
| E1 | DONE | editable-test 基础输入 | Wolai 已取输入/回车/撤销基线;本地 `task137` 覆盖三行输入、保存、刷新后保持 |
|
||||
| E2 | DONE | 块 hover 手柄 | Wolai follow-up 基线确认默认 hover 只显示 `2x2` 四点手柄;本地 smoke 断言四点、可见性、与正文间距和从正文移向手柄不消失 |
|
||||
| E3 | DONE | 上方插入加号 | 本地仅在 hover 四点上方热区时显示上方 `+`,点击可在目标块前插入并聚焦;tooltip/title 包含 `在上方插入块` / `Esc, a` |
|
||||
| E4 | DONE | 下方插入加号 | 本地仅在 hover 四点下方热区时显示下方 `+`,点击可在目标块后插入并聚焦;tooltip/title 包含 `在下方插入块` / `Esc, b` |
|
||||
| E5 | DONE | `Esc, a` / `Esc, b` | 本地块选中态快捷键可插入 before/after,并把输入焦点放入新块 |
|
||||
| E6 | PARTIAL | 块菜单 | 本地点击四点后手柄切换为三横线;主菜单约 240px、浮在侧栏之上、位于三横线左侧且不遮挡正文/手柄;`转换为` 二级菜单已补齐 Wolai 当前基线项目,H4 小标题转换为真实命令;复制链接/颜色/文字翻译子菜单、折叠标题/折叠待办三级菜单仍需继续补齐 |
|
||||
| E7 | DONE | slash 菜单 | 本地 `/` 跟随编辑器打开;含 `AI 助理 / 用 AI 写作 / 基础块列表 / 文本 / 待办列表 / /h1`,方向键/Enter 选择仍由 smoke 覆盖 |
|
||||
| E8 | DONE | selection toolbar | 本地选中文本出现工具条;粗体、斜体、链接、颜色、转换块入口可见,入口文案已中文化 |
|
||||
| E9 | PARTIAL | `Ctrl+A` 双阶段选择 | 本地 smoke 覆盖第一次/第二次选择范围扩展;Wolai 的多块粉色选区视觉与块级全选细节后续单列视觉对标 |
|
||||
| E10 | DONE | 拖拽预览 | 本地 smoke 覆盖拖动手柄时 `.block-drop-indicator` 横向 drop line 可见;分栏竖线预览与落点持久化后续单列 |
|
||||
|
||||
### Phase E 执行记录(2026-04-30)
|
||||
|
||||
- Wolai 基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-baseline/comparison-matrix.md`,截图目录 `/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-baseline/screenshots/`。
|
||||
- Wolai 说明页摘要:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-baseline/doc-summary.md`。
|
||||
- 本地 post-fix smoke:`MNOTE_PHASE_E_SCREENSHOT_DIR=/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-local-smoke node scripts/task137-wolai-phase-e-smoke.js`,通过。
|
||||
- Subagent post-fix 复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-phase-e-postfix-subagent-final3/`,通过。
|
||||
- 手柄 follow-up Wolai 基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-handle-followup-wolai-baseline/`,确认默认四点、上/下热区分别出 `+`、点击后变三横线、菜单在正文左侧不挡正文。
|
||||
- 手柄 follow-up 本地 smoke:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-handle-followup-local-postfix10/`,通过并覆盖四点、上下加号、可达性、菜单不挡正文/手柄。
|
||||
- 手柄 follow-up subagent 本地复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task137-handle-followup-local-subagent-postfix/`,通过;复核默认四点、上下加号、正文到手柄不消失、点击后三横线、菜单不遮挡正文/手柄。
|
||||
- 关键截图:`02-hover-handle-default.png`、`02a-hover-handle-before-plus.png`、`02b-hover-handle-after-plus.png`、`04-drag-preview.png`、`05-block-menu.png`、`07-slash-menu.png`、`08-toolbar.png`。`05-block-menu.png` 已断言菜单不遮挡正文且不盖住三横线手柄;更多 Wolai 菜单项后续补齐。
|
||||
- 块菜单 refresh Wolai 基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-wolai-refresh/`,确认二级/三级菜单、Esc/外部点击关闭、鼠标移出保持打开。
|
||||
- 块菜单 refresh 本地 smoke:`MNOTE_PHASE_E_SCREENSHOT_DIR=/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-local-smoke-10 node scripts/task137-wolai-phase-e-smoke.js`,通过;覆盖第二行手柄不跳行、240px 菜单、底部编辑信息、转换子菜单缺失项、鼠标移出保持、Esc 关闭、H4 真实转换。
|
||||
- 块菜单 refresh subagent 本地复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-local-subagent-postfix/`,通过;复核第 1-4 行手柄不跳行、菜单未被侧栏裁剪、鼠标移出保持、Esc/外部点击关闭、H4 真实转换。
|
||||
- 代码改动:`rust/spikes/leptos-tiptap-spike/src/lib.rs` 与生成的 `rust/spikes/leptos-tiptap-spike/generated/island/*`。
|
||||
- 验证命令:`cargo fmt --check`、`cargo check`、`node wolai-frontend/scripts/build-leptos-tiptap-island.js`、`node scripts/task137-wolai-phase-e-smoke.js`、`node scripts/task121-rust-web-editor-island-hydration-smoke.js`、`node scripts/task136-wolai-aline-phase-d-smoke.js`。
|
||||
|
||||
### Phase E 说明页扩展 backlog
|
||||
|
||||
| ID | 状态 | 任务 | 验收要点 |
|
||||
| --- | --- | --- | --- |
|
||||
| E11 | TODO | `Tab` / `Shift+Tab` 缩进结构 | 缩进改变父子块结构,不只是视觉 padding;覆盖不允许缩进的块类型 |
|
||||
| E12 | TODO | `Ctrl/Cmd+Shift+U` 块布局 | 显示/隐藏块布局虚线框,且不影响编辑保存 |
|
||||
| E13 | TODO | 块转换三入口 | 块菜单、快捷键、slash `/zh + 拼音首字母` 均能转换文本类块 |
|
||||
| E14 | TODO | 复制/粘贴与匹配样式粘贴 | 文本选择、块选择、`Ctrl/Cmd+Shift+V` 分别有 smoke |
|
||||
| E15 | TODO | 链接创建 | 选中文字 `Ctrl/Cmd+K` 与直接粘贴 URL 创建链接 |
|
||||
| E16 | TODO | 文本颜色/背景色/行内公式/页面引用 | selection toolbar 子菜单真实写入 Tiptap 内容,不只显示入口 |
|
||||
| E17 | TODO | 评论入口 | 块评论、选中文字评论、评论气泡数量和 `Ctrl/Cmd+Alt+M` 后续对标 |
|
||||
| E18 | TODO | 块引用与右侧边栏引用 | 块引用搜索、引用预览/别名、右侧边栏拖拽引用后续对标 |
|
||||
| E19 | TODO | 块历史 | 块历史查看与恢复版本按 Wolai 说明页单列验证 |
|
||||
| E20 | TODO | 拖拽分栏 | 横线/竖线预览、父子块随父块移动、测试块间安全释放与清理 |
|
||||
| E21 | DONE | 块菜单二级转换基础版 | `转换为` hover 后主菜单保持、二级菜单包含 Wolai 当前项目;`文本/待办/高级待办/H1/H2/H3/H4/列表/数字列表/引述/代码` 其中 H4 至少有真实 smoke |
|
||||
| E22 | TODO | 折叠标题三级菜单 | hover `折叠标题` 显示 `折叠主标题/折叠大标题/折叠中标题/折叠小标题`;真实折叠语义需接 editor/core 命令,不用 disabled 文案伪装完成 |
|
||||
| E23 | TODO | 折叠待办三级菜单 | hover `折叠待办` 显示 `折叠待办列表/折叠高级待办列表`;真实折叠待办语义需接 editor/core 命令 |
|
||||
| E24 | TODO | 复制链接/颜色/文字翻译子菜单 | 复制链接、颜色、文字翻译按 Wolai 展开子菜单;颜色至少覆盖文字色/背景色真实写入,复制链接不只反馈文案 |
|
||||
| E25 | TODO | 块菜单关闭状态机 | Esc 与外部点击关闭所有层级;鼠标移出菜单保持打开,三级菜单可按 Wolai 收回到二级菜单;smoke 覆盖三条路径 |
|
||||
|
||||
## 9. Phase F:Page Aggregate 和命令边界
|
||||
|
||||
|
||||
@@ -1762,16 +1762,16 @@ body {
|
||||
}
|
||||
|
||||
#mnote-leptos-tiptap-island-editor-root .block-handle-shell {
|
||||
left: -88px !important;
|
||||
z-index: 5;
|
||||
opacity: 0.2;
|
||||
left: -32px !important;
|
||||
z-index: 80;
|
||||
opacity: 1;
|
||||
pointer-events: none;
|
||||
transition: opacity 120ms ease, transform 120ms ease;
|
||||
}
|
||||
|
||||
#mnote-leptos-tiptap-island-editor-root .block-handle-shell:hover,
|
||||
#mnote-leptos-tiptap-island-editor-root .block-handle-shell[data-dragging="true"] {
|
||||
opacity: 0.6;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#mnote-leptos-tiptap-island-editor-root .block-handle-shell .block-handle-insert,
|
||||
@@ -1902,7 +1902,7 @@ body {
|
||||
}
|
||||
|
||||
#mnote-leptos-tiptap-island-editor-root .block-handle-shell {
|
||||
left: -64px !important;
|
||||
left: -32px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1985,7 +1985,7 @@ mod tests {
|
||||
fn mnote_css_keeps_tiptap_handles_in_margin_and_title_editable() {
|
||||
assert!(MNOTE_CSS.contains(".document-title-input"));
|
||||
assert!(MNOTE_CSS.contains(".block-handle-shell"));
|
||||
assert!(MNOTE_CSS.contains("left: -88px !important"));
|
||||
assert!(MNOTE_CSS.contains("left: -32px !important"));
|
||||
assert!(MNOTE_CSS.contains("pointer-events: none"));
|
||||
assert!(MNOTE_CSS.contains(".material-symbols-outlined"));
|
||||
assert!(MNOTE_CSS.contains(".mnote-tree-context-menu"));
|
||||
|
||||
+1
-1
@@ -61,8 +61,8 @@ export interface InitOutput {
|
||||
readonly intounderlyingsource_cancel: (a: number) => void;
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h36e788bd1cd1f0f7: (a: number, b: number, c: any) => [number, number];
|
||||
readonly wasm_bindgen__convert__closures_____invoke__hb0ba6117a7ec12e8: (a: number, b: number, c: any, d: any) => void;
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75: (a: number, b: number, c: any) => void;
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h1ea2b89742286ce6: (a: number, b: number, c: any) => void;
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75: (a: number, b: number, c: any) => void;
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h03deb55668e1377f: (a: number, b: number, c: any) => void;
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h837fba73fce77300: (a: number, b: number, c: any) => void;
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h60e57afd955e8441: (a: number, b: number) => number;
|
||||
|
||||
+39
-19
@@ -269,6 +269,9 @@ function __wbg_get_imports() {
|
||||
__wbg_addEventListener_8176dab41b09531c: function() { return handleError(function (arg0, arg1, arg2, arg3) {
|
||||
arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3);
|
||||
}, arguments); },
|
||||
__wbg_addRange_de27d094b9bf29d8: function() { return handleError(function (arg0, arg1) {
|
||||
arg0.addRange(arg1);
|
||||
}, arguments); },
|
||||
__wbg_altKey_c4f26b40f1b826b4: function(arg0) {
|
||||
const ret = arg0.altKey;
|
||||
return ret;
|
||||
@@ -359,6 +362,9 @@ function __wbg_get_imports() {
|
||||
const ret = arg0.closest(getStringFromWasm0(arg1, arg2));
|
||||
return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
|
||||
}, arguments); },
|
||||
__wbg_collapse_ba755876733fccfc: function(arg0, arg1) {
|
||||
arg0.collapse(arg1 !== 0);
|
||||
},
|
||||
__wbg_composedPath_e2b9e0f5161335eb: function(arg0) {
|
||||
const ret = arg0.composedPath();
|
||||
return ret;
|
||||
@@ -379,6 +385,10 @@ function __wbg_get_imports() {
|
||||
const ret = arg0.createElement(getStringFromWasm0(arg1, arg2));
|
||||
return ret;
|
||||
}, arguments); },
|
||||
__wbg_createRange_ff06800933ad1293: function() { return handleError(function (arg0) {
|
||||
const ret = arg0.createRange();
|
||||
return ret;
|
||||
}, arguments); },
|
||||
__wbg_createTextNode_7949043038fd9f7b: function(arg0, arg1, arg2) {
|
||||
const ret = arg0.createTextNode(getStringFromWasm0(arg1, arg2));
|
||||
return ret;
|
||||
@@ -858,6 +868,9 @@ function __wbg_get_imports() {
|
||||
__wbg_register_youtube_fd5d6301c55e98d7: function() { return handleError(function () {
|
||||
register_youtube();
|
||||
}, arguments); },
|
||||
__wbg_removeAllRanges_3d2e987f14b7d3ef: function() { return handleError(function (arg0) {
|
||||
arg0.removeAllRanges();
|
||||
}, arguments); },
|
||||
__wbg_removeAttribute_c75ac657c944b3f1: function() { return handleError(function (arg0, arg1, arg2) {
|
||||
arg0.removeAttribute(getStringFromWasm0(arg1, arg2));
|
||||
}, arguments); },
|
||||
@@ -888,6 +901,10 @@ function __wbg_get_imports() {
|
||||
__wbg_respond_008ca9525ae22847: function() { return handleError(function (arg0, arg1) {
|
||||
arg0.respond(arg1 >>> 0);
|
||||
}, arguments); },
|
||||
__wbg_right_6096346a1fca4d04: function(arg0) {
|
||||
const ret = arg0.right;
|
||||
return ret;
|
||||
},
|
||||
__wbg_run_0b0a622deae25fda: function(arg0, arg1, arg2) {
|
||||
try {
|
||||
var state0 = {a: arg1, b: arg2};
|
||||
@@ -921,6 +938,9 @@ function __wbg_get_imports() {
|
||||
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
||||
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
||||
}, arguments); },
|
||||
__wbg_selectNodeContents_1f8f5798ebd4f1f4: function() { return handleError(function (arg0, arg1) {
|
||||
arg0.selectNodeContents(arg1);
|
||||
}, arguments); },
|
||||
__wbg_setAttribute_6fde4098d274155c: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
|
||||
arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
|
||||
}, arguments); },
|
||||
@@ -1038,37 +1058,37 @@ function __wbg_get_imports() {
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000001: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1226, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
||||
const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75);
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000002: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1317, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
|
||||
const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h36e788bd1cd1f0f7);
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000003: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 971, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1102, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
|
||||
const ret = makeClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h1ea2b89742286ce6);
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000002: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1357, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
||||
const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75);
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000003: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1448, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
|
||||
const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h36e788bd1cd1f0f7);
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000004: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 1152, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 1283, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
||||
const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h03deb55668e1377f);
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000005: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 1228, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 1359, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
||||
const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h837fba73fce77300);
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000006: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 1165, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 1296, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
|
||||
const ret = makeClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__hd17f30facfdd737f);
|
||||
return ret;
|
||||
},
|
||||
__wbindgen_cast_0000000000000007: function(arg0, arg1) {
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 1227, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
||||
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 1358, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
||||
const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__hf726e22cfd1ee0a9);
|
||||
return ret;
|
||||
},
|
||||
@@ -1123,14 +1143,14 @@ function wasm_bindgen__convert__closures_____invoke__h60e57afd955e8441(arg0, arg
|
||||
return ret !== 0;
|
||||
}
|
||||
|
||||
function wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75(arg0, arg1, arg2) {
|
||||
wasm.wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75(arg0, arg1, arg2);
|
||||
}
|
||||
|
||||
function wasm_bindgen__convert__closures_____invoke__h1ea2b89742286ce6(arg0, arg1, arg2) {
|
||||
wasm.wasm_bindgen__convert__closures_____invoke__h1ea2b89742286ce6(arg0, arg1, arg2);
|
||||
}
|
||||
|
||||
function wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75(arg0, arg1, arg2) {
|
||||
wasm.wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75(arg0, arg1, arg2);
|
||||
}
|
||||
|
||||
function wasm_bindgen__convert__closures_____invoke__h03deb55668e1377f(arg0, arg1, arg2) {
|
||||
wasm.wasm_bindgen__convert__closures_____invoke__h03deb55668e1377f(arg0, arg1, arg2);
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
Vendored
+1
-1
@@ -18,8 +18,8 @@ export const intounderlyingsource_pull: (a: number, b: any) => any;
|
||||
export const intounderlyingsource_cancel: (a: number) => void;
|
||||
export const wasm_bindgen__convert__closures_____invoke__h36e788bd1cd1f0f7: (a: number, b: number, c: any) => [number, number];
|
||||
export const wasm_bindgen__convert__closures_____invoke__hb0ba6117a7ec12e8: (a: number, b: number, c: any, d: any) => void;
|
||||
export const wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75: (a: number, b: number, c: any) => void;
|
||||
export const wasm_bindgen__convert__closures_____invoke__h1ea2b89742286ce6: (a: number, b: number, c: any) => void;
|
||||
export const wasm_bindgen__convert__closures_____invoke__h2593b18d2d6f8a75: (a: number, b: number, c: any) => void;
|
||||
export const wasm_bindgen__convert__closures_____invoke__h03deb55668e1377f: (a: number, b: number, c: any) => void;
|
||||
export const wasm_bindgen__convert__closures_____invoke__h837fba73fce77300: (a: number, b: number, c: any) => void;
|
||||
export const wasm_bindgen__convert__closures_____invoke__h60e57afd955e8441: (a: number, b: number) => number;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user