pxt-common-packages 9.3.13 → 9.4.4
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/built/common-sim.d.ts +8 -0
- package/built/common-sim.js +74 -0
- package/libs/azureiot/built/debug/binary.js +461 -461
- package/libs/color/built/debug/binary.js +8 -8
- package/libs/color-sensor/built/debug/binary.js +8 -8
- package/libs/controller/built/debug/binary.js +7126 -6975
- package/libs/controller---none/built/debug/binary.js +7105 -6954
- package/libs/core---esp32/pins.cpp +30 -4
- package/libs/core---esp32/shims.d.ts +15 -0
- package/libs/core---esp32s2/shims.d.ts +15 -0
- package/libs/datalogger/built/debug/binary.js +63 -63
- package/libs/edge-connector/built/debug/binary.js +8 -8
- package/libs/esp32/built/debug/binary.js +462 -462
- package/libs/game/_locales/game-jsdoc-strings.json +10 -1
- package/libs/game/_locales/game-strings.json +18 -2
- package/libs/game/assetTemplates.ts +2 -0
- package/libs/game/built/debug/binary.js +7018 -6867
- package/libs/game/docs/reference/scene/get-tile-location.md +96 -0
- package/libs/game/docs/reference/scene/get-tiles-by-type.md +64 -43
- package/libs/game/docs/reference/scene/is-hitting-tile.md +87 -0
- package/libs/game/docs/reference/scene/on-hit-wall.md +88 -0
- package/libs/game/docs/reference/scene/on-overlap-tile.md +88 -0
- package/libs/game/docs/reference/scene/place-on-random-tile.md +95 -41
- package/libs/game/docs/reference/scene/place-on-tile.md +88 -0
- package/libs/game/docs/reference/scene/set-tile-at.md +45 -41
- package/libs/game/docs/reference/scene/set-tilemap.md +89 -0
- package/libs/game/docs/reference/scene/set-wall-at.md +86 -0
- package/libs/game/docs/reference/scene/tile-at-location-equals.md +97 -0
- package/libs/game/docs/reference/scene/tile-kind-at.md +118 -0
- package/libs/game/docs/reference/scene.md +20 -16
- package/libs/game/docs/reference/sprites/sprite/ax.md +34 -3
- package/libs/game/docs/reference/sprites/sprite/ay.md +34 -3
- package/libs/game/docs/reference/sprites/sprite/fx.md +123 -0
- package/libs/game/docs/reference/sprites/sprite/fy.md +123 -0
- package/libs/game/docs/reference/sprites.md +2 -0
- package/libs/game/physics.ts +1 -1
- package/libs/game/scenes.ts +5 -1
- package/libs/game/sprite.ts +23 -6
- package/libs/game/spriteevents.ts +7 -7
- package/libs/game/sprites.ts +16 -0
- package/libs/game/tilemap.ts +173 -27
- package/libs/lcd/built/debug/binary.js +8 -8
- package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
- package/libs/lora/built/debug/binary.js +8 -8
- package/libs/matrix-keypad/built/debug/binary.js +8 -8
- package/libs/mqtt/built/debug/binary.js +176 -176
- package/libs/net/built/debug/binary.js +176 -176
- package/libs/net-game/built/debug/binary.js +8802 -8651
- package/libs/palette/built/debug/binary.js +7017 -6866
- package/libs/pixel/built/debug/binary.js +8 -8
- package/libs/power/built/debug/binary.js +8 -8
- package/libs/proximity/built/debug/binary.js +8 -8
- package/libs/radio/built/debug/binary.js +8 -8
- package/libs/radio-broadcast/built/debug/binary.js +8 -8
- package/libs/rotary-encoder/built/debug/binary.js +8 -8
- package/libs/screen/built/debug/binary.js +50 -50
- package/libs/servo/built/debug/binary.js +8 -8
- package/libs/storyboard/built/debug/binary.js +7017 -6866
- package/libs/text-to-speech/pxt.json +14 -0
- package/libs/text-to-speech/shims.d.ts +47 -0
- package/libs/text-to-speech/sim/tts.ts +72 -0
- package/libs/text-to-speech/tts.ts +70 -0
- package/package.json +1 -1
package/built/common-sim.d.ts
CHANGED
|
@@ -1119,6 +1119,14 @@ declare namespace pxsim.input {
|
|
|
1119
1119
|
function onSwitchMoved(direction: number, body: RefAction): void;
|
|
1120
1120
|
function switchRight(): boolean;
|
|
1121
1121
|
}
|
|
1122
|
+
declare namespace pxsim.tts {
|
|
1123
|
+
function _getLanguageCode(): string;
|
|
1124
|
+
function _speakAsync(text: string, pitch?: number, rate?: number, volume?: number, language?: string, onStart?: RefAction, onBoundary?: RefAction): Promise<void>;
|
|
1125
|
+
function _pause(): void;
|
|
1126
|
+
function _isPaused(): boolean;
|
|
1127
|
+
function _resume(): void;
|
|
1128
|
+
function _cancel(): void;
|
|
1129
|
+
}
|
|
1122
1130
|
declare namespace pxsim {
|
|
1123
1131
|
interface TemperatureBoard extends CommonBoard {
|
|
1124
1132
|
thermometerState: AnalogSensorState;
|
package/built/common-sim.js
CHANGED
|
@@ -4568,6 +4568,80 @@ var pxsim;
|
|
|
4568
4568
|
})(input = pxsim.input || (pxsim.input = {}));
|
|
4569
4569
|
})(pxsim || (pxsim = {}));
|
|
4570
4570
|
var pxsim;
|
|
4571
|
+
(function (pxsim) {
|
|
4572
|
+
var tts;
|
|
4573
|
+
(function (tts) {
|
|
4574
|
+
function _getLanguageCode() {
|
|
4575
|
+
return window.navigator.language;
|
|
4576
|
+
}
|
|
4577
|
+
tts._getLanguageCode = _getLanguageCode;
|
|
4578
|
+
function _speakAsync(text, pitch, rate, volume, language, onStart, onBoundary) {
|
|
4579
|
+
return new Promise((resolve, reject) => {
|
|
4580
|
+
const utterance = new SpeechSynthesisUtterance(text);
|
|
4581
|
+
utterance.voice = getVoiceForLanguage(language || _getLanguageCode());
|
|
4582
|
+
if (pitch != undefined)
|
|
4583
|
+
utterance.pitch = pitch;
|
|
4584
|
+
if (rate != undefined)
|
|
4585
|
+
utterance.rate = rate;
|
|
4586
|
+
if (volume != undefined)
|
|
4587
|
+
utterance.volume = volume;
|
|
4588
|
+
utterance.onend = () => resolve();
|
|
4589
|
+
utterance.onerror = reject;
|
|
4590
|
+
if (onStart) {
|
|
4591
|
+
utterance.onstart = () => pxsim.runtime.runFiberAsync(onStart);
|
|
4592
|
+
}
|
|
4593
|
+
if (onBoundary) {
|
|
4594
|
+
utterance.onboundary = event => {
|
|
4595
|
+
const offset = event.charIndex;
|
|
4596
|
+
const nextWord = text.substring(offset).split(/\s/).shift();
|
|
4597
|
+
pxsim.runtime.runFiberAsync(onBoundary, offset, nextWord, text);
|
|
4598
|
+
};
|
|
4599
|
+
}
|
|
4600
|
+
speechSynthesis.speak(utterance);
|
|
4601
|
+
});
|
|
4602
|
+
}
|
|
4603
|
+
tts._speakAsync = _speakAsync;
|
|
4604
|
+
function _pause() {
|
|
4605
|
+
speechSynthesis.pause();
|
|
4606
|
+
}
|
|
4607
|
+
tts._pause = _pause;
|
|
4608
|
+
function _isPaused() {
|
|
4609
|
+
return speechSynthesis.paused;
|
|
4610
|
+
}
|
|
4611
|
+
tts._isPaused = _isPaused;
|
|
4612
|
+
function _resume() {
|
|
4613
|
+
speechSynthesis.resume();
|
|
4614
|
+
}
|
|
4615
|
+
tts._resume = _resume;
|
|
4616
|
+
function _cancel() {
|
|
4617
|
+
speechSynthesis.cancel();
|
|
4618
|
+
}
|
|
4619
|
+
tts._cancel = _cancel;
|
|
4620
|
+
function getVoiceForLanguage(language) {
|
|
4621
|
+
language = language.toLowerCase();
|
|
4622
|
+
const generalCode = language.substring(0, 2);
|
|
4623
|
+
let bestMatch;
|
|
4624
|
+
let bestNonlocalMatch;
|
|
4625
|
+
for (const voice of speechSynthesis.getVoices()) {
|
|
4626
|
+
const current = voice.lang.toLowerCase();
|
|
4627
|
+
if (current === language) {
|
|
4628
|
+
if (voice.localService)
|
|
4629
|
+
return voice;
|
|
4630
|
+
else
|
|
4631
|
+
bestNonlocalMatch = voice;
|
|
4632
|
+
}
|
|
4633
|
+
else if (current.substring(0, 2) === generalCode) {
|
|
4634
|
+
if (!bestMatch && voice.localService)
|
|
4635
|
+
bestMatch = voice;
|
|
4636
|
+
if (!bestNonlocalMatch && !voice.localService)
|
|
4637
|
+
bestNonlocalMatch = voice;
|
|
4638
|
+
}
|
|
4639
|
+
}
|
|
4640
|
+
return bestMatch || bestNonlocalMatch || (language !== "en-us" ? getVoiceForLanguage("en-US") : undefined);
|
|
4641
|
+
}
|
|
4642
|
+
})(tts = pxsim.tts || (pxsim.tts = {}));
|
|
4643
|
+
})(pxsim || (pxsim = {}));
|
|
4644
|
+
var pxsim;
|
|
4571
4645
|
(function (pxsim) {
|
|
4572
4646
|
function thermometerState() {
|
|
4573
4647
|
return pxsim.board().thermometerState;
|