narraleaf-studio 1.6.2 → 1.7.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/_api.d.ts +294 -36
- package/package.json +1 -1
package/dist/_api.d.ts
CHANGED
|
@@ -812,13 +812,26 @@ type StoryActionPayload = {
|
|
|
812
812
|
transform?: StoryTransformRef;
|
|
813
813
|
} | {
|
|
814
814
|
action: "text";
|
|
815
|
-
|
|
815
|
+
/**
|
|
816
|
+
* `setFont` is the combined op: it sets whichever of {@link fontSize}, {@link fontColor} and
|
|
817
|
+
* {@link outline} the row states, so one `/font` line can say all three. The two single ops
|
|
818
|
+
* stay for the rows that hold them and for a line that names one value alone.
|
|
819
|
+
*
|
|
820
|
+
* Additive: no document written before it carries the value, so no schema bump - the same
|
|
821
|
+
* rule `bringToFront` came in under.
|
|
822
|
+
*/
|
|
823
|
+
operation: "create" | "setText" | "show" | "hide" | "setFontSize" | "setFontColor" | "setFont";
|
|
816
824
|
objectName: string;
|
|
817
825
|
/** Which text a non-`create` op acts on. Same rule as the `image` arm's `target`. */
|
|
818
826
|
target?: StoryDisplayableTargetRef;
|
|
819
827
|
text?: string;
|
|
820
828
|
fontSize?: number;
|
|
821
829
|
fontColor?: string;
|
|
830
|
+
/**
|
|
831
|
+
* The outline drawn round the glyphs, read by `setFont`. `null` takes an outline away
|
|
832
|
+
* (`outline=0`); absent leaves whatever the text has.
|
|
833
|
+
*/
|
|
834
|
+
outline?: StoryTextOutline | null;
|
|
822
835
|
layer?: StoryLayerRef;
|
|
823
836
|
transform?: StoryTransformRef;
|
|
824
837
|
} | {
|
|
@@ -1059,7 +1072,29 @@ type StoryActionPayload = {
|
|
|
1059
1072
|
params: Record<string, StoryPluginActionParamValue>;
|
|
1060
1073
|
}
|
|
1061
1074
|
/** The player's hands: a pad that shakes, a locked passage, a row that waits for a gesture. */
|
|
1062
|
-
| StoryInputActionPayload
|
|
1075
|
+
| StoryInputActionPayload | {
|
|
1076
|
+
/**
|
|
1077
|
+
* Open one of the project's pages over the stage (`/page`), hold the story until the page
|
|
1078
|
+
* closes, and go on from the row after it - a phone, a map, a letter the player reads.
|
|
1079
|
+
*
|
|
1080
|
+
* The page is shown exactly as `Show Layer` shows one from a blueprint, so the page closes
|
|
1081
|
+
* itself with `Close This Layer`, and what it closes with is the row's answer. Unlike
|
|
1082
|
+
* `/quit`, the scene is not left: the story is where it was when the page goes away.
|
|
1083
|
+
*/
|
|
1084
|
+
action: "page";
|
|
1085
|
+
/**
|
|
1086
|
+
* The page, by id - never by name, so a rename keeps the row on the same page, as `/quit`
|
|
1087
|
+
* keeps naming its page.
|
|
1088
|
+
*/
|
|
1089
|
+
surfaceId: string;
|
|
1090
|
+
/**
|
|
1091
|
+
* A variable to write what the page closed with. A boolean, a number or a text variable
|
|
1092
|
+
* takes the result converted to its own type; a page closed with no result (Back on a
|
|
1093
|
+
* dismissible page, a load, the story rolled back past the row) writes nothing, so the
|
|
1094
|
+
* variable keeps the value it had. Absent writes nothing at all.
|
|
1095
|
+
*/
|
|
1096
|
+
resultTarget?: StoryVariableRef;
|
|
1097
|
+
};
|
|
1063
1098
|
type StoryPluginActionParamValue = string | number | boolean | null | StoryPluginActionParamValue[] | {
|
|
1064
1099
|
[key: string]: StoryPluginActionParamValue;
|
|
1065
1100
|
};
|
|
@@ -1557,6 +1592,10 @@ declare const STORY_TRANSFORM_REPEAT_TYPES: readonly [
|
|
|
1557
1592
|
"mirror"
|
|
1558
1593
|
];
|
|
1559
1594
|
type StoryTransformRepeatType = (typeof STORY_TRANSFORM_REPEAT_TYPES)[number];
|
|
1595
|
+
type StoryTextOutline = {
|
|
1596
|
+
width: number;
|
|
1597
|
+
color: string;
|
|
1598
|
+
};
|
|
1560
1599
|
type StoryTransformRef = {
|
|
1561
1600
|
/** Absent means `"props"`. Only a Story Motion has to say which it is. */
|
|
1562
1601
|
mode?: "props" | "animation";
|
|
@@ -1649,6 +1688,11 @@ type StoryAlignPositionValue = {
|
|
|
1649
1688
|
xoffset?: number;
|
|
1650
1689
|
yoffset?: number;
|
|
1651
1690
|
};
|
|
1691
|
+
interface CharacterFrameSequence {
|
|
1692
|
+
frameAssetIds: string[];
|
|
1693
|
+
fps: number;
|
|
1694
|
+
loop: boolean;
|
|
1695
|
+
}
|
|
1652
1696
|
type BlueprintOwnerRef = {
|
|
1653
1697
|
kind: "globalMain";
|
|
1654
1698
|
} | {
|
|
@@ -2305,6 +2349,14 @@ declare const en: {
|
|
|
2305
2349
|
readonly command: "Highlight commands";
|
|
2306
2350
|
};
|
|
2307
2351
|
};
|
|
2352
|
+
readonly characterListGrouping: {
|
|
2353
|
+
readonly label: "Character lists";
|
|
2354
|
+
readonly description: "How the cast is arranged where a character is picked.";
|
|
2355
|
+
readonly options: {
|
|
2356
|
+
readonly grouped: "Group by cast group";
|
|
2357
|
+
readonly all: "Show all characters";
|
|
2358
|
+
};
|
|
2359
|
+
};
|
|
2308
2360
|
readonly dictionaries: {
|
|
2309
2361
|
readonly label: "Spelling dictionaries";
|
|
2310
2362
|
};
|
|
@@ -2888,7 +2940,7 @@ declare const en: {
|
|
|
2888
2940
|
readonly languagesTitle: "Languages";
|
|
2889
2941
|
readonly languagesHint: "Languages of the game itself. The source language is the one the story is written in; the rest are translated against it.";
|
|
2890
2942
|
readonly addLanguage: "Add language";
|
|
2891
|
-
readonly codePlaceholder: "Code
|
|
2943
|
+
readonly codePlaceholder: "Code, e.g. ja";
|
|
2892
2944
|
readonly namePlaceholder: "Display name";
|
|
2893
2945
|
readonly invalidCode: "Language codes may only contain letters, digits, and hyphens.";
|
|
2894
2946
|
readonly sourceBadge: "Source";
|
|
@@ -3044,7 +3096,7 @@ declare const en: {
|
|
|
3044
3096
|
readonly languagesTitle: "Voice languages";
|
|
3045
3097
|
readonly languagesHint: "Languages with voice-over. Independent of the text languages.";
|
|
3046
3098
|
readonly addLanguage: "Add voice language";
|
|
3047
|
-
readonly codePlaceholder: "Code
|
|
3099
|
+
readonly codePlaceholder: "Code, e.g. ja";
|
|
3048
3100
|
readonly namePlaceholder: "Display name";
|
|
3049
3101
|
readonly invalidCode: "Language codes may only contain letters, digits, and hyphens.";
|
|
3050
3102
|
readonly more: "More";
|
|
@@ -3066,6 +3118,14 @@ declare const en: {
|
|
|
3066
3118
|
readonly other: "{count} takes";
|
|
3067
3119
|
};
|
|
3068
3120
|
readonly importFailed: "Could not import the audio files";
|
|
3121
|
+
readonly replaceTakesTitle: "Replace existing takes";
|
|
3122
|
+
readonly replaceTakesMessage: {
|
|
3123
|
+
readonly one: "{count} file is named for a line that already has a take.";
|
|
3124
|
+
readonly other: "{count} files are named for lines that already have a take.";
|
|
3125
|
+
};
|
|
3126
|
+
readonly replaceTakesDetail: "Replacing writes each new file into the take it matches. Importing as new audio leaves the old takes in the asset library, linked to no line.";
|
|
3127
|
+
readonly replaceTakesImport: "Import as new audio";
|
|
3128
|
+
readonly replaceTakesReplace: "Replace takes";
|
|
3069
3129
|
readonly importScript: "Import recording script\u2026";
|
|
3070
3130
|
readonly importScriptCounts: "Applied {applied} ({unchanged} unchanged, {unknown} not voiced)";
|
|
3071
3131
|
readonly scriptRowCount: {
|
|
@@ -3098,6 +3158,9 @@ declare const en: {
|
|
|
3098
3158
|
readonly auditionFilterAll: "All";
|
|
3099
3159
|
readonly auditionFilterApproved: "Approved";
|
|
3100
3160
|
readonly auditionFilterPending: "Pending";
|
|
3161
|
+
readonly filterSpeakerAll: "All speakers";
|
|
3162
|
+
readonly speakerFilterLabel: "Speaker";
|
|
3163
|
+
readonly searchPlaceholder: "Search lines";
|
|
3101
3164
|
readonly narrationSpeaker: "Narration";
|
|
3102
3165
|
readonly narrationGroup: "Narration";
|
|
3103
3166
|
readonly choiceSpeaker: "Choice";
|
|
@@ -3106,8 +3169,9 @@ declare const en: {
|
|
|
3106
3169
|
readonly assign: "Assign audio";
|
|
3107
3170
|
readonly replace: "Replace audio";
|
|
3108
3171
|
readonly remove: "Remove voice";
|
|
3109
|
-
readonly play: "Play";
|
|
3110
|
-
readonly
|
|
3172
|
+
readonly play: "Play take";
|
|
3173
|
+
readonly showInStory: "Show in story";
|
|
3174
|
+
readonly stop: "Stop take";
|
|
3111
3175
|
readonly approve: "Approve";
|
|
3112
3176
|
readonly reject: "Return";
|
|
3113
3177
|
readonly clipMissing: "Clip missing";
|
|
@@ -3140,6 +3204,17 @@ declare const en: {
|
|
|
3140
3204
|
readonly unknown: "A story cannot be read, so orphan voice is not listed.";
|
|
3141
3205
|
};
|
|
3142
3206
|
};
|
|
3207
|
+
readonly script: {
|
|
3208
|
+
readonly column: {
|
|
3209
|
+
readonly filename: "File name";
|
|
3210
|
+
readonly character: "Speaker";
|
|
3211
|
+
readonly scene: "Scene";
|
|
3212
|
+
readonly line: "Line";
|
|
3213
|
+
readonly status: "Status";
|
|
3214
|
+
readonly note: "Note";
|
|
3215
|
+
readonly unitId: "Line ID";
|
|
3216
|
+
};
|
|
3217
|
+
};
|
|
3143
3218
|
};
|
|
3144
3219
|
readonly textSourceMigration: {
|
|
3145
3220
|
readonly message: {
|
|
@@ -3269,6 +3344,8 @@ declare const en: {
|
|
|
3269
3344
|
readonly replaceText: "text replacement";
|
|
3270
3345
|
readonly agentEdit: "agent edit";
|
|
3271
3346
|
readonly agentPluginEdit: "agent: {tool}";
|
|
3347
|
+
readonly importPsd: "PSD import";
|
|
3348
|
+
readonly importAudio: "audio import";
|
|
3272
3349
|
};
|
|
3273
3350
|
};
|
|
3274
3351
|
readonly agent: {
|
|
@@ -3476,6 +3553,7 @@ declare const en: {
|
|
|
3476
3553
|
readonly playtest_hover: "Hover in the game";
|
|
3477
3554
|
readonly playtest_key: "Press a key in the game";
|
|
3478
3555
|
readonly playtest_stop: "Stop playing";
|
|
3556
|
+
readonly playtest_variables: "Read the game's variables";
|
|
3479
3557
|
readonly console_read: "Read Studio's console";
|
|
3480
3558
|
readonly build: "Build the game";
|
|
3481
3559
|
};
|
|
@@ -4146,6 +4224,7 @@ declare const en: {
|
|
|
4146
4224
|
readonly localization: "Translation Table";
|
|
4147
4225
|
readonly voice: "Voice Table";
|
|
4148
4226
|
readonly lint: "Problems";
|
|
4227
|
+
readonly search: "Search";
|
|
4149
4228
|
readonly other: "Other";
|
|
4150
4229
|
};
|
|
4151
4230
|
readonly catalog: {
|
|
@@ -4203,6 +4282,10 @@ declare const en: {
|
|
|
4203
4282
|
readonly cut: "Cut Nodes";
|
|
4204
4283
|
readonly paste: "Paste Nodes";
|
|
4205
4284
|
};
|
|
4285
|
+
readonly search: {
|
|
4286
|
+
readonly undo: "Undo Replace";
|
|
4287
|
+
readonly redo: "Redo Replace";
|
|
4288
|
+
};
|
|
4206
4289
|
readonly storyMotion: {
|
|
4207
4290
|
readonly undo: "Undo";
|
|
4208
4291
|
readonly redo: "Redo";
|
|
@@ -4366,6 +4449,23 @@ declare const en: {
|
|
|
4366
4449
|
readonly replaceAll: "Replace all";
|
|
4367
4450
|
readonly replaceRow: "Replace this line";
|
|
4368
4451
|
readonly replaceStale: "The project changed. Search again.";
|
|
4452
|
+
readonly replacedInScene: {
|
|
4453
|
+
readonly one: "Replaced {count} occurrence in {scene}";
|
|
4454
|
+
readonly other: "Replaced {count} occurrences in {scene}";
|
|
4455
|
+
};
|
|
4456
|
+
readonly replacedInScenes: {
|
|
4457
|
+
readonly one: "Replaced {count} occurrence in {scenes} scenes";
|
|
4458
|
+
readonly other: "Replaced {count} occurrences in {scenes} scenes";
|
|
4459
|
+
};
|
|
4460
|
+
readonly replacedUndoHint: "{key} in the Search panel undoes it in every scene.";
|
|
4461
|
+
readonly undoSkipped: {
|
|
4462
|
+
readonly one: "Replace not undone in {count} scene edited after it";
|
|
4463
|
+
readonly other: "Replace not undone in {count} scenes edited after it";
|
|
4464
|
+
};
|
|
4465
|
+
readonly redoSkipped: {
|
|
4466
|
+
readonly one: "Replace not redone in {count} scene edited after the undo";
|
|
4467
|
+
readonly other: "Replace not redone in {count} scenes edited after the undo";
|
|
4468
|
+
};
|
|
4369
4469
|
readonly groups: {
|
|
4370
4470
|
readonly scene: "Scenes";
|
|
4371
4471
|
readonly story: "Stories";
|
|
@@ -4592,6 +4692,7 @@ declare const en: {
|
|
|
4592
4692
|
readonly reason: {
|
|
4593
4693
|
readonly blueprintAction: "A blueprint runs this row, and a blueprint has no script form.";
|
|
4594
4694
|
readonly inputAction: "This row works with the player's input or the controller's rumble, and has no script form.";
|
|
4695
|
+
readonly pageAction: "This row opens a page over the story and waits for it, and has no script form.";
|
|
4595
4696
|
readonly blueprintCondition: "A blueprint decides this condition.";
|
|
4596
4697
|
readonly blueprintInterpolation: "A blueprint computes a value inside this text.";
|
|
4597
4698
|
readonly inlineEvent: "The text carries an event that fires while it is being typed out.";
|
|
@@ -4833,6 +4934,20 @@ declare const en: {
|
|
|
4833
4934
|
readonly stage: {
|
|
4834
4935
|
readonly notOnStage: "Not on stage";
|
|
4835
4936
|
readonly builtin: "Built-in";
|
|
4937
|
+
readonly reserved: {
|
|
4938
|
+
readonly camera: "Camera";
|
|
4939
|
+
readonly background: "Scene background";
|
|
4940
|
+
readonly backgroundLayer: "Background layer";
|
|
4941
|
+
readonly displayableLayer: "Base layer";
|
|
4942
|
+
};
|
|
4943
|
+
readonly defaultName: {
|
|
4944
|
+
readonly text: "text";
|
|
4945
|
+
};
|
|
4946
|
+
readonly reservedHint: {
|
|
4947
|
+
readonly background: "The scene's background image";
|
|
4948
|
+
readonly backgroundLayer: "Built-in layer, behind everything";
|
|
4949
|
+
readonly displayableLayer: "Built-in default layer";
|
|
4950
|
+
};
|
|
4836
4951
|
};
|
|
4837
4952
|
readonly targetField: {
|
|
4838
4953
|
readonly label: "Target";
|
|
@@ -4972,10 +5087,6 @@ declare const en: {
|
|
|
4972
5087
|
readonly removeStarred: "Remove from starred";
|
|
4973
5088
|
readonly starredEmpty: "Starred commands are listed first in the \u201C/\u201D menu.";
|
|
4974
5089
|
};
|
|
4975
|
-
readonly music: {
|
|
4976
|
-
readonly missingAudio: "Missing audio";
|
|
4977
|
-
readonly none: "No music";
|
|
4978
|
-
};
|
|
4979
5090
|
readonly background: {
|
|
4980
5091
|
readonly missingImage: "Missing image";
|
|
4981
5092
|
readonly none: "No background";
|
|
@@ -4993,7 +5104,7 @@ declare const en: {
|
|
|
4993
5104
|
readonly times: "Times";
|
|
4994
5105
|
readonly character: "Character";
|
|
4995
5106
|
readonly speaker: "Speaker";
|
|
4996
|
-
readonly form: "
|
|
5107
|
+
readonly form: "Appearance";
|
|
4997
5108
|
readonly motion: "Motion";
|
|
4998
5109
|
readonly skin: "Skin";
|
|
4999
5110
|
readonly puppetParam: "Parameter";
|
|
@@ -5046,6 +5157,8 @@ declare const en: {
|
|
|
5046
5157
|
readonly hold: "Hold Seconds";
|
|
5047
5158
|
readonly opacity: "Opacity";
|
|
5048
5159
|
readonly size: "Font Size";
|
|
5160
|
+
readonly outline: "Outline px";
|
|
5161
|
+
readonly outlineColor: "Outline Color";
|
|
5049
5162
|
readonly xOffset: "X Offset px";
|
|
5050
5163
|
readonly yOffset: "Y Offset px";
|
|
5051
5164
|
readonly zoom: "Zoom";
|
|
@@ -5266,9 +5379,9 @@ declare const en: {
|
|
|
5266
5379
|
readonly video: "Video asset";
|
|
5267
5380
|
readonly character: "Character";
|
|
5268
5381
|
readonly characterOrName: "Character, or any name";
|
|
5269
|
-
readonly characterForm: "One of that character's
|
|
5382
|
+
readonly characterForm: "One of that character's appearances";
|
|
5270
5383
|
readonly puppet: {
|
|
5271
|
-
readonly motion: "A motion provided by the runtime (blank returns it to rest)";
|
|
5384
|
+
readonly motion: "A motion provided by the runtime, played in a loop (blank returns it to rest)";
|
|
5272
5385
|
readonly expression: "An expression provided by the runtime (blank clears it)";
|
|
5273
5386
|
readonly skin: "A skin provided by the runtime (blank restores the default)";
|
|
5274
5387
|
readonly param: "A numeric parameter of the model, by id";
|
|
@@ -5343,8 +5456,8 @@ declare const en: {
|
|
|
5343
5456
|
readonly createCharacterUnavailable: "Unavailable in a live session. Choose an existing character.";
|
|
5344
5457
|
readonly voiceOutdated: "Voice outdated, open voice table";
|
|
5345
5458
|
readonly voiceManage: "Open voice table";
|
|
5346
|
-
readonly voicePlay: "Play
|
|
5347
|
-
readonly voiceStop: "Stop
|
|
5459
|
+
readonly voicePlay: "Play take";
|
|
5460
|
+
readonly voiceStop: "Stop take";
|
|
5348
5461
|
};
|
|
5349
5462
|
readonly sceneEditor: {
|
|
5350
5463
|
readonly defaultSceneName: "Untitled Scene";
|
|
@@ -5357,16 +5470,6 @@ declare const en: {
|
|
|
5357
5470
|
readonly noDescription: "No description";
|
|
5358
5471
|
readonly defaultBackground: "Default background";
|
|
5359
5472
|
readonly clearBackground: "Clear background";
|
|
5360
|
-
readonly sceneMusic: "Scene music";
|
|
5361
|
-
readonly clearSceneMusic: "Clear scene music";
|
|
5362
|
-
readonly selectSceneMusic: "Select Scene Music";
|
|
5363
|
-
readonly sceneMusicVolume: "Volume";
|
|
5364
|
-
readonly sceneMusicLoop: "Loop";
|
|
5365
|
-
readonly sceneMusicFade: "Fade in (s)";
|
|
5366
|
-
readonly sceneMusicLoopRegion: "Loops {from}s to {to}s";
|
|
5367
|
-
readonly sceneMusicIntroLoop: "Plays {from}s, loops {loop}s to {to}s";
|
|
5368
|
-
readonly sceneMusicFromIn: "Starts at {from}s";
|
|
5369
|
-
readonly sceneMusicWholeClip: "Whole clip";
|
|
5370
5473
|
readonly selectDefaultBackground: "Select Default Background";
|
|
5371
5474
|
readonly tabInvalid: "Story scene editor tab is invalid.";
|
|
5372
5475
|
readonly loadingScene: "Loading story scene\u2026";
|
|
@@ -5656,7 +5759,7 @@ declare const en: {
|
|
|
5656
5759
|
};
|
|
5657
5760
|
readonly motion: {
|
|
5658
5761
|
readonly label: "Motion";
|
|
5659
|
-
readonly detail: "Set the motion a runtime-drawn character
|
|
5762
|
+
readonly detail: "Set the motion a runtime-drawn character loops until another row changes it";
|
|
5660
5763
|
};
|
|
5661
5764
|
readonly param: {
|
|
5662
5765
|
readonly label: "Parameter";
|
|
@@ -5684,7 +5787,7 @@ declare const en: {
|
|
|
5684
5787
|
};
|
|
5685
5788
|
readonly vfx: {
|
|
5686
5789
|
readonly label: "Ambience";
|
|
5687
|
-
readonly detail: "Declare a looping full-screen overlay
|
|
5790
|
+
readonly detail: "Declare a looping full-screen overlay (petals, rain, dust, light); /show reveals it";
|
|
5688
5791
|
};
|
|
5689
5792
|
readonly layer: {
|
|
5690
5793
|
readonly label: "Layer";
|
|
@@ -5822,6 +5925,10 @@ declare const en: {
|
|
|
5822
5925
|
readonly label: "Quit to page";
|
|
5823
5926
|
readonly detail: "End this playthrough at this line and show a page. No ending is recorded";
|
|
5824
5927
|
};
|
|
5928
|
+
readonly page: {
|
|
5929
|
+
readonly label: "Open page";
|
|
5930
|
+
readonly detail: "Open a page over the story and wait until it closes. What the page closes with can be written into a variable";
|
|
5931
|
+
};
|
|
5825
5932
|
readonly rumble: {
|
|
5826
5933
|
readonly label: "Rumble";
|
|
5827
5934
|
readonly detail: "Vibrate the player's controller. Pick a preset, or set each motor";
|
|
@@ -5904,6 +6011,7 @@ declare const en: {
|
|
|
5904
6011
|
readonly cut: "Cut point";
|
|
5905
6012
|
readonly ending: "Ending";
|
|
5906
6013
|
readonly quit: "Quit to page";
|
|
6014
|
+
readonly page: "Page";
|
|
5907
6015
|
readonly rumble: "Rumble";
|
|
5908
6016
|
readonly input: "Input";
|
|
5909
6017
|
readonly jump: "Jump";
|
|
@@ -5972,6 +6080,8 @@ declare const en: {
|
|
|
5972
6080
|
readonly cutUnknown: "Cut point";
|
|
5973
6081
|
readonly ending: "Ending {name}";
|
|
5974
6082
|
readonly quit: "Quit to {page}";
|
|
6083
|
+
readonly page: "Open {page}";
|
|
6084
|
+
readonly pageUnset: "Open page";
|
|
5975
6085
|
readonly rumble: "Rumble: {shape}";
|
|
5976
6086
|
readonly rumbleStop: "Stop rumble";
|
|
5977
6087
|
readonly inputLock: "Lock player input";
|
|
@@ -6020,6 +6130,7 @@ declare const en: {
|
|
|
6020
6130
|
readonly changeSpeaker: "Change speaker";
|
|
6021
6131
|
readonly speakerNameOnly: "{name} (name only)";
|
|
6022
6132
|
readonly openInspector: "Open inspector";
|
|
6133
|
+
readonly editAsText: "Edit as text";
|
|
6023
6134
|
readonly delete: "Delete";
|
|
6024
6135
|
};
|
|
6025
6136
|
readonly history: {
|
|
@@ -6082,6 +6193,7 @@ declare const en: {
|
|
|
6082
6193
|
readonly undo: "Undo story scene edit";
|
|
6083
6194
|
readonly redo: "Redo story scene edit";
|
|
6084
6195
|
readonly editRow: "Edit the active row (or open its inspector)";
|
|
6196
|
+
readonly editRowAsText: "Edit the active row as text";
|
|
6085
6197
|
readonly closeInspector: "Close the property editor";
|
|
6086
6198
|
readonly insertRow: "Insert a new story row below the active row";
|
|
6087
6199
|
readonly indent: "Indent selected story rows";
|
|
@@ -6150,6 +6262,7 @@ declare const en: {
|
|
|
6150
6262
|
unknownVariable: string;
|
|
6151
6263
|
unknownForm: string;
|
|
6152
6264
|
notPuppetCharacter: string;
|
|
6265
|
+
puppetNoExpressions: string;
|
|
6153
6266
|
ambiguousName: string;
|
|
6154
6267
|
conflictingParams: string;
|
|
6155
6268
|
positionOutOfRange: string;
|
|
@@ -6525,6 +6638,7 @@ declare const en: {
|
|
|
6525
6638
|
readonly setText: "Set text";
|
|
6526
6639
|
readonly setFontSize: "Set font size";
|
|
6527
6640
|
readonly setFontColor: "Set font color";
|
|
6641
|
+
readonly setFont: "Set font";
|
|
6528
6642
|
};
|
|
6529
6643
|
readonly layerOperation: {
|
|
6530
6644
|
readonly setZIndex: "Set z-index";
|
|
@@ -6607,6 +6721,8 @@ declare const en: {
|
|
|
6607
6721
|
readonly textName: "Text name";
|
|
6608
6722
|
readonly fontSize: "Font size";
|
|
6609
6723
|
readonly fontColor: "Font color";
|
|
6724
|
+
readonly outlineWidth: "Outline width";
|
|
6725
|
+
readonly outlineColor: "Outline color";
|
|
6610
6726
|
readonly text: "Text";
|
|
6611
6727
|
};
|
|
6612
6728
|
readonly layer: {
|
|
@@ -6724,6 +6840,8 @@ declare const en: {
|
|
|
6724
6840
|
readonly quitPage: "Page shown afterwards";
|
|
6725
6841
|
readonly quitPageUnset: "Not set";
|
|
6726
6842
|
readonly quitHint: "This playthrough ends at this line and the page takes the screen. No ending is recorded.";
|
|
6843
|
+
readonly pagePage: "Page";
|
|
6844
|
+
readonly pageHint: "The page opens over the story, and the story waits until the page closes itself with Close This Layer. What it closes with is written into the result variable, converted to the variable's type; a page closed with nothing leaves the variable as it was.";
|
|
6727
6845
|
readonly branch: "Branch";
|
|
6728
6846
|
readonly elseHint: "Else branch runs when previous branches do not match.";
|
|
6729
6847
|
};
|
|
@@ -6753,6 +6871,9 @@ declare const en: {
|
|
|
6753
6871
|
readonly history: {
|
|
6754
6872
|
readonly deleteAsset: "delete {name}";
|
|
6755
6873
|
readonly deleteGroup: "delete folder {name}";
|
|
6874
|
+
readonly replaceContent: "replace {name}";
|
|
6875
|
+
readonly convert: "convert {name}";
|
|
6876
|
+
readonly restoreFailed: "Could not restore \u201C{name}\u201D.";
|
|
6756
6877
|
};
|
|
6757
6878
|
readonly delete: {
|
|
6758
6879
|
readonly inUseTitle: "These assets are still in use";
|
|
@@ -6785,6 +6906,10 @@ declare const en: {
|
|
|
6785
6906
|
readonly confirmAction: "Replace";
|
|
6786
6907
|
readonly failedTitle: "Failed to replace asset contents";
|
|
6787
6908
|
readonly remoteUnsupported: "Remote assets have no local file to replace.";
|
|
6909
|
+
readonly notKept: "Could not replace \u201C{name}\u201D.";
|
|
6910
|
+
readonly reason: {
|
|
6911
|
+
readonly notKept: "A copy of the current file could not be saved.";
|
|
6912
|
+
};
|
|
6788
6913
|
};
|
|
6789
6914
|
readonly types: {
|
|
6790
6915
|
readonly image: "Images";
|
|
@@ -6971,7 +7096,7 @@ declare const en: {
|
|
|
6971
7096
|
readonly familyNoRuntime: "No runtime is installed here. The drawing runtime is set on the character.";
|
|
6972
7097
|
readonly family: {
|
|
6973
7098
|
readonly live2d: "Live2D Cubism";
|
|
6974
|
-
readonly live2dHint: "A folder holding a .model3.json
|
|
7099
|
+
readonly live2dHint: "A folder holding a .model3.json (Cubism 3 or later).";
|
|
6975
7100
|
readonly spine: "Spine";
|
|
6976
7101
|
readonly spineHint: "A folder holding a .skel or .json skeleton beside its .atlas.";
|
|
6977
7102
|
};
|
|
@@ -6999,7 +7124,7 @@ declare const en: {
|
|
|
6999
7124
|
readonly one: "Import {count} model";
|
|
7000
7125
|
readonly other: "Import {count} models";
|
|
7001
7126
|
};
|
|
7002
|
-
readonly blockedHint: "Models
|
|
7127
|
+
readonly blockedHint: "Models marked in red start unticked. Tick one to import it as-is.";
|
|
7003
7128
|
readonly problemCount: {
|
|
7004
7129
|
readonly one: "{count} problem";
|
|
7005
7130
|
readonly other: "{count} problems";
|
|
@@ -7011,6 +7136,7 @@ declare const en: {
|
|
|
7011
7136
|
readonly atlasMissing: "No atlas beside the skeleton; {path} was expected.";
|
|
7012
7137
|
readonly atlasEmpty: "{path} names no image.";
|
|
7013
7138
|
readonly nestedModel: "Holds another model, {path}, which would be copied with it.";
|
|
7139
|
+
readonly cubism2: "{path} is a Cubism 2 model. The Live2D Cubism runtime draws Cubism 3 and later models only.";
|
|
7014
7140
|
};
|
|
7015
7141
|
readonly role: {
|
|
7016
7142
|
readonly moc: "model file";
|
|
@@ -7643,6 +7769,7 @@ declare const en: {
|
|
|
7643
7769
|
readonly unknownVariant: "\u201C{element}\u201D has no such variant.";
|
|
7644
7770
|
readonly pageNotFound: "The page was not found in this project.";
|
|
7645
7771
|
readonly notALayer: "\u201C{node}\u201D: this page is not a layer, so nothing was closed.";
|
|
7772
|
+
readonly pageMusicInGame: "\u201C{node}\u201D: a game is running, and the story decides the music while it does. The page's music was not changed.";
|
|
7646
7773
|
readonly persistentVariableMissing: "The persistent variable this node uses no longer exists.";
|
|
7647
7774
|
readonly persistentVariableNoKey: "The persistent variable \u201C{name}\u201D has no storage key.";
|
|
7648
7775
|
readonly slotIsRunningGame: "This node needs a save in storage. The slot it received is the running game, which only \u201C{node}\u201D can inherit from.";
|
|
@@ -8497,6 +8624,7 @@ declare const en: {
|
|
|
8497
8624
|
readonly getVoiceVolume: "Get Voice Volume";
|
|
8498
8625
|
readonly hasReadText: "Has Read Text";
|
|
8499
8626
|
readonly playSound: "Play Sound";
|
|
8627
|
+
readonly playPageMusic: "Play Page Music";
|
|
8500
8628
|
readonly setAutoForward: "Set Auto Forward";
|
|
8501
8629
|
readonly setAutoForwardDelay: "Set Auto Forward Delay";
|
|
8502
8630
|
readonly setTextRevealDuration: "Set Text Fade In";
|
|
@@ -8543,6 +8671,7 @@ declare const en: {
|
|
|
8543
8671
|
readonly setVoiceFadeDuration: "Set Voice Fade Duration";
|
|
8544
8672
|
readonly setVoiceVolume: "Set Voice Volume";
|
|
8545
8673
|
readonly stopSound: "Stop Sound";
|
|
8674
|
+
readonly stopPageMusic: "Stop Page Music";
|
|
8546
8675
|
readonly pauseSound: "Pause Sound";
|
|
8547
8676
|
readonly resumeSound: "Resume Sound";
|
|
8548
8677
|
readonly setSoundVolume: "Set Sound Volume";
|
|
@@ -8801,6 +8930,8 @@ declare const en: {
|
|
|
8801
8930
|
readonly onFullscreenChanged: "On Fullscreen Changed";
|
|
8802
8931
|
readonly onWindowCloseRequested: "On Window Close Requested";
|
|
8803
8932
|
readonly onWindowFocusChanged: "On Window Focus Changed";
|
|
8933
|
+
readonly onSavedVarChanged: "On Saved Var Changed";
|
|
8934
|
+
readonly onPersistentChanged: "On Persistent Changed";
|
|
8804
8935
|
readonly onAction: "On Action";
|
|
8805
8936
|
readonly onKeyDown: "On Key Down";
|
|
8806
8937
|
readonly onKeyUp: "On Key Up";
|
|
@@ -8972,6 +9103,8 @@ declare const en: {
|
|
|
8972
9103
|
readonly getTotalPlaytime: "Get Total Playtime";
|
|
8973
9104
|
};
|
|
8974
9105
|
readonly nodeDescription: {
|
|
9106
|
+
readonly playPageMusic: "Makes this the music of the page this graph runs on, for as long as the page is open, in place of the music set in its properties. The music playing hands over to it, and the same music already playing carries on. Going back to a page underneath brings that page's music back. Does nothing while a game is running: the story decides the music then.";
|
|
9107
|
+
readonly stopPageMusic: "Silences the page this graph runs on, for as long as it is open. The music playing fades out over Fade (s), or over its own fade when Fade (s) is not connected. Does nothing while a game is running: the story decides the music then.";
|
|
8975
9108
|
readonly getComponentParam: "The value this placement sets for the chosen parameter, or the parameter's default when it sets none. A Text parameter that reads from a translation key gives the key's name; Translation Key Text gives its words.";
|
|
8976
9109
|
readonly getPageParam: "The value the page was opened with for the chosen param, or the param's default when it was given none. Params are declared in the page's properties.";
|
|
8977
9110
|
readonly compareEqual: "True when A and B are the same value of the same type. Lists and objects are compared by their contents, an element by which element it is. The number 1 and the text \"1\" are not equal; an input left unconnected counts as Null.";
|
|
@@ -9089,6 +9222,15 @@ declare const en: {
|
|
|
9089
9222
|
readonly colorReset: "Compute from the name";
|
|
9090
9223
|
};
|
|
9091
9224
|
readonly editor: {
|
|
9225
|
+
readonly sequenceTitle: "Frame sequence";
|
|
9226
|
+
readonly sequenceImport: "Import PNG frames";
|
|
9227
|
+
readonly sequenceFps: "Frames per second";
|
|
9228
|
+
readonly sequenceLoop: "Loop";
|
|
9229
|
+
readonly sequenceStatic: "Use first frame only";
|
|
9230
|
+
readonly sequenceMoveUp: "Move frame up";
|
|
9231
|
+
readonly sequenceMoveDown: "Move frame down";
|
|
9232
|
+
readonly sequencePngOnly: "All frames must be PNG images.";
|
|
9233
|
+
readonly sequenceSizeMismatch: "All frames must have the same dimensions.";
|
|
9092
9234
|
readonly kind: {
|
|
9093
9235
|
readonly preset: "Preset sprites";
|
|
9094
9236
|
readonly layered: "Layered sprite";
|
|
@@ -9123,6 +9265,7 @@ declare const en: {
|
|
|
9123
9265
|
readonly redescribe: "Read the model again";
|
|
9124
9266
|
readonly previewFailed: "This model could not be drawn";
|
|
9125
9267
|
readonly setupTitle: "Two things to set up";
|
|
9268
|
+
readonly setupTitleOne: "Left to set up: {item}";
|
|
9126
9269
|
readonly stepRuntime: "Drawing runtime";
|
|
9127
9270
|
readonly stepModel: "Model";
|
|
9128
9271
|
readonly runtimeInstalled: "Installed";
|
|
@@ -9275,6 +9418,7 @@ declare const en: {
|
|
|
9275
9418
|
readonly thumbnail: "Thumbnail";
|
|
9276
9419
|
readonly preview: "Preview";
|
|
9277
9420
|
readonly defaultAvatar: "Default dialog avatar";
|
|
9421
|
+
readonly defaultAvatarRuntimeHint: "A character drawn by a runtime has no generated avatar. Dialogue shows this one.";
|
|
9278
9422
|
readonly voiceTrack: "Voice track";
|
|
9279
9423
|
readonly voiceTrackMissing: "Missing track";
|
|
9280
9424
|
readonly voiceTrackEmpty: "Add a track under Voice in Project \u25B8 Game to give this character its own volume control.";
|
|
@@ -9285,6 +9429,12 @@ declare const en: {
|
|
|
9285
9429
|
readonly select: "Select";
|
|
9286
9430
|
readonly thumbnailAlt: "thumbnail";
|
|
9287
9431
|
readonly color: "Color";
|
|
9432
|
+
readonly aliases: "Aliases";
|
|
9433
|
+
readonly aliasesTip: "A story line whose speaker is written as an alias belongs to this character. The game still shows the character's name.";
|
|
9434
|
+
readonly addAliasPlaceholder: "Add alias\u2026";
|
|
9435
|
+
readonly aliasIsName: "\"{alias}\" is this character's name.";
|
|
9436
|
+
readonly aliasTakenByName: "\"{alias}\" is the name of {names}. Lines spoken as \"{alias}\" belong to {names}.";
|
|
9437
|
+
readonly aliasShared: "\"{alias}\" is also an alias of {names}. Lines spoken as \"{alias}\" cannot be assigned to one character.";
|
|
9288
9438
|
readonly namePlaceholder: "Character name";
|
|
9289
9439
|
readonly descriptionPlaceholder: "Character description\u2026";
|
|
9290
9440
|
readonly tags: "Tags";
|
|
@@ -9311,7 +9461,8 @@ declare const en: {
|
|
|
9311
9461
|
readonly variant: "Variant: {name}";
|
|
9312
9462
|
readonly loading: "Loading preview\u2026";
|
|
9313
9463
|
readonly failed: "Preview failed";
|
|
9314
|
-
readonly
|
|
9464
|
+
readonly emptyLayered: "Add a layer with an image, or import a PSD, to preview";
|
|
9465
|
+
readonly emptyPreset: "Set an image for this pose to preview";
|
|
9315
9466
|
readonly noSize: "No size";
|
|
9316
9467
|
readonly noMetadata: "No metadata";
|
|
9317
9468
|
readonly zoomOut: "Zoom Out";
|
|
@@ -9436,6 +9587,26 @@ declare const en: {
|
|
|
9436
9587
|
readonly chooseClick: "Choose click sound";
|
|
9437
9588
|
readonly missing: "Missing sound";
|
|
9438
9589
|
};
|
|
9590
|
+
readonly music: {
|
|
9591
|
+
readonly title: "Music";
|
|
9592
|
+
readonly none: "No music";
|
|
9593
|
+
readonly keep: "Keep current music";
|
|
9594
|
+
readonly silent: "No music";
|
|
9595
|
+
readonly choosePage: "Choose page music";
|
|
9596
|
+
readonly chooseScene: "Choose scene music";
|
|
9597
|
+
readonly missing: "Missing music";
|
|
9598
|
+
readonly loop: "Loop";
|
|
9599
|
+
readonly fade: "Fade";
|
|
9600
|
+
readonly loops: "Loops";
|
|
9601
|
+
readonly loopRegion: "Loops {from}s to {to}s";
|
|
9602
|
+
readonly loopToEnd: "Loops {from}s to the end";
|
|
9603
|
+
readonly introLoopRegion: "Plays from {start}s, loops {from}s to {to}s";
|
|
9604
|
+
readonly introLoopToEnd: "Plays from {start}s, loops {from}s to the end";
|
|
9605
|
+
readonly once: "Plays once";
|
|
9606
|
+
readonly onceFrom: "Plays once from {from}s";
|
|
9607
|
+
readonly onceRegion: "Plays once {from}s to {to}s";
|
|
9608
|
+
readonly fadeSummary: "Fade {seconds}s";
|
|
9609
|
+
};
|
|
9439
9610
|
readonly linkedComponent: {
|
|
9440
9611
|
readonly missing: "Missing component";
|
|
9441
9612
|
readonly info: "Linked instance. Only its params and its position, size and rotation can be changed before unlinking.";
|
|
@@ -9596,6 +9767,9 @@ declare const en: {
|
|
|
9596
9767
|
readonly descriptionPlaceholder: "Enter description\u2026";
|
|
9597
9768
|
readonly info: {
|
|
9598
9769
|
readonly dimensions: "Dimensions";
|
|
9770
|
+
readonly animation: "Animation";
|
|
9771
|
+
readonly animationLoops: "{frames} frames, loops forever";
|
|
9772
|
+
readonly animationPlays: "{frames} frames, plays {plays} \u00D7";
|
|
9599
9773
|
readonly format: "Format";
|
|
9600
9774
|
readonly size: "Size";
|
|
9601
9775
|
readonly hash: "Hash";
|
|
@@ -11883,6 +12057,8 @@ declare const en: {
|
|
|
11883
12057
|
readonly title: "Setup complete";
|
|
11884
12058
|
readonly expectation: "Every setting asked for here is in Settings. F1 opens help for whatever is under the cursor.";
|
|
11885
12059
|
readonly docs: "Open the documentation";
|
|
12060
|
+
readonly bilibili: "Follow us on Bilibili";
|
|
12061
|
+
readonly youtube: "Follow us on YouTube";
|
|
11886
12062
|
};
|
|
11887
12063
|
readonly skipConfirm: {
|
|
11888
12064
|
readonly title: "Skip setup?";
|
|
@@ -12122,8 +12298,9 @@ declare const en: {
|
|
|
12122
12298
|
readonly name: "Project Name";
|
|
12123
12299
|
readonly namePlaceholder: "Project name";
|
|
12124
12300
|
readonly appIdPlaceholder: "App identifier";
|
|
12125
|
-
readonly appIdHelper: "Lowercase letters, digits and hyphens, or a reverse-domain
|
|
12301
|
+
readonly appIdHelper: "Identifies the released game on the player's device. Lowercase letters, digits and hyphens, or a reverse-domain ID such as com.studio.game. Cannot be changed after the project is created.";
|
|
12126
12302
|
readonly appIdRequired: "App ID is required";
|
|
12303
|
+
readonly appIdInUse: "Already used by the project \u201C{name}\u201D on this machine";
|
|
12127
12304
|
readonly appIdInvalid: "App ID can only contain lowercase letters, numbers and hyphens, with dots only between the parts of a reverse-domain id such as com.studio.game";
|
|
12128
12305
|
readonly locationPlaceholder: "Project location";
|
|
12129
12306
|
readonly browseLocation: "Choose folder";
|
|
@@ -13431,6 +13608,12 @@ declare const en: {
|
|
|
13431
13608
|
readonly message: "{asset} is {size}, over the {limit} a build should carry";
|
|
13432
13609
|
readonly help: string;
|
|
13433
13610
|
};
|
|
13611
|
+
readonly assetsSpriteAnimationFinite: {
|
|
13612
|
+
readonly title: "Sprite animation that stops";
|
|
13613
|
+
readonly description: "A character sprite that is an animated PNG set to play a fixed number of times";
|
|
13614
|
+
readonly message: "{asset} is an animated PNG that plays {plays} \u00D7 and then holds its last frame";
|
|
13615
|
+
readonly help: string;
|
|
13616
|
+
};
|
|
13434
13617
|
readonly assetsGroupIncomplete: {
|
|
13435
13618
|
readonly title: "Unfinished asset set";
|
|
13436
13619
|
readonly description: "A set that does not resolve to exactly one file for every variant it declares";
|
|
@@ -13544,6 +13727,13 @@ declare const en: {
|
|
|
13544
13727
|
readonly message: "This row comes after an ending and is never played. Move it before the ending, or delete it";
|
|
13545
13728
|
readonly help: string;
|
|
13546
13729
|
};
|
|
13730
|
+
readonly storyPageMissing: {
|
|
13731
|
+
readonly title: "Open page with no page";
|
|
13732
|
+
readonly description: "A /page row that names no page, or one the project no longer has";
|
|
13733
|
+
readonly message: "This row names no page, so nothing opens and the story goes straight on";
|
|
13734
|
+
readonly deleted: "The page this row names is no longer in the project, so nothing opens and the story goes straight on";
|
|
13735
|
+
readonly help: string;
|
|
13736
|
+
};
|
|
13547
13737
|
readonly storyQuitPageMissing: {
|
|
13548
13738
|
readonly title: "Quit with no page";
|
|
13549
13739
|
readonly description: "A /quit row that names no page, or one the project no longer has";
|
|
@@ -13626,6 +13816,18 @@ declare const en: {
|
|
|
13626
13816
|
readonly message: "This background is already on screen, so the transition changes nothing";
|
|
13627
13817
|
readonly help: string;
|
|
13628
13818
|
};
|
|
13819
|
+
readonly storyTagNameShared: {
|
|
13820
|
+
readonly title: "Tag name on two axes";
|
|
13821
|
+
readonly description: "A character with layered sprites using one tag name on two axes";
|
|
13822
|
+
readonly message: "The tag \"{tag}\" is on both \"{first}\" and \"{second}\"";
|
|
13823
|
+
readonly help: string;
|
|
13824
|
+
};
|
|
13825
|
+
readonly storyParallelSameTarget: {
|
|
13826
|
+
readonly title: "One object in two parallel branches";
|
|
13827
|
+
readonly description: "A /parallel group whose branches act on the same stage object";
|
|
13828
|
+
readonly message: "Another branch of this /parallel group also acts on \"{object}\"";
|
|
13829
|
+
readonly help: string;
|
|
13830
|
+
};
|
|
13629
13831
|
readonly blueprintReferenceMissing: {
|
|
13630
13832
|
readonly title: "Missing target";
|
|
13631
13833
|
readonly description: "A node naming something the project no longer has";
|
|
@@ -13907,13 +14109,13 @@ declare const en: {
|
|
|
13907
14109
|
readonly voiceMissing: {
|
|
13908
14110
|
readonly title: "Missing voice";
|
|
13909
14111
|
readonly description: "A line with no recording in a voiced language";
|
|
13910
|
-
readonly message: "No {
|
|
14112
|
+
readonly message: "No {language} recording";
|
|
13911
14113
|
readonly help: string;
|
|
13912
14114
|
};
|
|
13913
14115
|
readonly voiceStale: {
|
|
13914
14116
|
readonly title: "Stale voice";
|
|
13915
14117
|
readonly description: "The line changed after it was recorded";
|
|
13916
|
-
readonly message: "{
|
|
14118
|
+
readonly message: "{language} recording predates a change to the line";
|
|
13917
14119
|
readonly help: string;
|
|
13918
14120
|
};
|
|
13919
14121
|
readonly voiceOrphan: {
|
|
@@ -13921,8 +14123,8 @@ declare const en: {
|
|
|
13921
14123
|
readonly description: "A recording whose line no longer exists";
|
|
13922
14124
|
readonly message: "{recordings} with no line";
|
|
13923
14125
|
readonly recordingCount: {
|
|
13924
|
-
readonly one: "{count} {
|
|
13925
|
-
readonly other: "{count} {
|
|
14126
|
+
readonly one: "{count} {language} recording";
|
|
14127
|
+
readonly other: "{count} {language} recordings";
|
|
13926
14128
|
};
|
|
13927
14129
|
readonly help: string;
|
|
13928
14130
|
};
|
|
@@ -14196,7 +14398,6 @@ declare const en: {
|
|
|
14196
14398
|
readonly groupAdded: "Group added";
|
|
14197
14399
|
readonly groupRemoved: "Group removed";
|
|
14198
14400
|
readonly fields: {
|
|
14199
|
-
readonly nicknames: "Nicknames";
|
|
14200
14401
|
readonly group: "Group";
|
|
14201
14402
|
readonly canvas: "Canvas";
|
|
14202
14403
|
readonly avatarAxes: "Avatar axes";
|
|
@@ -15069,6 +15270,10 @@ declare const en: {
|
|
|
15069
15270
|
readonly title: "Focus navigation";
|
|
15070
15271
|
readonly body: string;
|
|
15071
15272
|
};
|
|
15273
|
+
readonly pageMusic: {
|
|
15274
|
+
readonly title: "Page music";
|
|
15275
|
+
readonly body: string;
|
|
15276
|
+
};
|
|
15072
15277
|
readonly focusNavigationSettings: {
|
|
15073
15278
|
readonly title: "Navigation settings";
|
|
15074
15279
|
readonly body: string;
|
|
@@ -16588,6 +16793,22 @@ type UIPageAnimationSettings = {
|
|
|
16588
16793
|
/** Surfaces only: hold the incoming Page until this exit has finished. */
|
|
16589
16794
|
exitBlocking: boolean;
|
|
16590
16795
|
};
|
|
16796
|
+
type UIPageMusic = {
|
|
16797
|
+
/** Audio library asset id, or an audio asset set's id. */
|
|
16798
|
+
assetId: string;
|
|
16799
|
+
/** The project audio track it plays on (`ProjectAudioTrack.id`). Absent = the Music track. */
|
|
16800
|
+
audioTrackId?: string;
|
|
16801
|
+
/** 0-1 as authored. Absent = 1. */
|
|
16802
|
+
volume?: number;
|
|
16803
|
+
/** Absent = the track's own loop default (Music loops). */
|
|
16804
|
+
loop?: boolean;
|
|
16805
|
+
/** Fade-in as the page brings it in, and fade-out as it hands over, in milliseconds. Absent = 0. */
|
|
16806
|
+
fadeMs?: number;
|
|
16807
|
+
};
|
|
16808
|
+
type UIPageSilence = {
|
|
16809
|
+
silent: true;
|
|
16810
|
+
};
|
|
16811
|
+
type UIPageMusicSetting = UIPageMusic | UIPageSilence;
|
|
16591
16812
|
type UISurfaceBackgroundFillMode = "cover" | "contain" | "stretch" | "tile";
|
|
16592
16813
|
type UISurfaceBackgroundImage = {
|
|
16593
16814
|
/** Image library asset id. Absent background = absent field, so this is never empty. */
|
|
@@ -16717,6 +16938,12 @@ type UISurfaceSettings = {
|
|
|
16717
16938
|
* a scaled Surface keep showing the colour, so the two settings are not alternatives.
|
|
16718
16939
|
*/
|
|
16719
16940
|
backgroundImage?: UISurfaceBackgroundImage;
|
|
16941
|
+
/**
|
|
16942
|
+
* What a page does to the music while it is the page on screen: play this, or silence. Absent
|
|
16943
|
+
* keeps whatever is playing (see `pageMusic.ts`). Read for pages only: a Game UI is drawn over
|
|
16944
|
+
* the running scene, whose own music is what plays there.
|
|
16945
|
+
*/
|
|
16946
|
+
music?: UIPageMusicSetting;
|
|
16720
16947
|
pageAnimation?: UIPageAnimationSettings;
|
|
16721
16948
|
/** Where the focus starts when this Surface opens, and whether it is put there. See `navigation.ts`. */
|
|
16722
16949
|
navigation?: UISurfaceNavigation;
|
|
@@ -17010,6 +17237,11 @@ type PsdFingerprintSlot = {
|
|
|
17010
17237
|
layerId: string;
|
|
17011
17238
|
/** The tag it feeds, when that layer is bound to an axis. Absent for a constant layer. */
|
|
17012
17239
|
tagId?: string;
|
|
17240
|
+
/**
|
|
17241
|
+
* The image this import put in that slot. A re-import writes the layer's new bytes into it, as
|
|
17242
|
+
* long as the slot still shows it. Absent in a fingerprint written before it was recorded.
|
|
17243
|
+
*/
|
|
17244
|
+
assetId?: string;
|
|
17013
17245
|
};
|
|
17014
17246
|
type PsdFingerprint = {
|
|
17015
17247
|
fileName: string;
|
|
@@ -17324,6 +17556,10 @@ export type SearchJumpTarget = {
|
|
|
17324
17556
|
storyId: string;
|
|
17325
17557
|
storyName: string;
|
|
17326
17558
|
};
|
|
17559
|
+
type PngAnimation = {
|
|
17560
|
+
frames: number;
|
|
17561
|
+
plays: number;
|
|
17562
|
+
};
|
|
17327
17563
|
type ModelBundleFormat = "live2d-cubism4" | "live2d-cubism2" | "spine-binary" | "spine-json" | "unknown";
|
|
17328
17564
|
export declare enum AssetType {
|
|
17329
17565
|
Image = "image",
|
|
@@ -17357,6 +17593,8 @@ type ImageAssetMetadata = {
|
|
|
17357
17593
|
height: number;
|
|
17358
17594
|
format: string;
|
|
17359
17595
|
size: number;
|
|
17596
|
+
/** What an APNG declares about its frames and loops; null for a still image. */
|
|
17597
|
+
animation?: PngAnimation | null;
|
|
17360
17598
|
};
|
|
17361
17599
|
type AudioAssetMetadata = {
|
|
17362
17600
|
duration: number;
|
|
@@ -17729,6 +17967,7 @@ interface CharacterNamed {
|
|
|
17729
17967
|
name: string;
|
|
17730
17968
|
}
|
|
17731
17969
|
interface CharacterPose extends CharacterNamed {
|
|
17970
|
+
sequence?: CharacterFrameSequence;
|
|
17732
17971
|
/** Groups the list in the editor. Never consulted when resolving. */
|
|
17733
17972
|
folder?: string;
|
|
17734
17973
|
assetId: string | null;
|
|
@@ -17933,6 +18172,7 @@ declare class CharacterAppearance {
|
|
|
17933
18172
|
createPose(name: string, folder?: string): CharacterPose | null;
|
|
17934
18173
|
removePose(poseId: string): boolean;
|
|
17935
18174
|
setPoseAsset(poseId: string, assetId: string | null): void;
|
|
18175
|
+
setPoseSequence(poseId: string, input: CharacterFrameSequence): void;
|
|
17936
18176
|
setPoseFolder(poseId: string, folder: string | undefined): void;
|
|
17937
18177
|
setPosePortrait(poseId: string, portrait: PortraitCrop | undefined): void;
|
|
17938
18178
|
/**
|
|
@@ -19822,6 +20062,7 @@ declare const HELP_TOPIC_IDS: readonly [
|
|
|
19822
20062
|
"inputActionsInBlueprints",
|
|
19823
20063
|
"focusNavigation",
|
|
19824
20064
|
"focusNavigationSettings",
|
|
20065
|
+
"pageMusic",
|
|
19825
20066
|
"uiComponents",
|
|
19826
20067
|
"blueprints",
|
|
19827
20068
|
"scripts",
|
|
@@ -20105,6 +20346,17 @@ interface TagsFieldDefinition<TData = any> extends BaseFieldDefinition<TData> {
|
|
|
20105
20346
|
* that are not drawn, and removing a chip removes exactly the tag it stands for.
|
|
20106
20347
|
*/
|
|
20107
20348
|
formatTag?: (data: TData, tag: string) => string | null;
|
|
20349
|
+
/**
|
|
20350
|
+
* Why a stored tag will not do what it is there for, or null when it will. A tag with an issue
|
|
20351
|
+
* is drawn in the warning tone and the sentence is printed under the field. It is still stored:
|
|
20352
|
+
* the field warns rather than refusing, because the fix may be on another record.
|
|
20353
|
+
*/
|
|
20354
|
+
tagIssue?: (data: TData, tag: string) => string | null;
|
|
20355
|
+
/**
|
|
20356
|
+
* A tag the field drops instead of adding, as it drops a repeat. Absent: only repeats are
|
|
20357
|
+
* dropped.
|
|
20358
|
+
*/
|
|
20359
|
+
rejectTag?: (data: TData, tag: string) => boolean;
|
|
20108
20360
|
}
|
|
20109
20361
|
interface InfoFieldDefinition<TData = any> extends BaseFieldDefinition<TData> {
|
|
20110
20362
|
type: "info";
|
|
@@ -22445,6 +22697,7 @@ export type PluginWidgetModule = {
|
|
|
22445
22697
|
createFloatingToolbarItems?(context: PluginWidgetFloatingToolbarContext): FloatingToolbarItem[];
|
|
22446
22698
|
createLayoutSizeField?(context: PluginWidgetLayoutSizeFieldContext): FieldDefinition<PluginWidgetInspectorData> | null | undefined;
|
|
22447
22699
|
};
|
|
22700
|
+
type ModelFamily = "live2d" | "spine";
|
|
22448
22701
|
/**
|
|
22449
22702
|
* Caller-defined section (e.g. built-in presets) shown as a collapsible group in the asset list.
|
|
22450
22703
|
* Workspace filter chips do not apply; only the search box filters `assets` (same rules as project assets).
|
|
@@ -22472,6 +22725,11 @@ export interface AssetSelectorProps {
|
|
|
22472
22725
|
* Return null/undefined to fall back to the default fetch path.
|
|
22473
22726
|
*/
|
|
22474
22727
|
resolveAssetPreviewUrl?: (asset: Asset) => Promise<string | null | undefined>;
|
|
22728
|
+
/**
|
|
22729
|
+
* For a model picker: the kind of model the caller draws, which the import wizard opens on. Left
|
|
22730
|
+
* out, the wizard asks.
|
|
22731
|
+
*/
|
|
22732
|
+
modelFamily?: ModelFamily;
|
|
22475
22733
|
onClose: () => void;
|
|
22476
22734
|
onConfirm: (assets: Asset[]) => void;
|
|
22477
22735
|
}
|
package/package.json
CHANGED