sa2kit 2.0.0 → 2.0.2
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/README.md +1 -1
- package/dist/CollisionBalls-BpHufX3H.d.mts +41 -0
- package/dist/CollisionBalls-BpHufX3H.d.ts +41 -0
- package/dist/ConfigService-BxK06xP6.d.mts +262 -0
- package/dist/ConfigService-BxK06xP6.d.ts +262 -0
- package/dist/UniversalFileService-BpvbZitV.d.mts +139 -0
- package/dist/UniversalFileService-GsP6D3Rc.d.ts +139 -0
- package/dist/audioDetection/index.d.mts +449 -0
- package/dist/audioDetection/index.d.ts +449 -0
- package/dist/audioDetection/index.js +1244 -0
- package/dist/audioDetection/index.js.map +1 -0
- package/dist/audioDetection/index.mjs +1227 -0
- package/dist/audioDetection/index.mjs.map +1 -0
- package/dist/auth/legacy/core/index.d.mts +42 -0
- package/dist/auth/legacy/core/index.d.ts +42 -0
- package/dist/auth/legacy/core/index.js +242 -0
- package/dist/auth/legacy/core/index.js.map +1 -0
- package/dist/auth/legacy/core/index.mjs +226 -0
- package/dist/auth/legacy/core/index.mjs.map +1 -0
- package/dist/auth/legacy/db/index.d.mts +5 -0
- package/dist/auth/legacy/db/index.d.ts +5 -0
- package/dist/auth/legacy/db/index.js +261 -0
- package/dist/auth/legacy/db/index.js.map +1 -0
- package/dist/auth/legacy/db/index.mjs +250 -0
- package/dist/auth/legacy/db/index.mjs.map +1 -0
- package/dist/auth/legacy/index.d.mts +5 -0
- package/dist/auth/legacy/index.d.ts +5 -0
- package/dist/auth/legacy/index.js +1107 -0
- package/dist/auth/legacy/index.js.map +1 -0
- package/dist/auth/legacy/index.mjs +1086 -0
- package/dist/auth/legacy/index.mjs.map +1 -0
- package/dist/auth/legacy/logic/index.d.mts +9 -0
- package/dist/auth/legacy/logic/index.d.ts +9 -0
- package/dist/auth/legacy/logic/index.js +194 -0
- package/dist/auth/legacy/logic/index.js.map +1 -0
- package/dist/auth/legacy/logic/index.mjs +187 -0
- package/dist/auth/legacy/logic/index.mjs.map +1 -0
- package/dist/auth/legacy/miniapp/index.d.mts +5 -0
- package/dist/auth/legacy/miniapp/index.d.ts +5 -0
- package/dist/auth/legacy/miniapp/index.js +506 -0
- package/dist/auth/legacy/miniapp/index.js.map +1 -0
- package/dist/auth/legacy/miniapp/index.mjs +487 -0
- package/dist/auth/legacy/miniapp/index.mjs.map +1 -0
- package/dist/auth/legacy/routes/index.d.mts +53 -0
- package/dist/auth/legacy/routes/index.d.ts +53 -0
- package/dist/auth/legacy/routes/index.js +278 -0
- package/dist/auth/legacy/routes/index.js.map +1 -0
- package/dist/auth/legacy/routes/index.mjs +271 -0
- package/dist/auth/legacy/routes/index.mjs.map +1 -0
- package/dist/auth/legacy/schema/index.d.mts +401 -0
- package/dist/auth/legacy/schema/index.d.ts +401 -0
- package/dist/auth/legacy/schema/index.js +50 -0
- package/dist/auth/legacy/schema/index.js.map +1 -0
- package/dist/auth/legacy/schema/index.mjs +44 -0
- package/dist/auth/legacy/schema/index.mjs.map +1 -0
- package/dist/auth/legacy/server/index.d.mts +13 -0
- package/dist/auth/legacy/server/index.d.ts +13 -0
- package/dist/auth/legacy/server/index.js +21 -0
- package/dist/auth/legacy/server/index.js.map +1 -0
- package/dist/auth/legacy/server/index.mjs +19 -0
- package/dist/auth/legacy/server/index.mjs.map +1 -0
- package/dist/auth/legacy/services/index.d.mts +40 -0
- package/dist/auth/legacy/services/index.d.ts +40 -0
- package/dist/auth/legacy/services/index.js +258 -0
- package/dist/auth/legacy/services/index.js.map +1 -0
- package/dist/auth/legacy/services/index.mjs +252 -0
- package/dist/auth/legacy/services/index.mjs.map +1 -0
- package/dist/auth/legacy/ui/miniapp/index.d.mts +10 -0
- package/dist/auth/legacy/ui/miniapp/index.d.ts +10 -0
- package/dist/auth/legacy/ui/miniapp/index.js +298 -0
- package/dist/auth/legacy/ui/miniapp/index.js.map +1 -0
- package/dist/auth/legacy/ui/miniapp/index.mjs +290 -0
- package/dist/auth/legacy/ui/miniapp/index.mjs.map +1 -0
- package/dist/auth/legacy/ui/web/index.d.mts +22 -0
- package/dist/auth/legacy/ui/web/index.d.ts +22 -0
- package/dist/auth/legacy/ui/web/index.js +899 -0
- package/dist/auth/legacy/ui/web/index.js.map +1 -0
- package/dist/auth/legacy/ui/web/index.mjs +889 -0
- package/dist/auth/legacy/ui/web/index.mjs.map +1 -0
- package/dist/auth/legacy/web/index.d.mts +5 -0
- package/dist/auth/legacy/web/index.d.ts +5 -0
- package/dist/auth/legacy/web/index.js +1107 -0
- package/dist/auth/legacy/web/index.js.map +1 -0
- package/dist/auth/legacy/web/index.mjs +1086 -0
- package/dist/auth/legacy/web/index.mjs.map +1 -0
- package/dist/auth/rn/index.d.mts +64 -0
- package/dist/auth/rn/index.d.ts +64 -0
- package/dist/auth/rn/index.js +765 -0
- package/dist/auth/rn/index.js.map +1 -0
- package/dist/auth/rn/index.mjs +754 -0
- package/dist/auth/rn/index.mjs.map +1 -0
- package/dist/base-api-client-ACKKt13v.d.mts +277 -0
- package/dist/base-api-client-ACKKt13v.d.ts +277 -0
- package/dist/boothVaultService-Cn4WPhjg.d.mts +83 -0
- package/dist/boothVaultService-Cn4WPhjg.d.ts +83 -0
- package/dist/business/index.d.mts +6 -0
- package/dist/business/index.d.ts +6 -0
- package/dist/business/index.js +1682 -0
- package/dist/business/index.js.map +1 -0
- package/dist/business/index.mjs +1675 -0
- package/dist/business/index.mjs.map +1 -0
- package/dist/calendar/index.d.mts +1325 -0
- package/dist/calendar/index.d.ts +1325 -0
- package/dist/calendar/index.js +5964 -0
- package/dist/calendar/index.js.map +1 -0
- package/dist/calendar/index.mjs +5878 -0
- package/dist/calendar/index.mjs.map +1 -0
- package/dist/components/index.d.mts +405 -0
- package/dist/components/index.d.ts +405 -0
- package/dist/components/index.js +2516 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +2396 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/drizzle-schema-BNhqj2AZ.d.mts +1114 -0
- package/dist/drizzle-schema-BNhqj2AZ.d.ts +1114 -0
- package/dist/festivalCard/index.d.mts +75 -0
- package/dist/festivalCard/index.d.ts +75 -0
- package/dist/festivalCard/index.js +1492 -0
- package/dist/festivalCard/index.js.map +1 -0
- package/dist/festivalCard/index.mjs +1475 -0
- package/dist/festivalCard/index.mjs.map +1 -0
- package/dist/festivalCard/server/index.d.mts +120 -0
- package/dist/festivalCard/server/index.d.ts +120 -0
- package/dist/festivalCard/server/index.js +272 -0
- package/dist/festivalCard/server/index.js.map +1 -0
- package/dist/festivalCard/server/index.mjs +265 -0
- package/dist/festivalCard/server/index.mjs.map +1 -0
- package/dist/festivalCardService-CZomuQ4E.d.mts +80 -0
- package/dist/festivalCardService-CZomuQ4E.d.ts +80 -0
- package/dist/index-1Ag7IBXN.d.ts +144 -0
- package/dist/index-DNKZ7-R_.d.mts +184 -0
- package/dist/index-DNKZ7-R_.d.ts +184 -0
- package/dist/index-DSel44Ke.d.mts +93 -0
- package/dist/index-DSel44Ke.d.ts +93 -0
- package/dist/index-DdeZSeTJ.d.mts +144 -0
- package/dist/index-DrPcMJPc.d.mts +250 -0
- package/dist/index-DrPcMJPc.d.ts +250 -0
- package/dist/index.d.mts +5333 -0
- package/dist/index.d.ts +5333 -0
- package/dist/index.js +18809 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +18533 -0
- package/dist/index.mjs.map +1 -0
- package/dist/mikuContest/ui/web/index.d.mts +2 -0
- package/dist/mikuContest/ui/web/index.d.ts +2 -0
- package/dist/mikuContest/ui/web/index.js +353 -0
- package/dist/mikuContest/ui/web/index.js.map +1 -0
- package/dist/mikuContest/ui/web/index.mjs +343 -0
- package/dist/mikuContest/ui/web/index.mjs.map +1 -0
- package/dist/mikuFireworks3D/index.d.mts +268 -0
- package/dist/mikuFireworks3D/index.d.ts +268 -0
- package/dist/mikuFireworks3D/index.js +1267 -0
- package/dist/mikuFireworks3D/index.js.map +1 -0
- package/dist/mikuFireworks3D/index.mjs +1228 -0
- package/dist/mikuFireworks3D/index.mjs.map +1 -0
- package/dist/mikuFusionGame/index.d.mts +117 -0
- package/dist/mikuFusionGame/index.d.ts +117 -0
- package/dist/mikuFusionGame/index.js +1208 -0
- package/dist/mikuFusionGame/index.js.map +1 -0
- package/dist/mikuFusionGame/index.mjs +1195 -0
- package/dist/mikuFusionGame/index.mjs.map +1 -0
- package/dist/mmd/admin/index.d.mts +487 -0
- package/dist/mmd/admin/index.d.ts +487 -0
- package/dist/mmd/admin/index.js +1058 -0
- package/dist/mmd/admin/index.js.map +1 -0
- package/dist/mmd/admin/index.mjs +1027 -0
- package/dist/mmd/admin/index.mjs.map +1 -0
- package/dist/mmd/index.d.mts +2467 -0
- package/dist/mmd/index.d.ts +2467 -0
- package/dist/mmd/index.js +10119 -0
- package/dist/mmd/index.js.map +1 -0
- package/dist/mmd/index.mjs +10028 -0
- package/dist/mmd/index.mjs.map +1 -0
- package/dist/mmd/server/index.d.mts +139 -0
- package/dist/mmd/server/index.d.ts +139 -0
- package/dist/mmd/server/index.js +424 -0
- package/dist/mmd/server/index.js.map +1 -0
- package/dist/mmd/server/index.mjs +404 -0
- package/dist/mmd/server/index.mjs.map +1 -0
- package/dist/music/index.d.mts +74 -0
- package/dist/music/index.d.ts +74 -0
- package/dist/music/index.js +830 -0
- package/dist/music/index.js.map +1 -0
- package/dist/music/index.mjs +809 -0
- package/dist/music/index.mjs.map +1 -0
- package/dist/music/server/index.d.mts +1 -0
- package/dist/music/server/index.d.ts +1 -0
- package/dist/music/server/index.js +194 -0
- package/dist/music/server/index.js.map +1 -0
- package/dist/music/server/index.mjs +182 -0
- package/dist/music/server/index.mjs.map +1 -0
- package/dist/navigation/index.d.mts +93 -0
- package/dist/navigation/index.d.ts +93 -0
- package/dist/navigation/index.js +453 -0
- package/dist/navigation/index.js.map +1 -0
- package/dist/navigation/index.mjs +443 -0
- package/dist/navigation/index.mjs.map +1 -0
- package/dist/portfolio/index.d.mts +66 -0
- package/dist/portfolio/index.d.ts +66 -0
- package/dist/portfolio/index.js +736 -0
- package/dist/portfolio/index.js.map +1 -0
- package/dist/portfolio/index.mjs +724 -0
- package/dist/portfolio/index.mjs.map +1 -0
- package/dist/qqbot/server/index.d.mts +216 -0
- package/dist/qqbot/server/index.d.ts +216 -0
- package/dist/qqbot/server/index.js +394 -0
- package/dist/qqbot/server/index.js.map +1 -0
- package/dist/qqbot/server/index.mjs +385 -0
- package/dist/qqbot/server/index.mjs.map +1 -0
- package/dist/qqbot/ui/web/index.d.mts +10 -0
- package/dist/qqbot/ui/web/index.d.ts +10 -0
- package/dist/qqbot/ui/web/index.js +105 -0
- package/dist/qqbot/ui/web/index.js.map +1 -0
- package/dist/qqbot/ui/web/index.mjs +99 -0
- package/dist/qqbot/ui/web/index.mjs.map +1 -0
- package/dist/screenReceiver/index.d.mts +86 -0
- package/dist/screenReceiver/index.d.ts +86 -0
- package/dist/screenReceiver/index.js +281 -0
- package/dist/screenReceiver/index.js.map +1 -0
- package/dist/screenReceiver/index.mjs +273 -0
- package/dist/screenReceiver/index.mjs.map +1 -0
- package/dist/testYourself/admin/index.d.mts +58 -0
- package/dist/testYourself/admin/index.d.ts +58 -0
- package/dist/testYourself/admin/index.js +1009 -0
- package/dist/testYourself/admin/index.js.map +1 -0
- package/dist/testYourself/admin/index.mjs +1002 -0
- package/dist/testYourself/admin/index.mjs.map +1 -0
- package/dist/testYourself/index.d.mts +53 -0
- package/dist/testYourself/index.d.ts +53 -0
- package/dist/testYourself/index.js +2551 -0
- package/dist/testYourself/index.js.map +1 -0
- package/dist/testYourself/index.mjs +2531 -0
- package/dist/testYourself/index.mjs.map +1 -0
- package/dist/testYourself/server/index.d.mts +1029 -0
- package/dist/testYourself/server/index.d.ts +1029 -0
- package/dist/testYourself/server/index.js +825 -0
- package/dist/testYourself/server/index.js.map +1 -0
- package/dist/testYourself/server/index.mjs +816 -0
- package/dist/testYourself/server/index.mjs.map +1 -0
- package/dist/types-BTiaMsBz.d.mts +292 -0
- package/dist/types-DyG3ZV9V.d.mts +270 -0
- package/dist/types-DyG3ZV9V.d.ts +270 -0
- package/dist/types-ERmJyjx8.d.ts +292 -0
- package/dist/types-HorDyIRv.d.mts +303 -0
- package/dist/types-HorDyIRv.d.ts +303 -0
- package/dist/vocaloidBooth/index.d.mts +64 -0
- package/dist/vocaloidBooth/index.d.ts +64 -0
- package/dist/vocaloidBooth/index.js +376 -0
- package/dist/vocaloidBooth/index.js.map +1 -0
- package/dist/vocaloidBooth/index.mjs +362 -0
- package/dist/vocaloidBooth/index.mjs.map +1 -0
- package/dist/vocaloidBooth/server/index.d.mts +111 -0
- package/dist/vocaloidBooth/server/index.d.ts +111 -0
- package/dist/vocaloidBooth/server/index.js +247 -0
- package/dist/vocaloidBooth/server/index.js.map +1 -0
- package/dist/vocaloidBooth/server/index.mjs +237 -0
- package/dist/vocaloidBooth/server/index.mjs.map +1 -0
- package/dist/vocaloidBooth/web/index.d.mts +3 -0
- package/dist/vocaloidBooth/web/index.d.ts +3 -0
- package/dist/vocaloidBooth/web/index.js +376 -0
- package/dist/vocaloidBooth/web/index.js.map +1 -0
- package/dist/vocaloidBooth/web/index.mjs +362 -0
- package/dist/vocaloidBooth/web/index.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
type FireworkKind = 'normal' | 'miku' | 'avatar';
|
|
5
|
+
interface DanmakuMessage {
|
|
6
|
+
id: string;
|
|
7
|
+
userId?: string;
|
|
8
|
+
text: string;
|
|
9
|
+
color?: string;
|
|
10
|
+
timestamp: number;
|
|
11
|
+
}
|
|
12
|
+
interface FireworkPosition {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
z: number;
|
|
16
|
+
}
|
|
17
|
+
interface FireworkLaunchPayload {
|
|
18
|
+
kind: FireworkKind;
|
|
19
|
+
position?: FireworkPosition;
|
|
20
|
+
color?: string;
|
|
21
|
+
avatarUrl?: string;
|
|
22
|
+
message?: DanmakuMessage;
|
|
23
|
+
}
|
|
24
|
+
interface FireworkEngineOptions {
|
|
25
|
+
maxParticles?: number;
|
|
26
|
+
maxActiveFireworks?: number;
|
|
27
|
+
onError?: (error: Error) => void;
|
|
28
|
+
onFpsReport?: (fps: number) => void;
|
|
29
|
+
}
|
|
30
|
+
interface MikuFireworks3DProps {
|
|
31
|
+
width?: number | string;
|
|
32
|
+
height?: number | string;
|
|
33
|
+
className?: string;
|
|
34
|
+
defaultKind?: FireworkKind;
|
|
35
|
+
autoLaunchOnDanmaku?: boolean;
|
|
36
|
+
maxParticles?: number;
|
|
37
|
+
maxActiveFireworks?: number;
|
|
38
|
+
defaultAvatarUrl?: string;
|
|
39
|
+
realtime?: FireworksRealtimeConfig;
|
|
40
|
+
onLaunch?: (payload: FireworkLaunchPayload) => void;
|
|
41
|
+
onDanmakuSend?: (message: DanmakuMessage) => void;
|
|
42
|
+
onError?: (error: Error) => void;
|
|
43
|
+
onFpsReport?: (fps: number) => void;
|
|
44
|
+
onRealtimeStateChange?: (state: FireworksRealtimeState) => void;
|
|
45
|
+
}
|
|
46
|
+
interface DanmakuSendResult {
|
|
47
|
+
message: DanmakuMessage;
|
|
48
|
+
launchKind?: FireworkKind;
|
|
49
|
+
}
|
|
50
|
+
interface DanmakuControllerOptions {
|
|
51
|
+
onSend?: (message: DanmakuMessage) => void;
|
|
52
|
+
}
|
|
53
|
+
interface FireworksRealtimeUser {
|
|
54
|
+
userId: string;
|
|
55
|
+
nickname?: string;
|
|
56
|
+
avatarUrl?: string;
|
|
57
|
+
}
|
|
58
|
+
interface FireworksRealtimeConfig {
|
|
59
|
+
enabled?: boolean;
|
|
60
|
+
serverUrl: string;
|
|
61
|
+
roomId: string;
|
|
62
|
+
user: FireworksRealtimeUser;
|
|
63
|
+
protocols?: string | string[];
|
|
64
|
+
reconnect?: boolean;
|
|
65
|
+
reconnectIntervalMs?: number;
|
|
66
|
+
}
|
|
67
|
+
interface FireworksRealtimeState {
|
|
68
|
+
connected: boolean;
|
|
69
|
+
joined: boolean;
|
|
70
|
+
onlineCount: number;
|
|
71
|
+
roomId?: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
declare function MikuFireworks3D({ width, height, className, defaultKind, autoLaunchOnDanmaku, maxParticles, maxActiveFireworks, defaultAvatarUrl, onLaunch, onDanmakuSend, onError, onFpsReport, onRealtimeStateChange, realtime, }: MikuFireworks3DProps): React__default.JSX.Element;
|
|
75
|
+
|
|
76
|
+
interface FireworksCanvasProps {
|
|
77
|
+
canvasRef: React__default.RefObject<HTMLCanvasElement>;
|
|
78
|
+
}
|
|
79
|
+
declare function FireworksCanvas({ canvasRef }: FireworksCanvasProps): React__default.JSX.Element;
|
|
80
|
+
|
|
81
|
+
interface FireworksControlPanelProps {
|
|
82
|
+
selectedKind: FireworkKind;
|
|
83
|
+
onKindChange: (kind: FireworkKind) => void;
|
|
84
|
+
autoLaunchOnDanmaku: boolean;
|
|
85
|
+
onAutoLaunchChange: (value: boolean) => void;
|
|
86
|
+
avatarUrl: string;
|
|
87
|
+
onAvatarUrlChange: (value: string) => void;
|
|
88
|
+
onLaunch: () => void;
|
|
89
|
+
fps: number;
|
|
90
|
+
realtimeConnected?: boolean;
|
|
91
|
+
onlineCount?: number;
|
|
92
|
+
}
|
|
93
|
+
declare function FireworksControlPanel({ selectedKind, onKindChange, autoLaunchOnDanmaku, onAutoLaunchChange, avatarUrl, onAvatarUrlChange, onLaunch, fps, realtimeConnected, onlineCount, }: FireworksControlPanelProps): React__default.JSX.Element;
|
|
94
|
+
|
|
95
|
+
interface DanmakuPanelProps {
|
|
96
|
+
onSend: (text: string) => void;
|
|
97
|
+
}
|
|
98
|
+
declare function DanmakuPanel({ onSend }: DanmakuPanelProps): React__default.JSX.Element;
|
|
99
|
+
|
|
100
|
+
interface RealtimeDanmakuEvent {
|
|
101
|
+
id: string;
|
|
102
|
+
roomId: string;
|
|
103
|
+
text: string;
|
|
104
|
+
color?: string;
|
|
105
|
+
kind?: FireworkKind;
|
|
106
|
+
user: FireworksRealtimeUser;
|
|
107
|
+
timestamp: number;
|
|
108
|
+
}
|
|
109
|
+
interface RealtimeFireworkEvent {
|
|
110
|
+
id: string;
|
|
111
|
+
roomId: string;
|
|
112
|
+
payload: FireworkLaunchPayload;
|
|
113
|
+
user: FireworksRealtimeUser;
|
|
114
|
+
timestamp: number;
|
|
115
|
+
}
|
|
116
|
+
type ServerMessage = {
|
|
117
|
+
type: 'joined';
|
|
118
|
+
roomId: string;
|
|
119
|
+
onlineCount: number;
|
|
120
|
+
self: FireworksRealtimeUser;
|
|
121
|
+
} | {
|
|
122
|
+
type: 'room.snapshot';
|
|
123
|
+
roomId: string;
|
|
124
|
+
users: FireworksRealtimeUser[];
|
|
125
|
+
danmakuHistory: RealtimeDanmakuEvent[];
|
|
126
|
+
fireworkHistory: RealtimeFireworkEvent[];
|
|
127
|
+
} | {
|
|
128
|
+
type: 'room.user_joined';
|
|
129
|
+
roomId: string;
|
|
130
|
+
user: FireworksRealtimeUser;
|
|
131
|
+
onlineCount: number;
|
|
132
|
+
} | {
|
|
133
|
+
type: 'room.user_left';
|
|
134
|
+
roomId: string;
|
|
135
|
+
userId: string;
|
|
136
|
+
onlineCount: number;
|
|
137
|
+
} | {
|
|
138
|
+
type: 'danmaku.broadcast';
|
|
139
|
+
roomId: string;
|
|
140
|
+
event: RealtimeDanmakuEvent;
|
|
141
|
+
} | {
|
|
142
|
+
type: 'firework.broadcast';
|
|
143
|
+
roomId: string;
|
|
144
|
+
event: RealtimeFireworkEvent;
|
|
145
|
+
} | {
|
|
146
|
+
type: 'error';
|
|
147
|
+
code: string;
|
|
148
|
+
message: string;
|
|
149
|
+
} | {
|
|
150
|
+
type: 'pong';
|
|
151
|
+
ts: number;
|
|
152
|
+
};
|
|
153
|
+
interface WebSocketTransportCallbacks {
|
|
154
|
+
onStateChange?: (state: FireworksRealtimeState) => void;
|
|
155
|
+
onDanmakuBroadcast?: (event: RealtimeDanmakuEvent) => void;
|
|
156
|
+
onFireworkBroadcast?: (event: RealtimeFireworkEvent) => void;
|
|
157
|
+
onSnapshot?: (snapshot: Extract<ServerMessage, {
|
|
158
|
+
type: 'room.snapshot';
|
|
159
|
+
}>) => void;
|
|
160
|
+
onError?: (error: Error) => void;
|
|
161
|
+
}
|
|
162
|
+
declare class WebSocketTransport {
|
|
163
|
+
private socket;
|
|
164
|
+
private reconnectTimer;
|
|
165
|
+
private isManualClose;
|
|
166
|
+
private readonly pendingQueue;
|
|
167
|
+
private readonly config;
|
|
168
|
+
private readonly callbacks;
|
|
169
|
+
private state;
|
|
170
|
+
constructor(config: FireworksRealtimeConfig, callbacks?: WebSocketTransportCallbacks);
|
|
171
|
+
connect(): void;
|
|
172
|
+
disconnect(): void;
|
|
173
|
+
sendDanmaku(payload: {
|
|
174
|
+
text: string;
|
|
175
|
+
color?: string;
|
|
176
|
+
kind?: FireworkKind;
|
|
177
|
+
}): void;
|
|
178
|
+
sendFirework(payload: FireworkLaunchPayload): void;
|
|
179
|
+
getState(): FireworksRealtimeState;
|
|
180
|
+
private send;
|
|
181
|
+
private updateState;
|
|
182
|
+
private handleServerMessage;
|
|
183
|
+
private scheduleReconnect;
|
|
184
|
+
private flushPendingQueue;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
interface UseFireworksEngineOptions extends FireworkEngineOptions {
|
|
188
|
+
onLaunch?: (payload: FireworkLaunchPayload) => void;
|
|
189
|
+
}
|
|
190
|
+
declare function useFireworksEngine(options?: UseFireworksEngineOptions): {
|
|
191
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
192
|
+
canvasRef: React.RefObject<HTMLCanvasElement>;
|
|
193
|
+
launch: (payload: FireworkLaunchPayload) => void;
|
|
194
|
+
fps: number;
|
|
195
|
+
engineReady: boolean;
|
|
196
|
+
pendingLaunchCount: number;
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
interface DanmakuOverlayItem extends DanmakuMessage {
|
|
200
|
+
track: number;
|
|
201
|
+
durationMs: number;
|
|
202
|
+
}
|
|
203
|
+
interface SendDanmakuOptions {
|
|
204
|
+
optimistic?: boolean;
|
|
205
|
+
}
|
|
206
|
+
declare function useDanmakuController(options?: DanmakuControllerOptions): {
|
|
207
|
+
items: DanmakuOverlayItem[];
|
|
208
|
+
send: (text: string, color?: string, sendOptions?: SendDanmakuOptions) => DanmakuSendResult | null;
|
|
209
|
+
addIncoming: (message: DanmakuMessage) => void;
|
|
210
|
+
removeItem: (id: string) => void;
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
interface UseFireworksRealtimeOptions {
|
|
214
|
+
config?: FireworksRealtimeConfig;
|
|
215
|
+
enabled?: boolean;
|
|
216
|
+
onDanmakuBroadcast?: (event: {
|
|
217
|
+
text: string;
|
|
218
|
+
color?: string;
|
|
219
|
+
kind?: FireworkKind;
|
|
220
|
+
userId: string;
|
|
221
|
+
timestamp: number;
|
|
222
|
+
id: string;
|
|
223
|
+
}) => void;
|
|
224
|
+
onFireworkBroadcast?: (event: {
|
|
225
|
+
id: string;
|
|
226
|
+
payload: FireworkLaunchPayload;
|
|
227
|
+
userId: string;
|
|
228
|
+
timestamp: number;
|
|
229
|
+
}) => void;
|
|
230
|
+
onSnapshot?: (snapshot: {
|
|
231
|
+
roomId: string;
|
|
232
|
+
danmakuHistory: Array<{
|
|
233
|
+
id: string;
|
|
234
|
+
text: string;
|
|
235
|
+
color?: string;
|
|
236
|
+
kind?: FireworkKind;
|
|
237
|
+
userId: string;
|
|
238
|
+
timestamp: number;
|
|
239
|
+
}>;
|
|
240
|
+
fireworkHistory: Array<{
|
|
241
|
+
id: string;
|
|
242
|
+
payload: FireworkLaunchPayload;
|
|
243
|
+
userId: string;
|
|
244
|
+
timestamp: number;
|
|
245
|
+
}>;
|
|
246
|
+
}) => void;
|
|
247
|
+
onError?: (error: Error) => void;
|
|
248
|
+
onStateChange?: (state: FireworksRealtimeState) => void;
|
|
249
|
+
}
|
|
250
|
+
declare function useFireworksRealtime(options: UseFireworksRealtimeOptions): {
|
|
251
|
+
state: FireworksRealtimeState;
|
|
252
|
+
sendDanmaku: (payload: {
|
|
253
|
+
text: string;
|
|
254
|
+
color?: string;
|
|
255
|
+
kind?: FireworkKind;
|
|
256
|
+
}) => void;
|
|
257
|
+
sendFirework: (payload: FireworkLaunchPayload) => void;
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
declare const DEFAULT_MAX_PARTICLES = 5000;
|
|
261
|
+
declare const DEFAULT_MAX_ACTIVE_FIREWORKS = 12;
|
|
262
|
+
declare const FIREWORK_KIND_LABELS: Record<FireworkKind, string>;
|
|
263
|
+
declare const MIKU_PALETTE: string[];
|
|
264
|
+
declare const NORMAL_PALETTE: string[];
|
|
265
|
+
declare const DANMAKU_MAX_LENGTH = 32;
|
|
266
|
+
declare const DANMAKU_TRACK_COUNT = 8;
|
|
267
|
+
|
|
268
|
+
export { DANMAKU_MAX_LENGTH, DANMAKU_TRACK_COUNT, DEFAULT_MAX_ACTIVE_FIREWORKS, DEFAULT_MAX_PARTICLES, type DanmakuControllerOptions, type DanmakuMessage, type DanmakuOverlayItem, DanmakuPanel, type DanmakuSendResult, FIREWORK_KIND_LABELS, type FireworkEngineOptions, type FireworkKind, type FireworkLaunchPayload, type FireworkPosition, FireworksCanvas, FireworksControlPanel, type FireworksRealtimeConfig, type FireworksRealtimeState, type FireworksRealtimeUser, MIKU_PALETTE, MikuFireworks3D, type MikuFireworks3DProps, NORMAL_PALETTE, type UseFireworksEngineOptions, WebSocketTransport, type WebSocketTransportCallbacks, useDanmakuController, useFireworksEngine, useFireworksRealtime };
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
type FireworkKind = 'normal' | 'miku' | 'avatar';
|
|
5
|
+
interface DanmakuMessage {
|
|
6
|
+
id: string;
|
|
7
|
+
userId?: string;
|
|
8
|
+
text: string;
|
|
9
|
+
color?: string;
|
|
10
|
+
timestamp: number;
|
|
11
|
+
}
|
|
12
|
+
interface FireworkPosition {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
z: number;
|
|
16
|
+
}
|
|
17
|
+
interface FireworkLaunchPayload {
|
|
18
|
+
kind: FireworkKind;
|
|
19
|
+
position?: FireworkPosition;
|
|
20
|
+
color?: string;
|
|
21
|
+
avatarUrl?: string;
|
|
22
|
+
message?: DanmakuMessage;
|
|
23
|
+
}
|
|
24
|
+
interface FireworkEngineOptions {
|
|
25
|
+
maxParticles?: number;
|
|
26
|
+
maxActiveFireworks?: number;
|
|
27
|
+
onError?: (error: Error) => void;
|
|
28
|
+
onFpsReport?: (fps: number) => void;
|
|
29
|
+
}
|
|
30
|
+
interface MikuFireworks3DProps {
|
|
31
|
+
width?: number | string;
|
|
32
|
+
height?: number | string;
|
|
33
|
+
className?: string;
|
|
34
|
+
defaultKind?: FireworkKind;
|
|
35
|
+
autoLaunchOnDanmaku?: boolean;
|
|
36
|
+
maxParticles?: number;
|
|
37
|
+
maxActiveFireworks?: number;
|
|
38
|
+
defaultAvatarUrl?: string;
|
|
39
|
+
realtime?: FireworksRealtimeConfig;
|
|
40
|
+
onLaunch?: (payload: FireworkLaunchPayload) => void;
|
|
41
|
+
onDanmakuSend?: (message: DanmakuMessage) => void;
|
|
42
|
+
onError?: (error: Error) => void;
|
|
43
|
+
onFpsReport?: (fps: number) => void;
|
|
44
|
+
onRealtimeStateChange?: (state: FireworksRealtimeState) => void;
|
|
45
|
+
}
|
|
46
|
+
interface DanmakuSendResult {
|
|
47
|
+
message: DanmakuMessage;
|
|
48
|
+
launchKind?: FireworkKind;
|
|
49
|
+
}
|
|
50
|
+
interface DanmakuControllerOptions {
|
|
51
|
+
onSend?: (message: DanmakuMessage) => void;
|
|
52
|
+
}
|
|
53
|
+
interface FireworksRealtimeUser {
|
|
54
|
+
userId: string;
|
|
55
|
+
nickname?: string;
|
|
56
|
+
avatarUrl?: string;
|
|
57
|
+
}
|
|
58
|
+
interface FireworksRealtimeConfig {
|
|
59
|
+
enabled?: boolean;
|
|
60
|
+
serverUrl: string;
|
|
61
|
+
roomId: string;
|
|
62
|
+
user: FireworksRealtimeUser;
|
|
63
|
+
protocols?: string | string[];
|
|
64
|
+
reconnect?: boolean;
|
|
65
|
+
reconnectIntervalMs?: number;
|
|
66
|
+
}
|
|
67
|
+
interface FireworksRealtimeState {
|
|
68
|
+
connected: boolean;
|
|
69
|
+
joined: boolean;
|
|
70
|
+
onlineCount: number;
|
|
71
|
+
roomId?: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
declare function MikuFireworks3D({ width, height, className, defaultKind, autoLaunchOnDanmaku, maxParticles, maxActiveFireworks, defaultAvatarUrl, onLaunch, onDanmakuSend, onError, onFpsReport, onRealtimeStateChange, realtime, }: MikuFireworks3DProps): React__default.JSX.Element;
|
|
75
|
+
|
|
76
|
+
interface FireworksCanvasProps {
|
|
77
|
+
canvasRef: React__default.RefObject<HTMLCanvasElement>;
|
|
78
|
+
}
|
|
79
|
+
declare function FireworksCanvas({ canvasRef }: FireworksCanvasProps): React__default.JSX.Element;
|
|
80
|
+
|
|
81
|
+
interface FireworksControlPanelProps {
|
|
82
|
+
selectedKind: FireworkKind;
|
|
83
|
+
onKindChange: (kind: FireworkKind) => void;
|
|
84
|
+
autoLaunchOnDanmaku: boolean;
|
|
85
|
+
onAutoLaunchChange: (value: boolean) => void;
|
|
86
|
+
avatarUrl: string;
|
|
87
|
+
onAvatarUrlChange: (value: string) => void;
|
|
88
|
+
onLaunch: () => void;
|
|
89
|
+
fps: number;
|
|
90
|
+
realtimeConnected?: boolean;
|
|
91
|
+
onlineCount?: number;
|
|
92
|
+
}
|
|
93
|
+
declare function FireworksControlPanel({ selectedKind, onKindChange, autoLaunchOnDanmaku, onAutoLaunchChange, avatarUrl, onAvatarUrlChange, onLaunch, fps, realtimeConnected, onlineCount, }: FireworksControlPanelProps): React__default.JSX.Element;
|
|
94
|
+
|
|
95
|
+
interface DanmakuPanelProps {
|
|
96
|
+
onSend: (text: string) => void;
|
|
97
|
+
}
|
|
98
|
+
declare function DanmakuPanel({ onSend }: DanmakuPanelProps): React__default.JSX.Element;
|
|
99
|
+
|
|
100
|
+
interface RealtimeDanmakuEvent {
|
|
101
|
+
id: string;
|
|
102
|
+
roomId: string;
|
|
103
|
+
text: string;
|
|
104
|
+
color?: string;
|
|
105
|
+
kind?: FireworkKind;
|
|
106
|
+
user: FireworksRealtimeUser;
|
|
107
|
+
timestamp: number;
|
|
108
|
+
}
|
|
109
|
+
interface RealtimeFireworkEvent {
|
|
110
|
+
id: string;
|
|
111
|
+
roomId: string;
|
|
112
|
+
payload: FireworkLaunchPayload;
|
|
113
|
+
user: FireworksRealtimeUser;
|
|
114
|
+
timestamp: number;
|
|
115
|
+
}
|
|
116
|
+
type ServerMessage = {
|
|
117
|
+
type: 'joined';
|
|
118
|
+
roomId: string;
|
|
119
|
+
onlineCount: number;
|
|
120
|
+
self: FireworksRealtimeUser;
|
|
121
|
+
} | {
|
|
122
|
+
type: 'room.snapshot';
|
|
123
|
+
roomId: string;
|
|
124
|
+
users: FireworksRealtimeUser[];
|
|
125
|
+
danmakuHistory: RealtimeDanmakuEvent[];
|
|
126
|
+
fireworkHistory: RealtimeFireworkEvent[];
|
|
127
|
+
} | {
|
|
128
|
+
type: 'room.user_joined';
|
|
129
|
+
roomId: string;
|
|
130
|
+
user: FireworksRealtimeUser;
|
|
131
|
+
onlineCount: number;
|
|
132
|
+
} | {
|
|
133
|
+
type: 'room.user_left';
|
|
134
|
+
roomId: string;
|
|
135
|
+
userId: string;
|
|
136
|
+
onlineCount: number;
|
|
137
|
+
} | {
|
|
138
|
+
type: 'danmaku.broadcast';
|
|
139
|
+
roomId: string;
|
|
140
|
+
event: RealtimeDanmakuEvent;
|
|
141
|
+
} | {
|
|
142
|
+
type: 'firework.broadcast';
|
|
143
|
+
roomId: string;
|
|
144
|
+
event: RealtimeFireworkEvent;
|
|
145
|
+
} | {
|
|
146
|
+
type: 'error';
|
|
147
|
+
code: string;
|
|
148
|
+
message: string;
|
|
149
|
+
} | {
|
|
150
|
+
type: 'pong';
|
|
151
|
+
ts: number;
|
|
152
|
+
};
|
|
153
|
+
interface WebSocketTransportCallbacks {
|
|
154
|
+
onStateChange?: (state: FireworksRealtimeState) => void;
|
|
155
|
+
onDanmakuBroadcast?: (event: RealtimeDanmakuEvent) => void;
|
|
156
|
+
onFireworkBroadcast?: (event: RealtimeFireworkEvent) => void;
|
|
157
|
+
onSnapshot?: (snapshot: Extract<ServerMessage, {
|
|
158
|
+
type: 'room.snapshot';
|
|
159
|
+
}>) => void;
|
|
160
|
+
onError?: (error: Error) => void;
|
|
161
|
+
}
|
|
162
|
+
declare class WebSocketTransport {
|
|
163
|
+
private socket;
|
|
164
|
+
private reconnectTimer;
|
|
165
|
+
private isManualClose;
|
|
166
|
+
private readonly pendingQueue;
|
|
167
|
+
private readonly config;
|
|
168
|
+
private readonly callbacks;
|
|
169
|
+
private state;
|
|
170
|
+
constructor(config: FireworksRealtimeConfig, callbacks?: WebSocketTransportCallbacks);
|
|
171
|
+
connect(): void;
|
|
172
|
+
disconnect(): void;
|
|
173
|
+
sendDanmaku(payload: {
|
|
174
|
+
text: string;
|
|
175
|
+
color?: string;
|
|
176
|
+
kind?: FireworkKind;
|
|
177
|
+
}): void;
|
|
178
|
+
sendFirework(payload: FireworkLaunchPayload): void;
|
|
179
|
+
getState(): FireworksRealtimeState;
|
|
180
|
+
private send;
|
|
181
|
+
private updateState;
|
|
182
|
+
private handleServerMessage;
|
|
183
|
+
private scheduleReconnect;
|
|
184
|
+
private flushPendingQueue;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
interface UseFireworksEngineOptions extends FireworkEngineOptions {
|
|
188
|
+
onLaunch?: (payload: FireworkLaunchPayload) => void;
|
|
189
|
+
}
|
|
190
|
+
declare function useFireworksEngine(options?: UseFireworksEngineOptions): {
|
|
191
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
192
|
+
canvasRef: React.RefObject<HTMLCanvasElement>;
|
|
193
|
+
launch: (payload: FireworkLaunchPayload) => void;
|
|
194
|
+
fps: number;
|
|
195
|
+
engineReady: boolean;
|
|
196
|
+
pendingLaunchCount: number;
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
interface DanmakuOverlayItem extends DanmakuMessage {
|
|
200
|
+
track: number;
|
|
201
|
+
durationMs: number;
|
|
202
|
+
}
|
|
203
|
+
interface SendDanmakuOptions {
|
|
204
|
+
optimistic?: boolean;
|
|
205
|
+
}
|
|
206
|
+
declare function useDanmakuController(options?: DanmakuControllerOptions): {
|
|
207
|
+
items: DanmakuOverlayItem[];
|
|
208
|
+
send: (text: string, color?: string, sendOptions?: SendDanmakuOptions) => DanmakuSendResult | null;
|
|
209
|
+
addIncoming: (message: DanmakuMessage) => void;
|
|
210
|
+
removeItem: (id: string) => void;
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
interface UseFireworksRealtimeOptions {
|
|
214
|
+
config?: FireworksRealtimeConfig;
|
|
215
|
+
enabled?: boolean;
|
|
216
|
+
onDanmakuBroadcast?: (event: {
|
|
217
|
+
text: string;
|
|
218
|
+
color?: string;
|
|
219
|
+
kind?: FireworkKind;
|
|
220
|
+
userId: string;
|
|
221
|
+
timestamp: number;
|
|
222
|
+
id: string;
|
|
223
|
+
}) => void;
|
|
224
|
+
onFireworkBroadcast?: (event: {
|
|
225
|
+
id: string;
|
|
226
|
+
payload: FireworkLaunchPayload;
|
|
227
|
+
userId: string;
|
|
228
|
+
timestamp: number;
|
|
229
|
+
}) => void;
|
|
230
|
+
onSnapshot?: (snapshot: {
|
|
231
|
+
roomId: string;
|
|
232
|
+
danmakuHistory: Array<{
|
|
233
|
+
id: string;
|
|
234
|
+
text: string;
|
|
235
|
+
color?: string;
|
|
236
|
+
kind?: FireworkKind;
|
|
237
|
+
userId: string;
|
|
238
|
+
timestamp: number;
|
|
239
|
+
}>;
|
|
240
|
+
fireworkHistory: Array<{
|
|
241
|
+
id: string;
|
|
242
|
+
payload: FireworkLaunchPayload;
|
|
243
|
+
userId: string;
|
|
244
|
+
timestamp: number;
|
|
245
|
+
}>;
|
|
246
|
+
}) => void;
|
|
247
|
+
onError?: (error: Error) => void;
|
|
248
|
+
onStateChange?: (state: FireworksRealtimeState) => void;
|
|
249
|
+
}
|
|
250
|
+
declare function useFireworksRealtime(options: UseFireworksRealtimeOptions): {
|
|
251
|
+
state: FireworksRealtimeState;
|
|
252
|
+
sendDanmaku: (payload: {
|
|
253
|
+
text: string;
|
|
254
|
+
color?: string;
|
|
255
|
+
kind?: FireworkKind;
|
|
256
|
+
}) => void;
|
|
257
|
+
sendFirework: (payload: FireworkLaunchPayload) => void;
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
declare const DEFAULT_MAX_PARTICLES = 5000;
|
|
261
|
+
declare const DEFAULT_MAX_ACTIVE_FIREWORKS = 12;
|
|
262
|
+
declare const FIREWORK_KIND_LABELS: Record<FireworkKind, string>;
|
|
263
|
+
declare const MIKU_PALETTE: string[];
|
|
264
|
+
declare const NORMAL_PALETTE: string[];
|
|
265
|
+
declare const DANMAKU_MAX_LENGTH = 32;
|
|
266
|
+
declare const DANMAKU_TRACK_COUNT = 8;
|
|
267
|
+
|
|
268
|
+
export { DANMAKU_MAX_LENGTH, DANMAKU_TRACK_COUNT, DEFAULT_MAX_ACTIVE_FIREWORKS, DEFAULT_MAX_PARTICLES, type DanmakuControllerOptions, type DanmakuMessage, type DanmakuOverlayItem, DanmakuPanel, type DanmakuSendResult, FIREWORK_KIND_LABELS, type FireworkEngineOptions, type FireworkKind, type FireworkLaunchPayload, type FireworkPosition, FireworksCanvas, FireworksControlPanel, type FireworksRealtimeConfig, type FireworksRealtimeState, type FireworksRealtimeUser, MIKU_PALETTE, MikuFireworks3D, type MikuFireworks3DProps, NORMAL_PALETTE, type UseFireworksEngineOptions, WebSocketTransport, type WebSocketTransportCallbacks, useDanmakuController, useFireworksEngine, useFireworksRealtime };
|