@yyyu-star/arcade-kit 0.18.1 → 0.19.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/CHANGELOG.md +27 -0
- package/README.md +29 -2
- package/dist/fun-logic.d.ts +81 -0
- package/dist/fun-logic.d.ts.map +1 -1
- package/dist/fun-logic.js +143 -0
- package/dist/fun-logic.js.map +1 -1
- package/dist/table-chat.d.ts +148 -0
- package/dist/table-chat.d.ts.map +1 -0
- package/dist/table-chat.js +560 -0
- package/dist/table-chat.js.map +1 -0
- package/dist/table-fun.d.ts +56 -33
- package/dist/table-fun.d.ts.map +1 -1
- package/dist/table-fun.js +137 -111
- package/dist/table-fun.js.map +1 -1
- package/package.json +1 -1
- package/src/fun-logic.ts +161 -0
- package/src/table-chat.ts +631 -0
- package/src/table-fun.ts +158 -107
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
|
|
3
|
+
## 0.19.1(2026-10-18)
|
|
4
|
+
|
|
5
|
+
0.19.0 接进掼蛋后截图看出的两处(主线定):
|
|
6
|
+
- 气泡压到叠在它上面、能点的东西("互动""聊天"按钮、聊天框)代价按 3 倍算(`placeBubble` 的新参数 `hard`,倍数 `HARD_COST`):按钮在气泡上面,压了字就看不见;
|
|
7
|
+
原来只按面积挑,掼蛋手机横屏的好友房里"右边压按钮"和"上边擦左家名牌"面积差不多,自己的气泡钻到了"互动"按钮底下。
|
|
8
|
+
- 弹幕层裁在弹幕区(`danmakuArea` 或默认区)里:从区的右沿出现、左沿消失,不再飘出区外擦过两边的座位。
|
|
9
|
+
- 测试:`fun-logic` 加 1 条(面积差不多时按钮当 hard 就换到另一侧);反证:倍数改成 1 时失败。
|
|
10
|
+
|
|
11
|
+
## 0.19.0(2026-10-18)
|
|
12
|
+
|
|
13
|
+
聊天打磨(所有者:聊天太简陋、不显眼,电脑上气泡太小;设计见 docs/chat.md 第 5 节),并进了原定 0.18.2 的三处界面小修。游戏升级后不用改代码就能用,要摆得准再传几个可选项。
|
|
14
|
+
- **聊天入口**:电脑上牌桌一角常驻聊天框(最近几条记录、一排快捷短语、输入框,回车发送,可收起、可展开记录);手机上"互动"旁边一个"聊天"按钮(未读红点),
|
|
15
|
+
点开是贴在手牌和操作按钮上面的输入条(快捷词、输入框、发送、记录、✕),键盘弹起时站到键盘上面。快捷短语点了按短语发,走互动的通道和冷却。
|
|
16
|
+
- **弹幕**:所有人说的话(含自己、含短语)从右往左飘,自己的高亮;按轨道排,避开手牌、按钮、头像、名牌、中间信息区(新选项 `center()`)、聊天框和气泡;
|
|
17
|
+
弹幕垫在效果层最底下,气泡永远在上面。同屏最多 12 条(手机 6 条),只动 transform。"弹幕:开 / 关"默认开,减少动态效果或省内存(新选项 `lite()`,默认看 deviceMemory ≤ 2)时默认关;
|
|
18
|
+
`fun.danmaku()` / `fun.setDanmaku(on)` 给游戏设置用。
|
|
19
|
+
- **气泡**:字号按屏幕(电脑 18–22px、手机 ≥ 15px),最多两行折行,不再一行截断;聊天的停 5 秒(`CHAT_UI.bubbleMs`);新气泡也避开正在显示的气泡。
|
|
20
|
+
位置由纯函数 `placeBubble` 挑:朝牌桌中间、另一侧、上、下,避开"互动"按钮、聊天框、名牌、别家头像(原 0.18.2:竖屏自己的气泡被按钮压住、道具气泡盖住对家名字和筹码)。
|
|
21
|
+
`FunSeat` 加可选的 `plate`(名字和筹码那块)。
|
|
22
|
+
- **记录**:最近 30 条,名字按座位配色;电脑在聊天框里,手机在互动面板的聊天页。
|
|
23
|
+
- **设置存储**:新选项 `prefsKey`(默认 `<storageKey>.chat`,必须是 `<游戏id>.<名字>`,不合格构造时抛错),存弹幕开关、聊天框收起和记录展开。
|
|
24
|
+
- **互动按钮的尺寸参数**(原 0.18.2):`buttonStyle?() → { scale?, row? }`,替掉游戏对 `.atf-btn` 的覆盖;不传就不写行内样式,旧覆盖照样生效。图标尺寸走 `--atf-icon`。
|
|
25
|
+
- 新选项 `chatDock()`、`chatButton()`、`danmakuArea()` 让游戏指定聊天框、手机聊天按钮的位置和弹幕区;纯函数 `chatMode`、`chatFont`、`danmakuLanes`、`danmakuSpeed`、`pickLane`、`placeDock`、`barBottom`、`placeBeside`、`seatColor` 在 `fun-logic`。
|
|
26
|
+
- `controls()` 改成报 `.atf-ui` 里所有带 `data-key` 的东西(聊天框、聊天按钮、输入条都能点到)。
|
|
27
|
+
- 测试:`fun-logic` 加 14 条(气泡 4 条;版式、轨道、停靠、输入条、按钮、配色 10 条),`table-fun` 加 2 条(prefsKey),主题守卫扫 `table-chat.ts`。
|
|
28
|
+
反证两处:不看 avoid 时气泡测试失败;轨道不看 blocked 时 2 条失败。
|
|
29
|
+
|
|
3
30
|
## 0.18.1(2026-10-18)
|
|
4
31
|
|
|
5
32
|
- 单机也能聊(所有者要求聊天通用):`arcade-kit/chat` 加 `localChat(say, opts?)`,返回和 `RoomClient.chat` 一样用法的发送函数:过同一套 `checkChat`、本地限速(默认同房间 3 秒一条、一分钟 10 条,`opts.now` 给测试注入),
|
package/README.md
CHANGED
|
@@ -297,9 +297,11 @@ const fun = new TableFun({
|
|
|
297
297
|
seats: (): (FunSeat | null)[] => view.seats.map((s, i) => s && ({
|
|
298
298
|
rect: avatarRect(i), // 屏幕矩形(CSS 像素);DOM 头像直接 getBoundingClientRect()
|
|
299
299
|
name: s.name, me: i === 0, bot: s.bot, temper: s.temper, // temper:'rowdy' | 'normal' | 'cool'
|
|
300
|
+
plate: plateRect(i), // 可选(0.18.2):名字和筹码那一块,气泡不盖它
|
|
300
301
|
})),
|
|
301
302
|
avoid: () => [handRect(), actionBarRect()], // 菜单、面板尽量不盖;放不下时选盖得最少的位置
|
|
302
303
|
button: () => funButtonRect(), // "互动"按钮放哪;null 不画(没坐下)
|
|
304
|
+
buttonStyle: () => ({ scale: stageScale, row: true }), // 可选(0.18.2):按钮字和图标跟着牌桌放大(≥ 1),row = 图标和字横排;别再覆盖 .atf-btn
|
|
303
305
|
send: (id, to) => (online ? client.emote(id, to) : fun.receive(0, id, to)),
|
|
304
306
|
canSend: () => seated,
|
|
305
307
|
hintSeat: () => (trickEmpty(1) ? 1 : null), // 首次提示冒在哪家头像旁;null = 现在会挡住出牌,过 2 秒再问(0.17.0,不给就挑第一个电脑)
|
|
@@ -314,6 +316,8 @@ client.onEmote = (m) => fun.receive(m.from, m.id, m.to); // 好友房收到的
|
|
|
314
316
|
|
|
315
317
|
- **画布游戏**(Phaser 等):`rect` 传头像换算到屏幕后的矩形,算法是 `canvas.getBoundingClientRect()` 的左上角加上"世界坐标 × 画布在屏幕上的缩放"。
|
|
316
318
|
组件每次用到时现问,座位挪了、窗口变了都跟得上;窗口尺寸变了它自己 `refresh()`,游戏重排头像后也调一次。
|
|
319
|
+
- **气泡位置**(0.18.2):先朝牌桌中间那侧放,再试另一侧、上、下,挑和"互动"按钮、各家名牌(`plate`)、别家头像、`avoid` 盖得最少的一个;
|
|
320
|
+
纯函数 `placeBubble(anchor, w, h, view, avoid)` 在 `fun-logic` 里;聊天的版式(`chatMode`、`chatFont`、`danmakuLanes`、`pickLane`、`placeDock`、`barBottom`、`placeBeside`、`seatColor`,0.19.0)也在那里。
|
|
317
321
|
- **房间的编号数**:`RoomGame.emotes` 填 `funIdCount(PHRASES.length)`(短语 + 12 表情 + 8 道具)。
|
|
318
322
|
- **名场面**:游戏从**公开事件**里认出来,调 `fun.moment({ kind: 'moment', moment: 'bomb', winners: [0], losers: [1, 3], hand: 第几手 })`,
|
|
319
323
|
单机时电脑按性格冲赢家撇嘴、或得意一下;要横幅就 `fun.banner('炸弹!', '小王 炸了 老李')`。
|
|
@@ -359,12 +363,34 @@ protected override onEmote(from: number, id: number, to?: number): void {
|
|
|
359
363
|
传了 `onChat` 连接才带 `chat=1`,房间只给这样的连接发(旧页面不认识这条消息),所以不加 `PROTOCOL_VERSION`。
|
|
360
364
|
- `client.chat(text)` 先在本地过一遍和房间一样的检查,不行直接返回原因(`chatRejectText(code, why)` 给说法):链接"不能发链接",号码"不能发号码,金额请写成 1,000,000"——
|
|
361
365
|
标准千分位的金额(≤ 10 位)放行;太快的带 `waitMs`,"发送"按钮倒计时。
|
|
362
|
-
-
|
|
366
|
+
- 界面(0.18.0 的样子,0.19.0 的改动见下面):头像旁冒 4 秒气泡(能折行,同一个人后一条顶掉前一条);"互动"面板多一个"聊天"页:最近 30 条(只在内存里)、输入框(16px,iOS 不放大页面)和"发送",回车发;
|
|
363
367
|
键盘弹出时按 `visualViewport` 把面板挪到键盘上面;收起时有新消息,"互动"按钮上一个小红点。被屏蔽(单个、全部)的人说的不显示。
|
|
364
368
|
- 平台的屏蔽名单(`docs/social.md` 3.1)要平台出一个 RPC,出了以后 kit 小版本接上(docs/chat.md 第 6 节,主线定的 B 方案);现在只有 kit 的本地屏蔽。
|
|
365
369
|
- **单机也能聊**(0.18.1):`localChat(say, opts?)` 返回一个和 `client.chat` 一样用法的发送函数(结果同是 `ChatSendResult`),过同一套过滤和限速(默认 3 秒一条、一分钟 10 条,`words`、`ms`、`perMin` 可改),
|
|
366
370
|
行就调 `say(打码后的字, masked)`。只在本机显示自己说的,不发到任何地方、不存;电脑不读、不回。接法:`const send = localChat((t, m) => fun.chat(mySeat, t, m)); new TableFun({ ..., chat: send })`。
|
|
367
|
-
-
|
|
371
|
+
- **0.19.0 聊天打磨**(`docs/chat.md` 第 5 节):电脑上牌桌一角常驻聊天框(记录、快捷短语、输入框,可收起),手机上"互动"旁边一个"聊天"按钮(未读红点)+ 贴在手牌上面的输入条;
|
|
372
|
+
所有人说的话从右往左飘弹幕("弹幕:开 / 关",默认开,减少动态效果或省内存时默认关);气泡按屏幕放大(电脑 18–22px、手机 ≥ 15px),最多两行,停 5 秒。
|
|
373
|
+
游戏不改代码就能用;要摆得准,给这几个(都可选):
|
|
374
|
+
|
|
375
|
+
```ts
|
|
376
|
+
new TableFun({
|
|
377
|
+
...,
|
|
378
|
+
seats: () => view.seats.map((s, i) => s && ({ rect: avatarRect(i), plate: plateRect(i), name: s.name, me: i === 0 })), // plate:名字和筹码那块,气泡、弹幕、聊天按钮都避开
|
|
379
|
+
center: () => [potRect(), wallRect(), discardRect()], // 牌桌中间的信息区(剩余张数、底池、牌墩、弃牌区):弹幕不横穿、聊天框和气泡不压
|
|
380
|
+
chatDock: () => ({ left: 24, top: tableTop + 12, width: 340, height: 0 }), // 电脑版聊天框放哪(只用 left/top/width);不给就自己挑角,可能压到牌墙
|
|
381
|
+
chatButton: () => chatButtonRect(), // 手机版"聊天"按钮放哪;不给就挨着"互动"按钮,挤的牌桌(手机横屏)最好给
|
|
382
|
+
danmakuArea: () => tableUpperHalf(), // 弹幕区;不给是屏幕 8%–58%,上沿压到对家那排名牌下面
|
|
383
|
+
lite: () => settings.lowmem, // 省内存模式:弹幕默认关
|
|
384
|
+
prefsKey: 'mygame.chat', // 弹幕开关等存在哪;默认 '<storageKey>.chat'
|
|
385
|
+
});
|
|
386
|
+
settingsRow('弹幕', fun.danmaku(), (on) => fun.setDanmaku(on)); // 游戏设置里接同一份开关(可选)
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
冒烟用的 `controls()` 多了:电脑版 `chat:dock`、`chat:input`、`chat:send`、`chat:phrase<i>`、`chat:danmaku`、`chat:more`、`chat:fold`(收起后是 `chat:open`);
|
|
390
|
+
手机版 `chat:button`、`chat:bar`、`chat:input`、`chat:send`、`chat:phrase<i>`、`chat:history`、`chat:close`;面板聊天页多一个 `fun:danmaku`。`log` 多 `弹幕 开|关`、`聊天 输入条`。
|
|
391
|
+
- **互动按钮的尺寸参数**(0.18.2):`buttonStyle: () => ({ scale: stageScale, row: true })`,字(13px)和图标(22px)一起按 `scale`(≥ 1)放大,`row` 横排;手机的"聊天"按钮照同样画。
|
|
392
|
+
用它替掉游戏自己对 `.atf-btn` 的 CSS 覆盖;不传就不写行内样式,旧的覆盖照样生效(迁移不急)。
|
|
393
|
+
- 演示页 `demo/table-fun.html` 里能直接试:右上聊天框打字,"电脑们说几句"看弹幕排轨道(单机演示,右家隔一秒回一句)。
|
|
368
394
|
|
|
369
395
|
## 分享卡和邀请(share、social,0.12.0)
|
|
370
396
|
|
|
@@ -674,6 +700,7 @@ packages/arcade-kit/
|
|
|
674
700
|
│ ├─ fun.ts、fun-art.ts 快捷短语、表情、道具的画面层
|
|
675
701
|
│ ├─ fun-logic.ts 牌桌互动的规则:冷却、护盾、连击、回敬、电脑反应、菜单位置(纯函数)
|
|
676
702
|
│ ├─ table-fun.ts 牌桌互动组件 TableFun(DOM:头像菜单、面板、提示、聊天页)
|
|
703
|
+
│ ├─ table-chat.ts TableFun 里的聊天界面(0.19.0:电脑聊天框、手机输入条、弹幕、记录;不单独导出)
|
|
677
704
|
│ ├─ chat.ts、chat-words.ts 好友房聊天的过滤和打码词表(纯函数)
|
|
678
705
|
│ ├─ share.ts 分享卡(Canvas 画战绩图、系统分享或预览)
|
|
679
706
|
│ ├─ qr.ts 二维码编码器(字节模式、纠错 M、版本 1–10,纯函数,分享卡用)
|
package/dist/fun-logic.d.ts
CHANGED
|
@@ -155,6 +155,87 @@ export declare function placeMenu(anchor: Box, want: number, h: number, view: {
|
|
|
155
155
|
left: number;
|
|
156
156
|
top: number;
|
|
157
157
|
};
|
|
158
|
+
/**
|
|
159
|
+
* 头像旁的一句话(w×h)放哪(0.18.2):先试朝屏幕中心那一侧、和头像顶边对齐(原来的样子),再试另一侧、头像上方、下方;
|
|
160
|
+
* 夹在可见区里(留 margin),和头像本身、"互动"按钮、各家名牌筹码、禁区压得最少的那个胜出,一样少时按试的顺序。
|
|
161
|
+
* 竖屏自己的气泡原来总在右边、被"互动"按钮压住半截,点头像的提示盖住对家的名字和筹码(麻将报)。
|
|
162
|
+
* hard 是叠在气泡上面、能点的东西("互动""聊天"按钮、聊天框,0.19.1):压到它们气泡的字就看不见了,代价按 HARD_COST 倍算;
|
|
163
|
+
* 名牌、手牌在气泡下面,压一点还看得见字
|
|
164
|
+
*/
|
|
165
|
+
export declare function placeBubble(anchor: Box, w: number, h: number, view: {
|
|
166
|
+
width: number;
|
|
167
|
+
height: number;
|
|
168
|
+
}, avoid?: readonly Box[], hard?: readonly Box[], margin?: number, gap?: number): {
|
|
169
|
+
left: number;
|
|
170
|
+
top: number;
|
|
171
|
+
};
|
|
172
|
+
/** 气泡压到叠在它上面的按钮、聊天框时的代价倍数(0.19.1,主线定的 ×3) */
|
|
173
|
+
export declare const HARD_COST = 3;
|
|
174
|
+
/** 电脑版(牌桌一角常驻聊天框)还是手机版("聊天"按钮 + 贴底输入条):按可见区大小分,不看指针(无头浏览器报的指针不可靠) */
|
|
175
|
+
export type ChatMode = 'desk' | 'phone';
|
|
176
|
+
export declare function chatMode(view: {
|
|
177
|
+
width: number;
|
|
178
|
+
height: number;
|
|
179
|
+
}): ChatMode;
|
|
180
|
+
/** 气泡、弹幕、聊天框的字号:电脑 18–22px 按短边放大,手机 ≥ 15px(所有者:电脑上气泡太小) */
|
|
181
|
+
export declare function chatFont(view: {
|
|
182
|
+
width: number;
|
|
183
|
+
height: number;
|
|
184
|
+
}, mode?: ChatMode): number;
|
|
185
|
+
/** 弹幕的数字:同屏上限、轨道数、横穿一屏的时长和速度上下限(px/秒)、条与条的间距、排队上限 */
|
|
186
|
+
export declare const DANMAKU: {
|
|
187
|
+
readonly maxDesk: 12;
|
|
188
|
+
readonly maxPhone: 6;
|
|
189
|
+
readonly lanesDesk: 6;
|
|
190
|
+
readonly lanesPhone: 4;
|
|
191
|
+
readonly crossMs: 8000;
|
|
192
|
+
readonly minSpeed: 90;
|
|
193
|
+
readonly maxSpeed: 260;
|
|
194
|
+
readonly gap: 32;
|
|
195
|
+
readonly queue: 8;
|
|
196
|
+
};
|
|
197
|
+
/** 弹幕速度(px/毫秒):横穿 area 宽度约 crossMs,夹在上下限里;所有条同一速度,后一条追不上前一条 */
|
|
198
|
+
export declare function danmakuSpeed(width: number): number;
|
|
199
|
+
/**
|
|
200
|
+
* 弹幕轨道(每条轨道的 top):在 area 里按 4px 一档往下找高 lineH 的横条,和 blocked(手牌、按钮、名牌、头像、聊天框)一点不压的优先,
|
|
201
|
+
* 从上往下贪心取、互不重叠;一条不压的都没有时只取压得最少的那一条(宁可从边上擦过也要看得见)。多了均匀挑 max 条,按从上到下排
|
|
202
|
+
*/
|
|
203
|
+
export declare function danmakuLanes(area: Box, lineH: number, blocked: readonly Box[], max: number, step?: number): number[];
|
|
204
|
+
/**
|
|
205
|
+
* 挨着 anchor 放一个 w×h 的东西(手机版"聊天"按钮挨着"互动"按钮):右、左、上、下依次试,中线对齐,
|
|
206
|
+
* 夹在可见区里,和 anchor、avoid 压得最少的胜出
|
|
207
|
+
*/
|
|
208
|
+
export declare function placeBeside(anchor: Box, w: number, h: number, view: {
|
|
209
|
+
width: number;
|
|
210
|
+
height: number;
|
|
211
|
+
}, avoid?: readonly Box[], margin?: number, gap?: number): {
|
|
212
|
+
left: number;
|
|
213
|
+
top: number;
|
|
214
|
+
};
|
|
215
|
+
/** 挑一条空出来的轨道:freeAt[i] 是第 i 条轨道上一条的尾巴离开起点的时刻;从上往下第一条到点的,都没到点 -1 */
|
|
216
|
+
export declare function pickLane(freeAt: readonly number[], now: number): number;
|
|
217
|
+
/**
|
|
218
|
+
* 电脑版聊天框(w×h)放牌桌哪个角:左下、右下、左上、右上依次试,和禁区压得最少的胜出(游戏给了位置就不用这个)。
|
|
219
|
+
* 上面两个角从屏幕高度的 9% 往下:几个游戏的顶栏(回大厅、设置)都在那一条里,kit 不知道它们的位置
|
|
220
|
+
*/
|
|
221
|
+
export declare function placeDock(view: {
|
|
222
|
+
width: number;
|
|
223
|
+
height: number;
|
|
224
|
+
}, w: number, h: number, avoid?: readonly Box[], margin?: number): {
|
|
225
|
+
left: number;
|
|
226
|
+
top: number;
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* 手机版输入条的底边(y):贴在下半屏手牌、操作按钮的上面,不挡它们;上面留不下 h 高(那些东西占了大半屏)就贴屏幕底。
|
|
230
|
+
* 键盘弹起时页面另按可见区再往上挪
|
|
231
|
+
*/
|
|
232
|
+
export declare function barBottom(view: {
|
|
233
|
+
width: number;
|
|
234
|
+
height: number;
|
|
235
|
+
}, h: number, avoid?: readonly Box[], margin?: number): number;
|
|
236
|
+
/** 聊天记录、弹幕里名字的颜色:按座位号,自己另用金色高亮 */
|
|
237
|
+
export declare const SEAT_COLORS: readonly ['#ffd36a', '#7fd0ff', '#ff9f8a', '#a8e07a', '#d4a2ff', '#ffb86b', '#6fe3d0', '#ff8fc7'];
|
|
238
|
+
export declare function seatColor(seat: number): string;
|
|
158
239
|
/**
|
|
159
240
|
* 编号怎么排(和房间转发的 emote id 一致):短语 0..P-1,表情 P..P+11,道具 P+12..P+19。P 是游戏短语表的长度。
|
|
160
241
|
* 游戏的 RoomGame.emotes 写 funIdCount(P)。
|
package/dist/fun-logic.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fun-logic.d.ts","sourceRoot":"","sources":["../src/fun-logic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fun-logic.d.ts","sourceRoot":"","sources":["../src/fun-logic.ts"],"names":[],"mappings":"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"}
|
package/dist/fun-logic.js
CHANGED
|
@@ -212,6 +212,149 @@ export function placeMenu(anchor, want, h, view, avoid = [], margin = 8, gap = 1
|
|
|
212
212
|
}
|
|
213
213
|
return { left: best.left, top: best.top };
|
|
214
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* 头像旁的一句话(w×h)放哪(0.18.2):先试朝屏幕中心那一侧、和头像顶边对齐(原来的样子),再试另一侧、头像上方、下方;
|
|
217
|
+
* 夹在可见区里(留 margin),和头像本身、"互动"按钮、各家名牌筹码、禁区压得最少的那个胜出,一样少时按试的顺序。
|
|
218
|
+
* 竖屏自己的气泡原来总在右边、被"互动"按钮压住半截,点头像的提示盖住对家的名字和筹码(麻将报)。
|
|
219
|
+
* hard 是叠在气泡上面、能点的东西("互动""聊天"按钮、聊天框,0.19.1):压到它们气泡的字就看不见了,代价按 HARD_COST 倍算;
|
|
220
|
+
* 名牌、手牌在气泡下面,压一点还看得见字
|
|
221
|
+
*/
|
|
222
|
+
export function placeBubble(anchor, w, h, view, avoid = [], hard = [], margin = 4, gap = 6) {
|
|
223
|
+
const cx = anchor.left + anchor.width / 2;
|
|
224
|
+
const right = { left: anchor.left + anchor.width + gap, top: anchor.top - gap };
|
|
225
|
+
const left = { left: anchor.left - gap - w, top: anchor.top - gap };
|
|
226
|
+
const above = { left: cx - w / 2, top: anchor.top - gap - h };
|
|
227
|
+
const below = { left: cx - w / 2, top: anchor.top + anchor.height + gap };
|
|
228
|
+
const order = cx < view.width / 2 ? [right, left, above, below] : [left, right, above, below];
|
|
229
|
+
const clamp = (p) => ({
|
|
230
|
+
left: Math.max(margin, Math.min(view.width - margin - w, p.left)),
|
|
231
|
+
top: Math.max(margin, Math.min(view.height - margin - h, p.top)),
|
|
232
|
+
width: w,
|
|
233
|
+
height: h,
|
|
234
|
+
});
|
|
235
|
+
let best = null;
|
|
236
|
+
let bestCost = Infinity;
|
|
237
|
+
for (const c of order.map(clamp)) {
|
|
238
|
+
const cost = [anchor, ...avoid].reduce((s, b) => s + overlap(c, b), 0) + hard.reduce((s, b) => s + HARD_COST * overlap(c, b), 0);
|
|
239
|
+
if (cost < bestCost) {
|
|
240
|
+
best = c;
|
|
241
|
+
bestCost = cost;
|
|
242
|
+
if (cost === 0)
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return { left: best.left, top: best.top };
|
|
247
|
+
}
|
|
248
|
+
/** 气泡压到叠在它上面的按钮、聊天框时的代价倍数(0.19.1,主线定的 ×3) */
|
|
249
|
+
export const HARD_COST = 3;
|
|
250
|
+
export function chatMode(view) {
|
|
251
|
+
return view.width >= 960 && view.height >= 560 ? 'desk' : 'phone';
|
|
252
|
+
}
|
|
253
|
+
/** 气泡、弹幕、聊天框的字号:电脑 18–22px 按短边放大,手机 ≥ 15px(所有者:电脑上气泡太小) */
|
|
254
|
+
export function chatFont(view, mode = chatMode(view)) {
|
|
255
|
+
const m = Math.min(view.width, view.height);
|
|
256
|
+
return mode === 'desk' ? Math.max(18, Math.min(22, Math.round(m / 48))) : m >= 480 ? 16 : 15;
|
|
257
|
+
}
|
|
258
|
+
/** 弹幕的数字:同屏上限、轨道数、横穿一屏的时长和速度上下限(px/秒)、条与条的间距、排队上限 */
|
|
259
|
+
export const DANMAKU = { maxDesk: 12, maxPhone: 6, lanesDesk: 6, lanesPhone: 4, crossMs: 8000, minSpeed: 90, maxSpeed: 260, gap: 32, queue: 8 };
|
|
260
|
+
/** 弹幕速度(px/毫秒):横穿 area 宽度约 crossMs,夹在上下限里;所有条同一速度,后一条追不上前一条 */
|
|
261
|
+
export function danmakuSpeed(width) {
|
|
262
|
+
return Math.max(DANMAKU.minSpeed, Math.min(DANMAKU.maxSpeed, (width * 1000) / DANMAKU.crossMs)) / 1000;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* 弹幕轨道(每条轨道的 top):在 area 里按 4px 一档往下找高 lineH 的横条,和 blocked(手牌、按钮、名牌、头像、聊天框)一点不压的优先,
|
|
266
|
+
* 从上往下贪心取、互不重叠;一条不压的都没有时只取压得最少的那一条(宁可从边上擦过也要看得见)。多了均匀挑 max 条,按从上到下排
|
|
267
|
+
*/
|
|
268
|
+
export function danmakuLanes(area, lineH, blocked, max, step = 4) {
|
|
269
|
+
if (max <= 0 || lineH <= 0 || area.height < lineH)
|
|
270
|
+
return [];
|
|
271
|
+
const cost = (top) => blocked.reduce((s, b) => s + overlap({ left: area.left, top, width: area.width, height: lineH }, b), 0);
|
|
272
|
+
const free = [];
|
|
273
|
+
let best = area.top;
|
|
274
|
+
let bestCost = Infinity;
|
|
275
|
+
for (let top = area.top; top + lineH <= area.top + area.height + 0.5; top += step) {
|
|
276
|
+
const c = cost(top);
|
|
277
|
+
if (c < bestCost) {
|
|
278
|
+
best = top;
|
|
279
|
+
bestCost = c;
|
|
280
|
+
}
|
|
281
|
+
if (c === 0 && (free.length === 0 || top >= free[free.length - 1] + lineH))
|
|
282
|
+
free.push(top);
|
|
283
|
+
}
|
|
284
|
+
if (free.length === 0)
|
|
285
|
+
return [best];
|
|
286
|
+
if (free.length <= max)
|
|
287
|
+
return free;
|
|
288
|
+
const k = free.length / max;
|
|
289
|
+
return Array.from({ length: max }, (_, i) => free[Math.floor(i * k)]);
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* 挨着 anchor 放一个 w×h 的东西(手机版"聊天"按钮挨着"互动"按钮):右、左、上、下依次试,中线对齐,
|
|
293
|
+
* 夹在可见区里,和 anchor、avoid 压得最少的胜出
|
|
294
|
+
*/
|
|
295
|
+
export function placeBeside(anchor, w, h, view, avoid = [], margin = 4, gap = 8) {
|
|
296
|
+
const cx = anchor.left + anchor.width / 2 - w / 2;
|
|
297
|
+
const cy = anchor.top + anchor.height / 2 - h / 2;
|
|
298
|
+
const order = [
|
|
299
|
+
{ left: anchor.left + anchor.width + gap, top: cy },
|
|
300
|
+
{ left: anchor.left - gap - w, top: cy },
|
|
301
|
+
{ left: cx, top: anchor.top - gap - h },
|
|
302
|
+
{ left: cx, top: anchor.top + anchor.height + gap },
|
|
303
|
+
];
|
|
304
|
+
let best = order[0];
|
|
305
|
+
let bestCost = Infinity;
|
|
306
|
+
for (const p of order) {
|
|
307
|
+
const c = { left: Math.max(margin, Math.min(view.width - margin - w, p.left)), top: Math.max(margin, Math.min(view.height - margin - h, p.top)), width: w, height: h };
|
|
308
|
+
const cost = [anchor, ...avoid].reduce((s, b) => s + overlap(c, b), 0);
|
|
309
|
+
if (cost < bestCost) {
|
|
310
|
+
best = c;
|
|
311
|
+
bestCost = cost;
|
|
312
|
+
if (cost === 0)
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return { left: best.left, top: best.top };
|
|
317
|
+
}
|
|
318
|
+
/** 挑一条空出来的轨道:freeAt[i] 是第 i 条轨道上一条的尾巴离开起点的时刻;从上往下第一条到点的,都没到点 -1 */
|
|
319
|
+
export function pickLane(freeAt, now) {
|
|
320
|
+
return freeAt.findIndex((t) => t <= now);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* 电脑版聊天框(w×h)放牌桌哪个角:左下、右下、左上、右上依次试,和禁区压得最少的胜出(游戏给了位置就不用这个)。
|
|
324
|
+
* 上面两个角从屏幕高度的 9% 往下:几个游戏的顶栏(回大厅、设置)都在那一条里,kit 不知道它们的位置
|
|
325
|
+
*/
|
|
326
|
+
export function placeDock(view, w, h, avoid = [], margin = 12) {
|
|
327
|
+
const l = margin;
|
|
328
|
+
const r = Math.max(margin, view.width - margin - w);
|
|
329
|
+
const t = Math.max(margin, Math.round(view.height * 0.09));
|
|
330
|
+
const b = Math.max(margin, view.height - margin - h);
|
|
331
|
+
let best = { left: l, top: b };
|
|
332
|
+
let bestCost = Infinity;
|
|
333
|
+
for (const c of [{ left: l, top: b }, { left: r, top: b }, { left: l, top: t }, { left: r, top: t }]) {
|
|
334
|
+
const cost = avoid.reduce((s, x) => s + overlap({ ...c, width: w, height: h }, x), 0);
|
|
335
|
+
if (cost < bestCost) {
|
|
336
|
+
best = c;
|
|
337
|
+
bestCost = cost;
|
|
338
|
+
if (cost === 0)
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return best;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* 手机版输入条的底边(y):贴在下半屏手牌、操作按钮的上面,不挡它们;上面留不下 h 高(那些东西占了大半屏)就贴屏幕底。
|
|
346
|
+
* 键盘弹起时页面另按可见区再往上挪
|
|
347
|
+
*/
|
|
348
|
+
export function barBottom(view, h, avoid = [], margin = 8) {
|
|
349
|
+
const low = avoid.filter((b) => b.top > view.height * 0.4 && b.width > 0 && b.height > 0).map((b) => b.top);
|
|
350
|
+
const y = low.length ? Math.min(...low) - margin : view.height - margin;
|
|
351
|
+
return y - h < view.height * 0.12 ? view.height - margin : y;
|
|
352
|
+
}
|
|
353
|
+
/** 聊天记录、弹幕里名字的颜色:按座位号,自己另用金色高亮 */
|
|
354
|
+
export const SEAT_COLORS = ['#ffd36a', '#7fd0ff', '#ff9f8a', '#a8e07a', '#d4a2ff', '#ffb86b', '#6fe3d0', '#ff8fc7'];
|
|
355
|
+
export function seatColor(seat) {
|
|
356
|
+
return SEAT_COLORS[((seat % SEAT_COLORS.length) + SEAT_COLORS.length) % SEAT_COLORS.length];
|
|
357
|
+
}
|
|
215
358
|
// ---------- 编号 ----------
|
|
216
359
|
/**
|
|
217
360
|
* 编号怎么排(和房间转发的 emote id 一致):短语 0..P-1,表情 P..P+11,道具 P+12..P+19。P 是游戏短语表的长度。
|
package/dist/fun-logic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fun-logic.js","sourceRoot":"","sources":["../src/fun-logic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fun-logic.js","sourceRoot":"","sources":["../src/fun-logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 牌桌聊天的界面(0.19.0,docs/chat.md 第 5 节):电脑上牌桌一角常驻的聊天框、手机上的"聊天"按钮和贴底输入条、弹幕、最近 30 条记录。
|
|
3
|
+
* 所有者 2026-10-18:聊天太简陋、不显眼,电脑上气泡太小。TableFun 建它、喂它,游戏不直接用(不进 package.json 的 exports)。
|
|
4
|
+
* 和 table-fun.ts 同样的规矩:import 时不碰 DOM;动画只动 transform、opacity;量位置只在摆放(refresh)和出一条弹幕时。
|
|
5
|
+
*/
|
|
6
|
+
import { type ChatBlockWhy } from './chat.js';
|
|
7
|
+
import { type Box } from './fun-logic.js';
|
|
8
|
+
export type ChatResultLike = {
|
|
9
|
+
ok: true;
|
|
10
|
+
} | {
|
|
11
|
+
ok: false;
|
|
12
|
+
code: string;
|
|
13
|
+
why?: ChatBlockWhy;
|
|
14
|
+
waitMs?: number;
|
|
15
|
+
};
|
|
16
|
+
/** 记录里的一行:打的字和快捷短语都记(只在内存里,关页面、换房间就没了) */
|
|
17
|
+
export interface ChatLine {
|
|
18
|
+
seat: number;
|
|
19
|
+
name: string;
|
|
20
|
+
text: string;
|
|
21
|
+
me: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface ChatHost {
|
|
24
|
+
/** 点得到的那一层(.atf-ui)和点击穿透的效果层(弹幕画在这里) */
|
|
25
|
+
ui: HTMLElement;
|
|
26
|
+
fx: HTMLElement;
|
|
27
|
+
prefsKey: string;
|
|
28
|
+
/** 快捷词:游戏的短语表,点了按短语发(走互动的发送通道,没开打字聊天也能用) */
|
|
29
|
+
phrases: readonly string[];
|
|
30
|
+
phrase(i: number): void;
|
|
31
|
+
/** 打字:好友房 RoomClient.chat、单机 localChat */
|
|
32
|
+
send(text: string): ChatResultLike;
|
|
33
|
+
/** 现在能不能发(旁观、没坐下不能) */
|
|
34
|
+
canSend(): boolean;
|
|
35
|
+
/** 不能盖的地方:游戏的禁区、"互动"按钮、头像、名牌 */
|
|
36
|
+
blocked(): Box[];
|
|
37
|
+
/** 正在显示的气泡(弹幕的轨道也避开) */
|
|
38
|
+
bubbles(): Box[];
|
|
39
|
+
/** 各家头像和名牌(默认弹幕区的上沿压到上方各家的下面) */
|
|
40
|
+
seatBoxes(): Box[];
|
|
41
|
+
/** 手机输入条不能盖的:游戏的禁区(手牌、操作按钮)、"互动"按钮、自己的头像和名牌(别家的头像打字时盖住没关系) */
|
|
42
|
+
barBlocked(): Box[];
|
|
43
|
+
/** "互动"按钮的矩形(手机版"聊天"按钮挨着它、跟它一样大),按同样的尺寸参数画 */
|
|
44
|
+
button(): Box | null;
|
|
45
|
+
styleButton(b: HTMLElement): void;
|
|
46
|
+
/** 游戏指定电脑版聊天框的位置(只用 left、top、width),不给就自己挑角 */
|
|
47
|
+
dock?(): Box | null;
|
|
48
|
+
/** 游戏指定手机版"聊天"按钮的位置,不给就挨着"互动"按钮 */
|
|
49
|
+
chatButton?(): Box | null;
|
|
50
|
+
/** 游戏指定弹幕区,不给就是牌桌上半部分 */
|
|
51
|
+
area?(): Box | null;
|
|
52
|
+
/** 省内存模式(弹幕默认关) */
|
|
53
|
+
lite(): boolean;
|
|
54
|
+
/** 手机版"记录":打开互动面板的聊天页 */
|
|
55
|
+
history(): void;
|
|
56
|
+
later(ms: number, fn: () => void): void;
|
|
57
|
+
now(): number;
|
|
58
|
+
log?(line: string): void;
|
|
59
|
+
}
|
|
60
|
+
export declare const CHAT_CSS = "\n.atc-dock{position:absolute;left:0;top:0;pointer-events:auto;display:flex;flex-direction:column;gap:6px;background:var(--ak-bg,rgba(43,29,20,.9));border:2px solid var(--ak-border,#d4a64a);border-radius:var(--ak-radius,14px);padding:8px;box-sizing:border-box;color:var(--ak-fg,#fff6e0);box-shadow:0 6px 18px rgba(0,0,0,.4)}\n.atc-head{display:flex;align-items:center;gap:6px}\n.atc-head b{flex:1;color:var(--ak-title,#f3d98b);font-size:1.05em}\n.atc-head .atf-chip{min-height:36px;padding:0 10px;font-size:.8em}\n.atc-log{display:flex;flex-direction:column;gap:2px;line-height:1.45;font-size:.9em;overflow-y:auto;overscroll-behavior:contain}\n.atc-log .atf-empty{opacity:.6}\n.atc-log b,.atf-log b{font-weight:700;margin-right:4px}\n.atc-quick{display:flex;gap:6px;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:none;flex-shrink:0;padding-right:28px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent)}\n.atc-quick::-webkit-scrollbar{display:none}\n.atc-quick .atf-chip{flex:none;white-space:nowrap;font-size:.8em}\n.atc-row{display:flex;gap:6px;align-items:center}\n.atc-row .atf-input{font-size:max(16px,.85em)}\n.atc-row .atf-chip{flex:none}\n.atc-pill{position:absolute;left:0;top:0;pointer-events:auto;min-height:44px;display:flex;align-items:center;gap:6px;padding:0 16px;border-radius:var(--ak-radius-btn,22px);border:2px solid var(--ak-border,#d4a64a);background:var(--ak-soft,#5a3a22);color:var(--ak-fg,#fff6e0);font:inherit;font-weight:700;cursor:pointer}\n.atc-pill svg{width:1.2em;height:1.2em}\n.atc-pill.atf-dot::after{content:'';position:absolute;right:4px;top:4px;width:10px;height:10px;border-radius:50%;background:#e8323a;border:2px solid var(--ak-fg,#fff6e0)}\n.atc-dock .atf-note:empty,.atc-bar .atf-note:empty{display:none}\n.atc-bar{position:absolute;left:8px;right:8px;top:0;pointer-events:auto;display:flex;flex-direction:column;gap:6px;background:var(--ak-bg,rgba(43,29,20,.94));border:2px solid var(--ak-border,#d4a64a);border-radius:var(--ak-radius,14px);padding:6px;box-sizing:border-box;color:var(--ak-fg,#fff6e0);box-shadow:0 -4px 16px rgba(0,0,0,.4)}\n.atc-dms{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}\n.atc-dm{position:absolute;left:0;top:0;white-space:nowrap;font-weight:700;color:#fff;padding:2px 12px;border-radius:999px;background:rgba(0,0,0,.38);text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none;will-change:transform}\n.atc-dm.atc-me{background:rgba(122,42,30,.78);border:2px solid var(--ak-title,#f3d98b);color:#fff6e0}\n";
|
|
61
|
+
/** prefsKey 只认 `<游戏id>.<名字>` 的写法(存储前缀规则:kit 写的 key 一定带游戏前缀),不合格构造时就抛错 */
|
|
62
|
+
export declare function checkPrefsKey(key: unknown, storageKey: string): string;
|
|
63
|
+
export declare class ChatUi {
|
|
64
|
+
/** 最近 KEEP 条,新的在后 */
|
|
65
|
+
readonly lines: ChatLine[];
|
|
66
|
+
static readonly KEEP = 30;
|
|
67
|
+
private readonly h;
|
|
68
|
+
private readonly doc;
|
|
69
|
+
private prefs;
|
|
70
|
+
private on;
|
|
71
|
+
private mode;
|
|
72
|
+
private font;
|
|
73
|
+
private dockEl;
|
|
74
|
+
private pill;
|
|
75
|
+
private btn;
|
|
76
|
+
private bar;
|
|
77
|
+
/** 渲染记录的地方:电脑版聊天框里的那块、互动面板聊天页里的那块 */
|
|
78
|
+
private logs;
|
|
79
|
+
private unread;
|
|
80
|
+
private freeAt;
|
|
81
|
+
private live;
|
|
82
|
+
private pending;
|
|
83
|
+
private waiting;
|
|
84
|
+
private vvFix;
|
|
85
|
+
/** 弹幕自己一层,垫在效果层最底下:气泡、表情、道具永远在弹幕上面 */
|
|
86
|
+
private dm;
|
|
87
|
+
constructor(host: ChatHost);
|
|
88
|
+
private dmLayer;
|
|
89
|
+
private load;
|
|
90
|
+
private save;
|
|
91
|
+
/** 弹幕开着吗:设过就按设的;没设过,系统要求减少动态效果或省内存模式时关 */
|
|
92
|
+
danmaku(): boolean;
|
|
93
|
+
setDanmaku(on: boolean): void;
|
|
94
|
+
danmakuLabel(): string;
|
|
95
|
+
/** on = 这会儿有聊天(游戏开了聊天、设置没关)。窗口变了、座位挪了由 TableFun.refresh 调 */
|
|
96
|
+
refresh(on: boolean): void;
|
|
97
|
+
/** 聊天自己占的地方(气泡、弹幕要避开) */
|
|
98
|
+
rects(): Box[];
|
|
99
|
+
/** 有输入条或聊天框里的输入框正在用(游戏据此暂停快捷键) */
|
|
100
|
+
typing(): boolean;
|
|
101
|
+
private clearDesk;
|
|
102
|
+
private clearPhone;
|
|
103
|
+
private drawDesk;
|
|
104
|
+
private buildDock;
|
|
105
|
+
private fold;
|
|
106
|
+
private drawPhone;
|
|
107
|
+
/** 手机版输入条:快捷词一排、输入框、发送、记录、收起;贴在手牌和操作按钮上面 */
|
|
108
|
+
openBar(): void;
|
|
109
|
+
closeBar(): void;
|
|
110
|
+
private placeBar;
|
|
111
|
+
private hookViewport;
|
|
112
|
+
private unhookViewport;
|
|
113
|
+
private el;
|
|
114
|
+
chip(label: string, key: string, fn: () => void, cls?: string): HTMLButtonElement;
|
|
115
|
+
/** 输入框上方那排快捷词:点了直接按短语发(冷却和互动共用,被冷却挡住时不发) */
|
|
116
|
+
private quick;
|
|
117
|
+
/**
|
|
118
|
+
* 一行输入框 + 发送,下面一行小字(还能打几个字、为什么没发出去)。回车发送;被限速时"发送"倒计时。
|
|
119
|
+
* 电脑版聊天框、手机输入条、互动面板的聊天页共用
|
|
120
|
+
*/
|
|
121
|
+
inputRow(prefix: string, cls?: string): {
|
|
122
|
+
row: HTMLDivElement;
|
|
123
|
+
note: HTMLDivElement;
|
|
124
|
+
input: HTMLInputElement;
|
|
125
|
+
};
|
|
126
|
+
private countdown;
|
|
127
|
+
/** 房间拒了一条:看得见的小字行都说一声 */
|
|
128
|
+
note(text: string): void;
|
|
129
|
+
/** 互动面板的聊天页挂上 / 摘下它的记录区 */
|
|
130
|
+
bindLog(el: HTMLElement | null, old?: HTMLElement | null): void;
|
|
131
|
+
private render;
|
|
132
|
+
private renderOne;
|
|
133
|
+
/** 有人说了一句(打字或快捷短语):进记录、飘弹幕;看不见聊天的时候亮小红点 */
|
|
134
|
+
push(line: ChatLine, panelOpen: boolean): void;
|
|
135
|
+
setUnread(on: boolean): void;
|
|
136
|
+
private danmakuOf;
|
|
137
|
+
/**
|
|
138
|
+
* 弹幕区:游戏给了就用;不给是屏幕 8%–58%,上沿再压到最上面一排座位(头像顶边在屏高 20% 以内的,就是对家那一排)的头像、名牌下沿以下,
|
|
139
|
+
* 顶栏和对家名牌不被横穿;剩下不够两行时往下放宽(最多到 75%),不往上退
|
|
140
|
+
*/
|
|
141
|
+
private area;
|
|
142
|
+
/** 找空轨道飞一条;没有空的返回 false */
|
|
143
|
+
private fly;
|
|
144
|
+
/** 排着的弹幕:到最早那条轨道空出来时再试 */
|
|
145
|
+
private wake;
|
|
146
|
+
destroy(): void;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=table-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-chat.d.ts","sourceRoot":"","sources":["../src/table-chat.ts"],"names":[],"mappings":"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"}
|