@yyyu-star/arcade-kit 0.18.0 → 0.19.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.
package/dist/fun-logic.js CHANGED
@@ -212,6 +212,145 @@ 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
+ */
220
+ export function placeBubble(anchor, w, h, view, avoid = [], margin = 4, gap = 6) {
221
+ const cx = anchor.left + anchor.width / 2;
222
+ const right = { left: anchor.left + anchor.width + gap, top: anchor.top - gap };
223
+ const left = { left: anchor.left - gap - w, top: anchor.top - gap };
224
+ const above = { left: cx - w / 2, top: anchor.top - gap - h };
225
+ const below = { left: cx - w / 2, top: anchor.top + anchor.height + gap };
226
+ const order = cx < view.width / 2 ? [right, left, above, below] : [left, right, above, below];
227
+ const clamp = (p) => ({
228
+ left: Math.max(margin, Math.min(view.width - margin - w, p.left)),
229
+ top: Math.max(margin, Math.min(view.height - margin - h, p.top)),
230
+ width: w,
231
+ height: h,
232
+ });
233
+ let best = null;
234
+ let bestCost = Infinity;
235
+ for (const c of order.map(clamp)) {
236
+ const cost = [anchor, ...avoid].reduce((s, b) => s + overlap(c, b), 0);
237
+ if (cost < bestCost) {
238
+ best = c;
239
+ bestCost = cost;
240
+ if (cost === 0)
241
+ break;
242
+ }
243
+ }
244
+ return { left: best.left, top: best.top };
245
+ }
246
+ export function chatMode(view) {
247
+ return view.width >= 960 && view.height >= 560 ? 'desk' : 'phone';
248
+ }
249
+ /** 气泡、弹幕、聊天框的字号:电脑 18–22px 按短边放大,手机 ≥ 15px(所有者:电脑上气泡太小) */
250
+ export function chatFont(view, mode = chatMode(view)) {
251
+ const m = Math.min(view.width, view.height);
252
+ return mode === 'desk' ? Math.max(18, Math.min(22, Math.round(m / 48))) : m >= 480 ? 16 : 15;
253
+ }
254
+ /** 弹幕的数字:同屏上限、轨道数、横穿一屏的时长和速度上下限(px/秒)、条与条的间距、排队上限 */
255
+ export const DANMAKU = { maxDesk: 12, maxPhone: 6, lanesDesk: 6, lanesPhone: 4, crossMs: 8000, minSpeed: 90, maxSpeed: 260, gap: 32, queue: 8 };
256
+ /** 弹幕速度(px/毫秒):横穿 area 宽度约 crossMs,夹在上下限里;所有条同一速度,后一条追不上前一条 */
257
+ export function danmakuSpeed(width) {
258
+ return Math.max(DANMAKU.minSpeed, Math.min(DANMAKU.maxSpeed, (width * 1000) / DANMAKU.crossMs)) / 1000;
259
+ }
260
+ /**
261
+ * 弹幕轨道(每条轨道的 top):在 area 里按 4px 一档往下找高 lineH 的横条,和 blocked(手牌、按钮、名牌、头像、聊天框)一点不压的优先,
262
+ * 从上往下贪心取、互不重叠;一条不压的都没有时只取压得最少的那一条(宁可从边上擦过也要看得见)。多了均匀挑 max 条,按从上到下排
263
+ */
264
+ export function danmakuLanes(area, lineH, blocked, max, step = 4) {
265
+ if (max <= 0 || lineH <= 0 || area.height < lineH)
266
+ return [];
267
+ const cost = (top) => blocked.reduce((s, b) => s + overlap({ left: area.left, top, width: area.width, height: lineH }, b), 0);
268
+ const free = [];
269
+ let best = area.top;
270
+ let bestCost = Infinity;
271
+ for (let top = area.top; top + lineH <= area.top + area.height + 0.5; top += step) {
272
+ const c = cost(top);
273
+ if (c < bestCost) {
274
+ best = top;
275
+ bestCost = c;
276
+ }
277
+ if (c === 0 && (free.length === 0 || top >= free[free.length - 1] + lineH))
278
+ free.push(top);
279
+ }
280
+ if (free.length === 0)
281
+ return [best];
282
+ if (free.length <= max)
283
+ return free;
284
+ const k = free.length / max;
285
+ return Array.from({ length: max }, (_, i) => free[Math.floor(i * k)]);
286
+ }
287
+ /**
288
+ * 挨着 anchor 放一个 w×h 的东西(手机版"聊天"按钮挨着"互动"按钮):右、左、上、下依次试,中线对齐,
289
+ * 夹在可见区里,和 anchor、avoid 压得最少的胜出
290
+ */
291
+ export function placeBeside(anchor, w, h, view, avoid = [], margin = 4, gap = 8) {
292
+ const cx = anchor.left + anchor.width / 2 - w / 2;
293
+ const cy = anchor.top + anchor.height / 2 - h / 2;
294
+ const order = [
295
+ { left: anchor.left + anchor.width + gap, top: cy },
296
+ { left: anchor.left - gap - w, top: cy },
297
+ { left: cx, top: anchor.top - gap - h },
298
+ { left: cx, top: anchor.top + anchor.height + gap },
299
+ ];
300
+ let best = order[0];
301
+ let bestCost = Infinity;
302
+ for (const p of order) {
303
+ 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 };
304
+ const cost = [anchor, ...avoid].reduce((s, b) => s + overlap(c, b), 0);
305
+ if (cost < bestCost) {
306
+ best = c;
307
+ bestCost = cost;
308
+ if (cost === 0)
309
+ break;
310
+ }
311
+ }
312
+ return { left: best.left, top: best.top };
313
+ }
314
+ /** 挑一条空出来的轨道:freeAt[i] 是第 i 条轨道上一条的尾巴离开起点的时刻;从上往下第一条到点的,都没到点 -1 */
315
+ export function pickLane(freeAt, now) {
316
+ return freeAt.findIndex((t) => t <= now);
317
+ }
318
+ /**
319
+ * 电脑版聊天框(w×h)放牌桌哪个角:左下、右下、左上、右上依次试,和禁区压得最少的胜出(游戏给了位置就不用这个)。
320
+ * 上面两个角从屏幕高度的 9% 往下:几个游戏的顶栏(回大厅、设置)都在那一条里,kit 不知道它们的位置
321
+ */
322
+ export function placeDock(view, w, h, avoid = [], margin = 12) {
323
+ const l = margin;
324
+ const r = Math.max(margin, view.width - margin - w);
325
+ const t = Math.max(margin, Math.round(view.height * 0.09));
326
+ const b = Math.max(margin, view.height - margin - h);
327
+ let best = { left: l, top: b };
328
+ let bestCost = Infinity;
329
+ for (const c of [{ left: l, top: b }, { left: r, top: b }, { left: l, top: t }, { left: r, top: t }]) {
330
+ const cost = avoid.reduce((s, x) => s + overlap({ ...c, width: w, height: h }, x), 0);
331
+ if (cost < bestCost) {
332
+ best = c;
333
+ bestCost = cost;
334
+ if (cost === 0)
335
+ break;
336
+ }
337
+ }
338
+ return best;
339
+ }
340
+ /**
341
+ * 手机版输入条的底边(y):贴在下半屏手牌、操作按钮的上面,不挡它们;上面留不下 h 高(那些东西占了大半屏)就贴屏幕底。
342
+ * 键盘弹起时页面另按可见区再往上挪
343
+ */
344
+ export function barBottom(view, h, avoid = [], margin = 8) {
345
+ const low = avoid.filter((b) => b.top > view.height * 0.4 && b.width > 0 && b.height > 0).map((b) => b.top);
346
+ const y = low.length ? Math.min(...low) - margin : view.height - margin;
347
+ return y - h < view.height * 0.12 ? view.height - margin : y;
348
+ }
349
+ /** 聊天记录、弹幕里名字的颜色:按座位号,自己另用金色高亮 */
350
+ export const SEAT_COLORS = ['#ffd36a', '#7fd0ff', '#ff9f8a', '#a8e07a', '#d4a2ff', '#ffb86b', '#6fe3d0', '#ff8fc7'];
351
+ export function seatColor(seat) {
352
+ return SEAT_COLORS[((seat % SEAT_COLORS.length) + SEAT_COLORS.length) % SEAT_COLORS.length];
353
+ }
215
354
  // ---------- 编号 ----------
216
355
  /**
217
356
  * 编号怎么排(和房间转发的 emote id 一致):短语 0..P-1,表情 P..P+11,道具 P+12..P+19。P 是游戏短语表的长度。
@@ -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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"}