@laplace.live/persona-sdk 1.16.0 → 1.17.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/values/limits.d.ts +2 -3
- package/dist/values/limits.js +2 -3
- package/dist/wire/protocol.d.ts +4 -3
- package/dist/wire/protocol.js +4 -3
- package/dist/wire/schemas/requests.d.ts +0 -4
- package/dist/wire/schemas/settings.d.ts +0 -16
- package/dist/wire/schemas/settings.js +2 -4
- package/dist/wire/types.d.ts +7 -6
- package/dist/wire/types.js +0 -1
- package/package.json +1 -1
package/dist/values/limits.d.ts
CHANGED
|
@@ -173,9 +173,8 @@ export declare function objectSupportsSpace(kind: ObjectContent['kind'], space:
|
|
|
173
173
|
/** The asset an object streams from, or null for kinds that carry their source inline (web, capture). */
|
|
174
174
|
export declare function contentAssetId(content: ObjectContent): string | null;
|
|
175
175
|
/**
|
|
176
|
-
* The one model format a space's objects can ride: the
|
|
177
|
-
*
|
|
178
|
-
* would z-fight by construction.
|
|
176
|
+
* The one model format a space's objects can ride: the screen layer always composites
|
|
177
|
+
* over the world scene, so a cross-space pin would z-fight by construction.
|
|
179
178
|
*/
|
|
180
179
|
export declare function attachableParentFormat(space: ObjectSpace): ModelFormat;
|
|
181
180
|
/**
|
package/dist/values/limits.js
CHANGED
|
@@ -297,9 +297,8 @@ export function contentAssetId(content) {
|
|
|
297
297
|
return content.kind === 'image' || content.kind === 'video' || content.kind === 'prop' ? content.assetId : null;
|
|
298
298
|
}
|
|
299
299
|
/**
|
|
300
|
-
* The one model format a space's objects can ride: the
|
|
301
|
-
*
|
|
302
|
-
* would z-fight by construction.
|
|
300
|
+
* The one model format a space's objects can ride: the screen layer always composites
|
|
301
|
+
* over the world scene, so a cross-space pin would z-fight by construction.
|
|
303
302
|
*/
|
|
304
303
|
export function attachableParentFormat(space) {
|
|
305
304
|
return space === '2d' ? 'live2d' : 'vrm';
|
package/dist/wire/protocol.d.ts
CHANGED
|
@@ -18,9 +18,10 @@ export declare const INJECT_LEASE_TTL_MS = 1000;
|
|
|
18
18
|
/** How often {@link PersonaClient.driveParameter} re-sends held leases to keep them alive. */
|
|
19
19
|
export declare const INJECT_HEARTBEAT_MS = 100;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* Least gap between the stage's refreshes of the tracking inputs behind the binding editor's live
|
|
22
|
+
* indicators (~20/s at most). The refresh rides the stage's frames, so a capped frame rate
|
|
23
|
+
* stretches it. Fast enough to read as live, slow enough that the worker port carries no
|
|
24
|
+
* per-frame traffic.
|
|
24
25
|
*/
|
|
25
26
|
export declare const TRACKING_INPUTS_MS = 50;
|
|
26
27
|
/**
|
package/dist/wire/protocol.js
CHANGED
|
@@ -17,9 +17,10 @@ export const INJECT_LEASE_TTL_MS = 1000;
|
|
|
17
17
|
/** How often {@link PersonaClient.driveParameter} re-sends held leases to keep them alive. */
|
|
18
18
|
export const INJECT_HEARTBEAT_MS = 100;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* Least gap between the stage's refreshes of the tracking inputs behind the binding editor's live
|
|
21
|
+
* indicators (~20/s at most). The refresh rides the stage's frames, so a capped frame rate
|
|
22
|
+
* stretches it. Fast enough to read as live, slow enough that the worker port carries no
|
|
23
|
+
* per-frame traffic.
|
|
23
24
|
*/
|
|
24
25
|
export const TRACKING_INPUTS_MS = 50;
|
|
25
26
|
/**
|
|
@@ -255,10 +255,6 @@ export declare const requestSchemas: {
|
|
|
255
255
|
medium: "medium";
|
|
256
256
|
}>>;
|
|
257
257
|
renderScale: z.ZodOptional<z.ZodNumber>;
|
|
258
|
-
live2dEngine: z.ZodOptional<z.ZodEnum<{
|
|
259
|
-
pixi: "pixi";
|
|
260
|
-
three: "three";
|
|
261
|
-
}>>;
|
|
262
258
|
}, z.core.$strip>>;
|
|
263
259
|
}, z.core.$strip>;
|
|
264
260
|
}, z.core.$strip>;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
2
|
/** Shared field definitions; parsing validates values without adding defaults or healing them. */
|
|
3
3
|
export declare const PortSchema: z.ZodNumber;
|
|
4
|
-
export declare const Live2DEngineSchema: z.ZodEnum<{
|
|
5
|
-
pixi: "pixi";
|
|
6
|
-
three: "three";
|
|
7
|
-
}>;
|
|
8
4
|
export declare const EffectsQualitySchema: z.ZodEnum<{
|
|
9
5
|
high: "high";
|
|
10
6
|
low: "low";
|
|
@@ -110,10 +106,6 @@ export declare const PerformanceSettingsSchema: z.ZodObject<{
|
|
|
110
106
|
medium: "medium";
|
|
111
107
|
}>;
|
|
112
108
|
renderScale: z.ZodNumber;
|
|
113
|
-
live2dEngine: z.ZodEnum<{
|
|
114
|
-
pixi: "pixi";
|
|
115
|
-
three: "three";
|
|
116
|
-
}>;
|
|
117
109
|
}, z.core.$strip>;
|
|
118
110
|
/** Stage content dimensions in device-independent pixels. */
|
|
119
111
|
export declare const StageSizeSchema: z.ZodObject<{
|
|
@@ -201,10 +193,6 @@ export declare const SettingsSchema: z.ZodObject<{
|
|
|
201
193
|
medium: "medium";
|
|
202
194
|
}>;
|
|
203
195
|
renderScale: z.ZodOptional<z.ZodNumber>;
|
|
204
|
-
live2dEngine: z.ZodOptional<z.ZodEnum<{
|
|
205
|
-
pixi: "pixi";
|
|
206
|
-
three: "three";
|
|
207
|
-
}>>;
|
|
208
196
|
}, z.core.$strip>;
|
|
209
197
|
tracking: z.ZodObject<{
|
|
210
198
|
enabled: z.ZodBoolean;
|
|
@@ -276,9 +264,5 @@ export declare const SettingsPatchSchema: z.ZodObject<{
|
|
|
276
264
|
medium: "medium";
|
|
277
265
|
}>>;
|
|
278
266
|
renderScale: z.ZodOptional<z.ZodNumber>;
|
|
279
|
-
live2dEngine: z.ZodOptional<z.ZodEnum<{
|
|
280
|
-
pixi: "pixi";
|
|
281
|
-
three: "three";
|
|
282
|
-
}>>;
|
|
283
267
|
}, z.core.$strip>>;
|
|
284
268
|
}, z.core.$strip>;
|
|
@@ -2,10 +2,9 @@ import * as z from 'zod';
|
|
|
2
2
|
import { CONTROLLER_DEAD_ZONE_MAX } from "../../values/controller.js";
|
|
3
3
|
import { LIP_SYNC_GAIN_MAX, LIP_SYNC_MAX_SAMPLES, LIP_SYNC_MFCC_COEFFICIENTS, LIP_SYNC_MIN_SAMPLES, LIP_SYNC_NOISE_GATE_MIN, LIP_SYNC_PHONEMES, LIP_SYNC_SMOOTHING_MAX, } from "../../values/lipsync.js";
|
|
4
4
|
import { LOCALES } from "../../values/locale.js";
|
|
5
|
-
import { EFFECTS_QUALITY_LEVELS,
|
|
5
|
+
import { EFFECTS_QUALITY_LEVELS, MEDIAPIPE_DELEGATES, POSE_SOURCE_IDS, TRACKING_SOURCE_IDS, TRACKING_SOURCE_KINDS, } from "../types.js";
|
|
6
6
|
/** Shared field definitions; parsing validates values without adding defaults or healing them. */
|
|
7
7
|
export const PortSchema = z.number().int().min(1).max(65535).describe('Network port, from 1 through 65535.');
|
|
8
|
-
export const Live2DEngineSchema = z.enum(LIVE2D_ENGINES).describe('Engine used to render Live2D models.');
|
|
9
8
|
export const EffectsQualitySchema = z.enum(EFFECTS_QUALITY_LEVELS).describe('Scene and layer effects quality tier.');
|
|
10
9
|
export const LanguageSettingSchema = z
|
|
11
10
|
.enum(['system', ...LOCALES])
|
|
@@ -75,7 +74,6 @@ export const PerformanceSettingsSchema = z.object({
|
|
|
75
74
|
fpsLimit: z.number().describe('Frame-rate cap; zero is unlimited. The desktop snaps changes to supported presets.'),
|
|
76
75
|
effectsQuality: EffectsQualitySchema,
|
|
77
76
|
renderScale: z.number().describe('Render resolution multiplier. The desktop snaps changes to supported presets.'),
|
|
78
|
-
live2dEngine: Live2DEngineSchema,
|
|
79
77
|
});
|
|
80
78
|
/** Stage content dimensions in device-independent pixels. */
|
|
81
79
|
export const StageSizeSchema = z.object({
|
|
@@ -107,7 +105,7 @@ export const SettingsSchema = z.object({
|
|
|
107
105
|
ui: z
|
|
108
106
|
.object({ trayVisible: z.boolean().describe('Show the tray or menu bar icon.') })
|
|
109
107
|
.describe('Public interface preferences.'),
|
|
110
|
-
performance: PerformanceSettingsSchema.partial({ renderScale: true
|
|
108
|
+
performance: PerformanceSettingsSchema.partial({ renderScale: true }).describe('Renderer settings; renderScale is absent on older hosts.'),
|
|
111
109
|
tracking: TrackingSettingsSchema.describe('Network face master switch and all configured tracking sources.'),
|
|
112
110
|
pose: PoseSettingsSchema.describe('Network body master switch and legacy source mirrors.'),
|
|
113
111
|
});
|
package/dist/wire/types.d.ts
CHANGED
|
@@ -286,7 +286,7 @@ export interface AttachElasticity {
|
|
|
286
286
|
* value: the two ends clear the parent's whole stack, and `artMesh` slots the item in directly
|
|
287
287
|
* above that ArtMesh, so every parent mesh over it paints on top. Ids rather than positions,
|
|
288
288
|
* because Cubism re-sorts the stack as motions play, and an id carries to any rig that has it.
|
|
289
|
-
* Live2D parents on
|
|
289
|
+
* Live2D parents only: on a VRM an item always paints in front.
|
|
290
290
|
*/
|
|
291
291
|
export type AttachDepth = {
|
|
292
292
|
kind: 'front';
|
|
@@ -1052,12 +1052,15 @@ export type InstanceCapability = 'motions' | 'expressions' | 'placement-2d' | 'p
|
|
|
1052
1052
|
| 'breath'
|
|
1053
1053
|
/** `expression.setWeight`; Cubism expressions carry no user-settable weight, so Live2D lacks it. */
|
|
1054
1054
|
| 'expression-weights'
|
|
1055
|
-
/**
|
|
1055
|
+
/**
|
|
1056
|
+
* `speech.play` lip-sync. Loaded Live2D models only; 0.53 and earlier hosts also omit it under
|
|
1057
|
+
* the Pixi engine, so gate on the runtime, not the format.
|
|
1058
|
+
*/
|
|
1056
1059
|
| 'speech'
|
|
1057
1060
|
/**
|
|
1058
1061
|
* Draws through the 3D post chain, so the scene's look rows (tone mapping, exposure, LUT)
|
|
1059
|
-
* reach it.
|
|
1060
|
-
* runtime rather than the format.
|
|
1062
|
+
* reach it. Every model; 0.53 and earlier hosts omit it on Pixi-engine Live2D, so read it off
|
|
1063
|
+
* the runtime rather than the format.
|
|
1061
1064
|
*/
|
|
1062
1065
|
| 'post-fx';
|
|
1063
1066
|
export interface InstanceRuntime {
|
|
@@ -1157,8 +1160,6 @@ export interface ExpressionPersistence {
|
|
|
1157
1160
|
export type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
1158
1161
|
[key: string]: JsonValue;
|
|
1159
1162
|
};
|
|
1160
|
-
export declare const LIVE2D_ENGINES: readonly ["pixi", "three"];
|
|
1161
|
-
export type Live2DEngine = (typeof LIVE2D_ENGINES)[number];
|
|
1162
1163
|
export declare const TRACKING_SOURCE_IDS: readonly ["persona-ios", "ifacialmocap", "vts-ios"];
|
|
1163
1164
|
export type TrackingSourceId = (typeof TRACKING_SOURCE_IDS)[number];
|
|
1164
1165
|
/** Body-pose protocols. Every one so far is UDP with a configurable port. */
|
package/dist/wire/types.js
CHANGED
|
@@ -82,7 +82,6 @@ export const AUTOMATION_BOUNDARY_KINDS = [
|
|
|
82
82
|
'load-model',
|
|
83
83
|
];
|
|
84
84
|
// ---- Settings ------------------------------------------------------------------
|
|
85
|
-
export const LIVE2D_ENGINES = ['pixi', 'three'];
|
|
86
85
|
export const TRACKING_SOURCE_IDS = ['persona-ios', 'ifacialmocap', 'vts-ios'];
|
|
87
86
|
/** Body-pose protocols. Every one so far is UDP with a configurable port. */
|
|
88
87
|
export const POSE_SOURCE_IDS = ['vmc', 'mocopi'];
|