@gentbajko/slopify 3.0.1 → 3.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/dist/adapters/alignment/text.js +3 -1
- package/dist/extension/slopify-studio-chrome.zip +0 -0
- package/dist/extension/slopify-studio-firefox.zip +0 -0
- package/dist/patch-notes/3.0.2.md +20 -0
- package/dist/patch-notes/index.json +6 -0
- package/dist/slices/rebuild/recipe-save.js +1 -1
- package/dist/web/assets/{index-DFdIhmm0.js → index-C4McGNke.js} +12 -12
- package/dist/web/assets/{pdf-B9OY1ioX.js → pdf-COowcLcz.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
|
@@ -53,7 +53,9 @@ export function speechWords(text, observed = "", aliases = [], formsOf = wordFor
|
|
|
53
53
|
}
|
|
54
54
|
if (words.length === 0)
|
|
55
55
|
throw new Error(empty);
|
|
56
|
-
|
|
56
|
+
// An aliased word keeps its forms even when there is one: `respoken` would otherwise read
|
|
57
|
+
// the written text again without the aliases, and "&" alone says nothing.
|
|
58
|
+
return words.map(({ text: shown, spoken, forms, aliased }) => forms.length > 1 || aliased ? { text: shown, spoken, forms } : { text: shown, spoken });
|
|
57
59
|
}
|
|
58
60
|
// The form of a word the recording seems to say, else its default.
|
|
59
61
|
export function respoken(word, observed, formsOf = wordForms) {
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Slopify 3.0.2
|
|
2
|
+
|
|
3
|
+
Released 28 September 2026.
|
|
4
|
+
|
|
5
|
+
3.0.2 fixes a video that stopped at subtitle timing when the text had a lone "&", and makes regenerating images plain: one button remakes them all, and a marked image says so.
|
|
6
|
+
|
|
7
|
+
## Fixes
|
|
8
|
+
|
|
9
|
+
- A standalone "&" said as "and" through a pronunciation alias no longer stops the video. Subtitle timing failed on it with "Local subtitles currently require an English transcript with spoken words." A project that stopped there carries on with **Try the video again**.
|
|
10
|
+
- Deleting every image and saving says what to do: press Discard changes to get them back, then Regenerate all, or set Images and Video to Off on Inputs. The list above the settings no longer starts each message with an internal field name.
|
|
11
|
+
|
|
12
|
+
## Regenerating images
|
|
13
|
+
|
|
14
|
+
- The Images stage has **Regenerate all**, beside Download all. It opens the settings with every slideshow image marked to be made again, ready to save.
|
|
15
|
+
- In the settings, **Regenerate image N** now shows that it worked: the image says it is made again after you press Save changes, and the button becomes **Keep image N** to take the mark off.
|
|
16
|
+
- Marked and outdated images are made again when you remake them: press the Remake button on the project page once the run has nothing else waiting, or Ctrl+K → Remake everything outdated.
|
|
17
|
+
|
|
18
|
+
## Upgrading from 3.0.1
|
|
19
|
+
|
|
20
|
+
- **Nothing becomes outdated.** Projects keep every file and fingerprint.
|
|
@@ -194,7 +194,7 @@ export function validateRevisionEdit(config, content) {
|
|
|
194
194
|
if (config.sources.images !== "off" && content.imageOrder.length === 0)
|
|
195
195
|
fields.push({
|
|
196
196
|
field: "content.imageOrder",
|
|
197
|
-
message: "
|
|
197
|
+
message: "Every image is deleted, so the video has nothing to show. Press Discard changes to get them back, then press Regenerate all on the Images stage to make them again. To make the project without pictures, set Images and Video to Off on Inputs instead.",
|
|
198
198
|
});
|
|
199
199
|
if (config.sources.images === "off" && config.sources.video !== "off")
|
|
200
200
|
fields.push({ field: "sources.video", message: "Turn Video off when Images is off." });
|