@blcklab/anyo-avatar-vue 0.2.0-alpha.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +9 -0
  3. package/README.md +138 -0
  4. package/dist/AnyoAvatarControls.d.ts +4 -0
  5. package/dist/AnyoAvatarControls.d.ts.map +1 -0
  6. package/dist/AnyoAvatarControls.js +239 -0
  7. package/dist/AnyoAvatarControls.js.map +1 -0
  8. package/dist/AnyoAvatarViewer.d.ts +4 -0
  9. package/dist/AnyoAvatarViewer.d.ts.map +1 -0
  10. package/dist/AnyoAvatarViewer.js +246 -0
  11. package/dist/AnyoAvatarViewer.js.map +1 -0
  12. package/dist/index.d.ts +11 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +10 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/injection.d.ts +6 -0
  17. package/dist/injection.d.ts.map +1 -0
  18. package/dist/injection.js +10 -0
  19. package/dist/injection.js.map +1 -0
  20. package/dist/plugin.d.ts +6 -0
  21. package/dist/plugin.d.ts.map +1 -0
  22. package/dist/plugin.js +16 -0
  23. package/dist/plugin.js.map +1 -0
  24. package/dist/presets.d.ts +4 -0
  25. package/dist/presets.d.ts.map +1 -0
  26. package/dist/presets.js +54 -0
  27. package/dist/presets.js.map +1 -0
  28. package/dist/scene.d.ts +42 -0
  29. package/dist/scene.d.ts.map +1 -0
  30. package/dist/scene.js +431 -0
  31. package/dist/scene.js.map +1 -0
  32. package/dist/source.d.ts +8 -0
  33. package/dist/source.d.ts.map +1 -0
  34. package/dist/source.js +53 -0
  35. package/dist/source.js.map +1 -0
  36. package/dist/style.css +68 -0
  37. package/dist/types.d.ts +252 -0
  38. package/dist/types.d.ts.map +1 -0
  39. package/dist/types.js +2 -0
  40. package/dist/types.js.map +1 -0
  41. package/dist/useAnyoAvatarViewer.d.ts +49 -0
  42. package/dist/useAnyoAvatarViewer.d.ts.map +1 -0
  43. package/dist/useAnyoAvatarViewer.js +454 -0
  44. package/dist/useAnyoAvatarViewer.js.map +1 -0
  45. package/docs/API.md +78 -0
  46. package/docs/HIGH-END-PROPS.md +63 -0
  47. package/docs/PRESETS.md +14 -0
  48. package/docs/README.md +9 -0
  49. package/package.json +72 -0
@@ -0,0 +1,252 @@
1
+ import type { AnimationSource, ModelSource, PlayOptions, ViewerLookAtOptions, ViewerState, ViewerVec3 } from '@blcklab/anyo-avatar-viewer';
2
+ import type { Sekai64AvatarBackground, Sekai64AvatarCameraSnapshot, Sekai64AvatarEnvironment, Sekai64AvatarNormalization, Sekai64AvatarQuality, Sekai64FocusPreset, Sekai64RecoverySnapshot, VrmAnimationImporterOptions, Sekai64AnimationImporter } from '@blcklab/anyo-avatar-viewer/browser';
3
+ export type AnyoAvatarPreset = 'bare' | 'portfolio' | 'viewer' | 'studio';
4
+ export type AnyoAvatarControlsMode = 'none' | 'minimal' | 'full';
5
+ export type AnyoAvatarModelInput = string | ModelSource | File;
6
+ export type AnyoAvatarAnimationInput = string | AnimationSource | File;
7
+ export type AnyoSceneModelInput = string | {
8
+ readonly url: string;
9
+ readonly format: 'glb' | 'gltf';
10
+ } | File;
11
+ export type AnyoSceneLoadMode = 'animated' | 'static';
12
+ export interface AnyoSceneTextureLoadConfig {
13
+ /** Maximum encoded size per texture. Sekai64 defaults to 32 MiB. */
14
+ readonly maxBytes?: number;
15
+ /** Maximum decoded width or height. Sekai64 defaults to 8192. */
16
+ readonly maxDimension?: number;
17
+ }
18
+ export interface AnyoSceneAssetLoadConfig {
19
+ /** Animated keeps embedded/external animation support. Static enables Sekai64 static batching. */
20
+ readonly mode?: AnyoSceneLoadMode;
21
+ readonly strict?: boolean;
22
+ readonly retries?: number;
23
+ readonly cache?: boolean;
24
+ readonly headers?: Readonly<Record<string, string>>;
25
+ readonly texture?: AnyoSceneTextureLoadConfig;
26
+ /** Draco is auto-decoded by Sekai64 when needed. Set false to disallow it. */
27
+ readonly draco?: 'auto' | false;
28
+ /** Self-hosted Google Draco decoder folder for offline/CSP-restricted apps. */
29
+ readonly dracoDecoderPath?: string;
30
+ /** Repeated static sibling meshes can be instanced when mode is static. */
31
+ readonly staticBatching?: boolean | {
32
+ readonly minInstances?: number;
33
+ };
34
+ }
35
+ export interface AnyoSceneRenderConfig {
36
+ readonly castShadow?: boolean;
37
+ readonly receiveShadow?: boolean;
38
+ }
39
+ export interface AnyoSceneDiagnostic {
40
+ readonly id: string;
41
+ readonly name: string;
42
+ readonly severity: 'warning' | 'error';
43
+ readonly code: string;
44
+ readonly message: string;
45
+ }
46
+ export interface AnyoSceneLoadProgress {
47
+ readonly id: string;
48
+ readonly name: string;
49
+ readonly loaded: number;
50
+ readonly total?: number;
51
+ readonly ratio?: number;
52
+ }
53
+ export interface AnyoSceneTransform {
54
+ /** World-space position in Sekai64 units. */
55
+ readonly position?: ViewerVec3;
56
+ /** Euler rotation in degrees: [x, y, z]. */
57
+ readonly rotation?: ViewerVec3;
58
+ /** Uniform scalar or [x, y, z] scale. */
59
+ readonly scale?: number | ViewerVec3;
60
+ readonly visible?: boolean;
61
+ }
62
+ export interface AnyoSceneAnimationConfig {
63
+ /** Omit src to select an embedded clip; external prop animation supports same-rig GLB/glTF. */
64
+ readonly src?: AnyoAvatarAnimationInput;
65
+ readonly clip?: string | number;
66
+ readonly autoplay?: boolean;
67
+ readonly loop?: 'once' | 'repeat' | 'ping-pong';
68
+ readonly speed?: number;
69
+ readonly weight?: number;
70
+ }
71
+ export interface AnyoSceneModelConfig extends AnyoSceneTransform {
72
+ readonly id?: string;
73
+ readonly name?: string;
74
+ readonly src: AnyoSceneModelInput;
75
+ readonly animations?: readonly AnyoSceneAnimationConfig[];
76
+ readonly load?: AnyoSceneAssetLoadConfig;
77
+ readonly render?: AnyoSceneRenderConfig;
78
+ }
79
+ export interface AnyoSceneConfig {
80
+ readonly version?: 1;
81
+ /** Defaults are shallow-merged into each prop; nested texture settings are merged too. */
82
+ readonly defaults?: {
83
+ readonly load?: AnyoSceneAssetLoadConfig;
84
+ readonly render?: AnyoSceneRenderConfig;
85
+ };
86
+ readonly props?: readonly AnyoSceneModelConfig[];
87
+ }
88
+ export interface AnyoSceneModelClipInfo {
89
+ readonly id: string;
90
+ readonly name: string;
91
+ readonly duration: number;
92
+ }
93
+ export interface AnyoSceneModelInfo {
94
+ readonly id: string;
95
+ readonly name: string;
96
+ readonly visible: boolean;
97
+ readonly position: ViewerVec3;
98
+ readonly rotation: ViewerVec3;
99
+ readonly scale: ViewerVec3;
100
+ readonly clips: readonly AnyoSceneModelClipInfo[];
101
+ readonly currentClip: string | null;
102
+ readonly playing: boolean;
103
+ readonly loadMode: AnyoSceneLoadMode;
104
+ }
105
+ export interface AnyoAvatarVueDefaults {
106
+ readonly preset?: AnyoAvatarPreset;
107
+ readonly controls?: AnyoAvatarControlsMode;
108
+ readonly quality?: Sekai64AvatarQuality;
109
+ readonly environment?: Sekai64AvatarEnvironment;
110
+ readonly background?: Sekai64AvatarBackground;
111
+ readonly transparent?: boolean;
112
+ readonly backend?: 'auto' | 'webgl2' | 'webgpu';
113
+ readonly navigation?: boolean;
114
+ readonly pointerPan?: boolean;
115
+ readonly autoFit?: boolean;
116
+ readonly autoRotate?: boolean;
117
+ readonly autoRotateSpeed?: number;
118
+ readonly shadows?: boolean;
119
+ readonly exposure?: number;
120
+ readonly pixelRatio?: number;
121
+ readonly maxPixelRatio?: number;
122
+ readonly normalization?: Sekai64AvatarNormalization;
123
+ readonly targetHeight?: number;
124
+ readonly recovery?: boolean | {
125
+ readonly maxAttempts?: number;
126
+ };
127
+ readonly keyboard?: boolean;
128
+ readonly statusOverlay?: boolean;
129
+ readonly allowFileLoading?: boolean;
130
+ readonly vrma?: VrmAnimationImporterOptions;
131
+ /** Custom animation importers run before the built-in glTF/VRMA importers. */
132
+ readonly importers?: readonly Sekai64AnimationImporter[];
133
+ }
134
+ export interface AnyoAvatarViewerProps extends AnyoAvatarVueDefaults {
135
+ readonly model?: AnyoAvatarModelInput | null;
136
+ readonly animation?: AnyoAvatarAnimationInput | null;
137
+ readonly animations?: AnyoAvatarAnimationInput | readonly AnyoAvatarAnimationInput[] | null;
138
+ /** Optional declarative non-avatar GLB/glTF scene props. */
139
+ readonly scene?: AnyoSceneConfig | null;
140
+ readonly autoplay?: boolean | string;
141
+ readonly loop?: 'once' | 'repeat';
142
+ readonly speed?: number;
143
+ readonly fade?: number;
144
+ /** Change this value to force a runtime rebuild when custom creation-time objects such as importers change. */
145
+ readonly runtimeKey?: string | number;
146
+ readonly aspectRatio?: string | number;
147
+ readonly minHeight?: string | number;
148
+ }
149
+ export interface AnyoAvatarControlsProps {
150
+ readonly mode?: Exclude<AnyoAvatarControlsMode, 'none'>;
151
+ readonly allowFileLoading?: boolean;
152
+ readonly quality?: Sekai64AvatarQuality;
153
+ readonly environment?: Sekai64AvatarEnvironment;
154
+ readonly background?: Sekai64AvatarBackground;
155
+ readonly shadows?: boolean;
156
+ readonly transparent?: boolean;
157
+ }
158
+ export interface AnyoAvatarVuePluginOptions {
159
+ readonly defaults?: AnyoAvatarVueDefaults;
160
+ readonly componentName?: string;
161
+ readonly controlsComponentName?: string;
162
+ }
163
+ export interface AnyoAvatarResolvedOptions extends Required<Pick<AnyoAvatarVueDefaults, 'preset' | 'controls' | 'quality' | 'environment' | 'transparent' | 'backend' | 'navigation' | 'pointerPan' | 'autoFit' | 'autoRotate' | 'autoRotateSpeed' | 'shadows' | 'maxPixelRatio' | 'normalization' | 'recovery' | 'keyboard' | 'statusOverlay' | 'allowFileLoading'>> {
164
+ readonly background: Sekai64AvatarBackground;
165
+ readonly exposure?: number;
166
+ readonly pixelRatio?: number;
167
+ readonly targetHeight?: number;
168
+ readonly vrma: VrmAnimationImporterOptions;
169
+ readonly importers?: readonly Sekai64AnimationImporter[];
170
+ }
171
+ export interface AnyoAvatarPublicState {
172
+ readonly viewer: ViewerState;
173
+ readonly camera: Sekai64AvatarCameraSnapshot | null;
174
+ readonly recovery: Sekai64RecoverySnapshot | null;
175
+ readonly ready: boolean;
176
+ readonly backend: string;
177
+ readonly diagnostic: string;
178
+ readonly fatalError: string;
179
+ readonly fullscreen: boolean;
180
+ readonly sceneModels: readonly AnyoSceneModelInfo[];
181
+ }
182
+ export interface AnyoAvatarViewerHandle {
183
+ readonly state: AnyoAvatarPublicState;
184
+ getRuntime(): AnyoAvatarRuntime | null;
185
+ loadModel(input: AnyoAvatarModelInput): Promise<void>;
186
+ loadModelFile(file: File): Promise<void>;
187
+ loadAnimation(input: AnyoAvatarAnimationInput): Promise<void>;
188
+ loadAnimationFile(file: File): Promise<void>;
189
+ loadScene(config: AnyoSceneConfig, options?: {
190
+ readonly replace?: boolean;
191
+ }): Promise<readonly AnyoSceneModelInfo[]>;
192
+ loadProp(input: AnyoSceneModelInput, config?: Omit<AnyoSceneModelConfig, 'src'>): Promise<AnyoSceneModelInfo>;
193
+ loadPropFile(file: File, config?: Omit<AnyoSceneModelConfig, 'src'>): Promise<AnyoSceneModelInfo>;
194
+ loadPropAnimation(id: string, config: AnyoSceneAnimationConfig): Promise<AnyoSceneModelInfo>;
195
+ loadPropAnimationFile(id: string, file: File, config?: Omit<AnyoSceneAnimationConfig, 'src'>): Promise<AnyoSceneModelInfo>;
196
+ playProp(id: string, clip?: string | number, options?: Pick<AnyoSceneAnimationConfig, 'loop' | 'speed' | 'weight'>): AnyoSceneModelInfo;
197
+ pauseProp(id: string): AnyoSceneModelInfo;
198
+ resumeProp(id: string): AnyoSceneModelInfo;
199
+ stopProp(id: string): AnyoSceneModelInfo;
200
+ updateProp(id: string, transform: AnyoSceneTransform): AnyoSceneModelInfo;
201
+ setPropVisible(id: string, visible: boolean): AnyoSceneModelInfo;
202
+ removeProp(id: string): void;
203
+ clearProps(): void;
204
+ unload(): void;
205
+ play(clipId?: string, options?: PlayOptions): void;
206
+ pause(): void;
207
+ resume(): void;
208
+ togglePlayback(clipId?: string): void;
209
+ stop(): void;
210
+ seek(seconds: number): void;
211
+ setSpeed(speed: number): void;
212
+ fit(): void;
213
+ resetView(): void;
214
+ focus(preset: Sekai64FocusPreset): void;
215
+ focusAt(target: ViewerVec3, distance?: number): void;
216
+ focusHeight(ratio: number, distance?: number): void;
217
+ focusUp(step?: number): void;
218
+ focusDown(step?: number): void;
219
+ zoomIn(): void;
220
+ zoomOut(): void;
221
+ rotateLeft(): void;
222
+ rotateRight(): void;
223
+ panBy(x: number, y: number): void;
224
+ setAutoRotate(enabled: boolean): void;
225
+ setAutoRotateSpeed(speed: number): void;
226
+ setNavigationEnabled(enabled: boolean): void;
227
+ setQuality(value: Sekai64AvatarQuality): void;
228
+ setEnvironment(value: Sekai64AvatarEnvironment): void;
229
+ setBackground(value: Sekai64AvatarBackground): void;
230
+ setExposure(value: number | undefined): void;
231
+ setShadows(value: boolean): void;
232
+ setExpression(name: string, weight: number): boolean;
233
+ clearExpression(name: string): boolean;
234
+ resetExpressions(): void;
235
+ setLookAt(target: ViewerVec3 | null, options?: ViewerLookAtOptions): void;
236
+ clearLookAt(): void;
237
+ recover(reason?: unknown): Promise<void>;
238
+ start(): void;
239
+ suspend(): void;
240
+ screenshot(filename?: string): Promise<Blob>;
241
+ enterFullscreen(): Promise<void>;
242
+ exitFullscreen(): Promise<void>;
243
+ toggleFullscreen(): Promise<void>;
244
+ openModelPicker(): void;
245
+ openAnimationPicker(): void;
246
+ openPropPicker(): void;
247
+ openPropAnimationPicker(id: string): void;
248
+ recreate(): Promise<void>;
249
+ dispose(): Promise<void>;
250
+ }
251
+ export type AnyoAvatarRuntime = Awaited<ReturnType<typeof import('@blcklab/anyo-avatar-viewer/browser')['createSekai64AvatarViewer']>>;
252
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import { type Ref } from 'vue';
2
+ import type { ViewerState } from '@blcklab/anyo-avatar-viewer';
3
+ import { type Sekai64AvatarCameraSnapshot, type Sekai64RecoverySnapshot } from '@blcklab/anyo-avatar-viewer/browser';
4
+ import type { AnyoAvatarResolvedOptions, AnyoAvatarRuntime, AnyoAvatarViewerHandle, AnyoSceneDiagnostic, AnyoSceneLoadProgress, AnyoSceneModelInfo } from './types.js';
5
+ export interface UseAnyoAvatarViewerOptions {
6
+ readonly canvas: Ref<HTMLCanvasElement | null>;
7
+ readonly host: Ref<HTMLElement | null>;
8
+ readonly options: Ref<AnyoAvatarResolvedOptions>;
9
+ readonly onReady?: (runtime: AnyoAvatarRuntime) => void;
10
+ readonly onStateChange?: (state: ViewerState) => void;
11
+ readonly onCameraChange?: (state: Sekai64AvatarCameraSnapshot) => void;
12
+ readonly onRecoveryChange?: (state: Sekai64RecoverySnapshot) => void;
13
+ readonly onDiagnostic?: (message: string) => void;
14
+ readonly onError?: (error: unknown) => void;
15
+ readonly onModelLoaded?: () => void;
16
+ readonly onAnimationLoaded?: () => void;
17
+ readonly onSceneChange?: (models: readonly AnyoSceneModelInfo[]) => void;
18
+ readonly onPropLoaded?: (model: AnyoSceneModelInfo) => void;
19
+ readonly onPropAnimationLoaded?: (model: AnyoSceneModelInfo) => void;
20
+ readonly onPropProgress?: (progress: AnyoSceneLoadProgress) => void;
21
+ readonly onPropDiagnostic?: (diagnostic: AnyoSceneDiagnostic) => void;
22
+ }
23
+ export declare function useAnyoAvatarViewer(options: UseAnyoAvatarViewerOptions): {
24
+ handle: AnyoAvatarViewerHandle;
25
+ viewerState: import("vue").ShallowRef<ViewerState, ViewerState>;
26
+ cameraState: import("vue").ShallowRef<Sekai64AvatarCameraSnapshot | null, Sekai64AvatarCameraSnapshot | null>;
27
+ recoveryState: import("vue").ShallowRef<Sekai64RecoverySnapshot | null, Sekai64RecoverySnapshot | null>;
28
+ publicState: import("vue").ComputedRef<Readonly<{
29
+ viewer: ViewerState;
30
+ camera: Sekai64AvatarCameraSnapshot | null;
31
+ recovery: Sekai64RecoverySnapshot | null;
32
+ ready: boolean;
33
+ backend: string;
34
+ diagnostic: string;
35
+ fatalError: string;
36
+ fullscreen: boolean;
37
+ sceneModels: readonly AnyoSceneModelInfo[];
38
+ }>>;
39
+ ready: Ref<boolean, boolean>;
40
+ hasModel: import("vue").ComputedRef<boolean>;
41
+ isPlaying: import("vue").ComputedRef<boolean>;
42
+ backend: Ref<string, string>;
43
+ diagnostic: Ref<string, string>;
44
+ fatalError: Ref<string, string>;
45
+ fullscreen: Ref<boolean, boolean>;
46
+ sceneModels: import("vue").ShallowRef<readonly AnyoSceneModelInfo[], readonly AnyoSceneModelInfo[]>;
47
+ initialize: () => Promise<void>;
48
+ };
49
+ //# sourceMappingURL=useAnyoAvatarViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAnyoAvatarViewer.d.ts","sourceRoot":"","sources":["../src/useAnyoAvatarViewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,GAAG,EACT,MAAM,KAAK,CAAA;AACZ,OAAO,KAAK,EAGV,WAAW,EAEZ,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAGL,KAAK,2BAA2B,EAIhC,KAAK,uBAAuB,EAC7B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EAGV,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EAGtB,mBAAmB,EACnB,qBAAqB,EAErB,kBAAkB,EAGnB,MAAM,YAAY,CAAA;AAUnB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IAC9C,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACrD,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAA;IACtE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAA;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,KAAK,IAAI,CAAA;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC3D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACpE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACnE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACtE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;EAkZtE"}