@vivi2d/web 0.1.0-alpha.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/LICENSE +160 -0
- package/README.md +201 -0
- package/dist/CanvasPool-CASccukD.js +48 -0
- package/dist/CanvasPool-CASccukD.js.map +1 -0
- package/dist/CanvasRenderer-BWDoXN0L.js +5750 -0
- package/dist/CanvasRenderer-BWDoXN0L.js.map +1 -0
- package/dist/GpuStencilModesToPixi-c2lsBIrd.js +221 -0
- package/dist/GpuStencilModesToPixi-c2lsBIrd.js.map +1 -0
- package/dist/RenderTargetSystem-BCowAg_f.js +3493 -0
- package/dist/RenderTargetSystem-BCowAg_f.js.map +1 -0
- package/dist/WebGLRenderer-KKZauisz.js +2236 -0
- package/dist/WebGLRenderer-KKZauisz.js.map +1 -0
- package/dist/WebGPURenderer-xmqgPtcF.js +1632 -0
- package/dist/WebGPURenderer-xmqgPtcF.js.map +1 -0
- package/dist/auto-register.d.ts +1 -0
- package/dist/auto-register.js +3 -0
- package/dist/auto-register.js.map +1 -0
- package/dist/browserAll-DQ0eWekj.js +1872 -0
- package/dist/browserAll-DQ0eWekj.js.map +1 -0
- package/dist/canvasUtils-BSaR9Fot.js +210 -0
- package/dist/canvasUtils-BSaR9Fot.js.map +1 -0
- package/dist/errors.d.ts +12 -0
- package/dist/getTextureBatchBindGroup-BYhXfZM4.js +22 -0
- package/dist/getTextureBatchBindGroup-BYhXfZM4.js.map +1 -0
- package/dist/index-CW8mx7yF.js +18805 -0
- package/dist/index-CW8mx7yF.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/model-loader.d.ts +42 -0
- package/dist/player.d.ts +85 -0
- package/dist/vivi-model-element.d.ts +65 -0
- package/dist/vivi2d.es.js +11 -0
- package/dist/vivi2d.es.js.map +1 -0
- package/dist/vivi2d.umd.js +1020 -0
- package/dist/vivi2d.umd.js.map +1 -0
- package/dist/webworkerAll-oTmmI2Qm.js +694 -0
- package/dist/webworkerAll-oTmmI2Qm.js.map +1 -0
- package/package.json +56 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ViviModelElement } from "./vivi-model-element";
|
|
2
|
+
export type { ViviWebErrorCode, ViviWebErrorDetails } from "./errors";
|
|
3
|
+
export { isViviWebError, ViviWebError } from "./errors";
|
|
4
|
+
export { isViviWebModel, loadViviWebModel, type ViviModelJSON, type ViviWebExpressionPreset, type ViviWebLoadOptions, type ViviWebLoadSource, type ViviWebModel, type ViviWebModelMetadata, type ViviWebParameter, } from "./model-loader";
|
|
5
|
+
export { createViviWebPlayer, type ViviWebEvent, type ViviWebEventMap, type ViviWebFrameScheduler, type ViviWebHitTestResult, type ViviWebInputMap, type ViviWebPlayer, type ViviWebPlayerOptions, type ViviWebThumbnailOptions, } from "./player";
|
|
6
|
+
export { ViviModelElement };
|
|
7
|
+
export declare function defineViviModelElement(tagName?: string): typeof ViviModelElement;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface ViviModelJSON {
|
|
2
|
+
profile: "publicProfileV1";
|
|
3
|
+
version: number;
|
|
4
|
+
project: Record<string, unknown>;
|
|
5
|
+
atlases: unknown[];
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
}
|
|
8
|
+
export type ViviWebLoadSource = string | URL | Request | Response | Blob | ArrayBuffer | Uint8Array | ViviModelJSON;
|
|
9
|
+
export interface ViviWebLoadOptions {
|
|
10
|
+
fetchOptions?: Omit<RequestInit, "body" | "credentials" | "mode" | "signal">;
|
|
11
|
+
initialParameters?: Readonly<Record<string, number>>;
|
|
12
|
+
signal?: AbortSignal;
|
|
13
|
+
}
|
|
14
|
+
export interface ViviWebModelMetadata {
|
|
15
|
+
name?: string;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
parameterCount: number;
|
|
19
|
+
expressionPresetCount: number;
|
|
20
|
+
}
|
|
21
|
+
export interface ViviWebParameter {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
min: number;
|
|
25
|
+
max: number;
|
|
26
|
+
default: number;
|
|
27
|
+
}
|
|
28
|
+
export interface ViviWebExpressionPreset {
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
hotkey?: number;
|
|
32
|
+
}
|
|
33
|
+
declare const VIVI_WEB_MODEL_BRAND_TYPE: unique symbol;
|
|
34
|
+
export interface ViviWebModel {
|
|
35
|
+
readonly [VIVI_WEB_MODEL_BRAND_TYPE]: never;
|
|
36
|
+
readonly expressionPresets: readonly ViviWebExpressionPreset[];
|
|
37
|
+
readonly metadata: ViviWebModelMetadata;
|
|
38
|
+
readonly parameters: readonly ViviWebParameter[];
|
|
39
|
+
}
|
|
40
|
+
export declare function isViviWebModel(value: unknown): value is ViviWebModel;
|
|
41
|
+
export declare function loadViviWebModel(source: ViviWebLoadSource, options?: ViviWebLoadOptions): Promise<ViviWebModel>;
|
|
42
|
+
export {};
|
package/dist/player.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ViviWebError } from "./errors";
|
|
2
|
+
import { type ViviWebExpressionPreset, type ViviWebLoadOptions, type ViviWebLoadSource, type ViviWebModel, type ViviWebModelMetadata, type ViviWebParameter } from "./model-loader";
|
|
3
|
+
export type ViviWebInputMap = Readonly<Record<string, number>>;
|
|
4
|
+
export interface ViviWebFrameScheduler {
|
|
5
|
+
requestFrame(callback: (timeMs: number) => void): number;
|
|
6
|
+
cancelFrame(handle: number): void;
|
|
7
|
+
}
|
|
8
|
+
export interface ViviWebThumbnailOptions {
|
|
9
|
+
width?: number;
|
|
10
|
+
height?: number;
|
|
11
|
+
format?: "png" | "jpeg" | "webp";
|
|
12
|
+
quality?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ViviWebHitTestResult {
|
|
15
|
+
colliderName: string;
|
|
16
|
+
tag?: string;
|
|
17
|
+
}
|
|
18
|
+
export type ViviWebEvent = {
|
|
19
|
+
type: "load";
|
|
20
|
+
model: ViviWebModel;
|
|
21
|
+
} | {
|
|
22
|
+
type: "start";
|
|
23
|
+
} | {
|
|
24
|
+
type: "stop";
|
|
25
|
+
} | {
|
|
26
|
+
type: "dispose";
|
|
27
|
+
} | {
|
|
28
|
+
type: "error";
|
|
29
|
+
error: ViviWebError;
|
|
30
|
+
};
|
|
31
|
+
export interface ViviWebEventMap {
|
|
32
|
+
load: Extract<ViviWebEvent, {
|
|
33
|
+
type: "load";
|
|
34
|
+
}>;
|
|
35
|
+
start: Extract<ViviWebEvent, {
|
|
36
|
+
type: "start";
|
|
37
|
+
}>;
|
|
38
|
+
stop: Extract<ViviWebEvent, {
|
|
39
|
+
type: "stop";
|
|
40
|
+
}>;
|
|
41
|
+
dispose: Extract<ViviWebEvent, {
|
|
42
|
+
type: "dispose";
|
|
43
|
+
}>;
|
|
44
|
+
error: Extract<ViviWebEvent, {
|
|
45
|
+
type: "error";
|
|
46
|
+
}>;
|
|
47
|
+
}
|
|
48
|
+
export interface ViviWebPlayerOptions {
|
|
49
|
+
autoStart?: boolean;
|
|
50
|
+
backgroundColor?: number;
|
|
51
|
+
canvas: HTMLCanvasElement;
|
|
52
|
+
model?: ViviWebModel;
|
|
53
|
+
onEvent?: (event: ViviWebEvent) => void;
|
|
54
|
+
scheduler?: ViviWebFrameScheduler;
|
|
55
|
+
signal?: AbortSignal;
|
|
56
|
+
source?: ViviWebLoadSource;
|
|
57
|
+
strictInputs?: boolean;
|
|
58
|
+
transparent?: boolean;
|
|
59
|
+
loadOptions?: Omit<ViviWebLoadOptions, "signal">;
|
|
60
|
+
}
|
|
61
|
+
export interface ViviWebPlayer {
|
|
62
|
+
readonly disposed: boolean;
|
|
63
|
+
readonly metadata: ViviWebModelMetadata;
|
|
64
|
+
readonly model: ViviWebModel;
|
|
65
|
+
readonly running: boolean;
|
|
66
|
+
applyExpressionPreset(id: string): void;
|
|
67
|
+
dispose(): void;
|
|
68
|
+
generateThumbnail(options?: ViviWebThumbnailOptions): string;
|
|
69
|
+
getExpressionPresets(): readonly ViviWebExpressionPreset[];
|
|
70
|
+
getParameters(): readonly ViviWebParameter[];
|
|
71
|
+
hitTest(x: number, y: number): ViviWebHitTestResult | null;
|
|
72
|
+
render(): void;
|
|
73
|
+
resetInputs(): void;
|
|
74
|
+
resize(width: number, height: number): void;
|
|
75
|
+
screenToWorld(x: number, y: number): {
|
|
76
|
+
x: number;
|
|
77
|
+
y: number;
|
|
78
|
+
} | null;
|
|
79
|
+
setInput(id: string, value: number): void;
|
|
80
|
+
setInputs(values: ViviWebInputMap): void;
|
|
81
|
+
start(): void;
|
|
82
|
+
stop(): void;
|
|
83
|
+
update(deltaSeconds: number): void;
|
|
84
|
+
}
|
|
85
|
+
export declare function createViviWebPlayer(options: ViviWebPlayerOptions): Promise<ViviWebPlayer>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export interface ViviProjectSnapshot {
|
|
2
|
+
name?: string;
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}
|
|
5
|
+
export interface ViviModelHandle {
|
|
6
|
+
readonly project: ViviProjectSnapshot;
|
|
7
|
+
readonly parameterValues: Record<string, number>;
|
|
8
|
+
}
|
|
9
|
+
export interface ViviThumbnailOptions {
|
|
10
|
+
width?: number;
|
|
11
|
+
height?: number;
|
|
12
|
+
format?: "png" | "jpeg" | "webp";
|
|
13
|
+
quality?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class ViviModelElement extends HTMLElement {
|
|
16
|
+
static observedAttributes: string[];
|
|
17
|
+
private shadow;
|
|
18
|
+
private canvas;
|
|
19
|
+
private renderer;
|
|
20
|
+
private _model;
|
|
21
|
+
private animFrameId;
|
|
22
|
+
private lastTime;
|
|
23
|
+
private _loading;
|
|
24
|
+
private loadAbort;
|
|
25
|
+
private scriptState;
|
|
26
|
+
constructor();
|
|
27
|
+
connectedCallback(): void;
|
|
28
|
+
disconnectedCallback(): void;
|
|
29
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
30
|
+
get model(): ViviModelHandle | null;
|
|
31
|
+
get project(): ViviProjectSnapshot | null;
|
|
32
|
+
get loading(): boolean;
|
|
33
|
+
load(src: string): Promise<void>;
|
|
34
|
+
setParameter(id: string, value: number): void;
|
|
35
|
+
setParameters(values: Record<string, number>): void;
|
|
36
|
+
resetParameters(): void;
|
|
37
|
+
applyExpressionPreset(presetId: string): void;
|
|
38
|
+
applyPresetByHotkey(hotkey: number): void;
|
|
39
|
+
getExpressionPresets(): Array<{
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
hotkey?: number;
|
|
43
|
+
}>;
|
|
44
|
+
getParameters(): Array<{
|
|
45
|
+
id: string;
|
|
46
|
+
name: string;
|
|
47
|
+
min: number;
|
|
48
|
+
max: number;
|
|
49
|
+
default: number;
|
|
50
|
+
}>;
|
|
51
|
+
screenToWorld(screenX: number, screenY: number): {
|
|
52
|
+
x: number;
|
|
53
|
+
y: number;
|
|
54
|
+
} | null;
|
|
55
|
+
hitTest(worldX: number, worldY: number): {
|
|
56
|
+
colliderName: string;
|
|
57
|
+
tag?: string;
|
|
58
|
+
} | null;
|
|
59
|
+
runScript(source: string): Promise<void>;
|
|
60
|
+
cancelScript(): void;
|
|
61
|
+
get scriptRunning(): boolean;
|
|
62
|
+
generateThumbnail(options?: ViviThumbnailOptions): string;
|
|
63
|
+
private startLoop;
|
|
64
|
+
private dispose;
|
|
65
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Z as a, _ as r, a2 as o, a3 as s, ae as l, af as v, ag as V } from "./index-CW8mx7yF.js";
|
|
2
|
+
export {
|
|
3
|
+
a as ViviModelElement,
|
|
4
|
+
r as ViviWebError,
|
|
5
|
+
o as createViviWebPlayer,
|
|
6
|
+
s as defineViviModelElement,
|
|
7
|
+
l as isViviWebError,
|
|
8
|
+
v as isViviWebModel,
|
|
9
|
+
V as loadViviWebModel
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=vivi2d.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vivi2d.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|