Initial effects
This commit is contained in:
@@ -132,9 +132,12 @@ function buildHTML() {
|
||||
<label class="form-label">Movement Mode</label>
|
||||
<select id="mode-select" class="form-input" style="width:100%;">
|
||||
<option value="direct">Direct (Normal)</option>
|
||||
<option value="erratic">Erratic (Coming Soon)</option>
|
||||
<option value="random">Random (Coming Soon)</option>
|
||||
<option value="snaky">Snaky (Coming Soon)</option>
|
||||
<option value="snaky">Snaky</option>
|
||||
<option value="erratic">Erratic</option>
|
||||
<option value="jumpy">Jumpy</option>
|
||||
<option value="hesitant">Hesitant</option>
|
||||
<option value="overshoot">Overshoot</option>
|
||||
<option value="random">Random</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -128,6 +128,19 @@ function buildHTML() {
|
||||
<option value="portrait-right">Right Side Test (Portrait)</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group" style="margin-bottom: 12px;">
|
||||
<label class="form-label">Movement Mode</label>
|
||||
<select id="text-mode-select" class="form-input" style="width:100%;">
|
||||
<option value="direct">Direct (Normal)</option>
|
||||
<option value="snaky">Snaky</option>
|
||||
<option value="erratic">Erratic</option>
|
||||
<option value="jumpy">Jumpy</option>
|
||||
<option value="hesitant">Hesitant</option>
|
||||
<option value="overshoot">Overshoot</option>
|
||||
<option value="random">Random</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- Settings -->
|
||||
<div style="background: var(--surface-2); padding: 10px; border-radius: var(--radius-sm); margin-bottom: 12px;">
|
||||
@@ -266,7 +279,9 @@ function delay(ms) {
|
||||
|
||||
async function executeMove(spot) {
|
||||
UI.log(`Spelling: ${spot.label}`, 'info');
|
||||
return await Motion.goto(spot.x, spot.y);
|
||||
const modeEl = document.getElementById('text-mode-select');
|
||||
const mode = modeEl ? modeEl.value : 'direct';
|
||||
return await Motion.goto(spot.x, spot.y, mode);
|
||||
}
|
||||
|
||||
async function spellText(text) {
|
||||
|
||||
@@ -261,6 +261,19 @@ function buildHTML() {
|
||||
</select>
|
||||
<div style="font-size: 0.7rem; color: var(--text-muted); margin-top: 4px;">Provides available spots for the editor.</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" style="margin-bottom: 12px;">
|
||||
<label class="form-label">Global Movement Mode</label>
|
||||
<select id="seq-mode-select" class="form-input" style="width:100%;">
|
||||
<option value="direct">Direct (Normal)</option>
|
||||
<option value="snaky">Snaky</option>
|
||||
<option value="erratic">Erratic</option>
|
||||
<option value="jumpy">Jumpy</option>
|
||||
<option value="hesitant">Hesitant</option>
|
||||
<option value="overshoot">Overshoot</option>
|
||||
<option value="random">Random</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div style="background: var(--surface-2); padding: 10px; border-radius: var(--radius-sm);">
|
||||
<div class="setting-row">
|
||||
@@ -671,8 +684,11 @@ export default {
|
||||
btnPlay.style.display = 'none';
|
||||
btnStop.style.display = 'inline-block';
|
||||
|
||||
const modeEl = document.getElementById('seq-mode-select');
|
||||
const mode = modeEl ? modeEl.value : 'direct';
|
||||
|
||||
await sendSettings();
|
||||
await SequenceRunner.run(sequence, spots, steps1, steps2, (s1, s2) => {
|
||||
await SequenceRunner.run(sequence, spots, steps1, steps2, mode, (s1, s2) => {
|
||||
steps1 = s1; steps2 = s2;
|
||||
updatePositionReadout();
|
||||
});
|
||||
|
||||
@@ -195,7 +195,10 @@ async function moveToXY(targetX, targetY) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return await Motion.goto(targetX, targetY);
|
||||
const modeEl = document.getElementById('test-mode-select');
|
||||
const mode = modeEl ? modeEl.value : 'direct';
|
||||
|
||||
return await Motion.goto(targetX, targetY, mode);
|
||||
}
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────
|
||||
@@ -526,6 +529,17 @@ function buildHTML() {
|
||||
<div class="card">
|
||||
<div class="card-header"><span class="card-title">Move to XY</span></div>
|
||||
<div style="display:flex;flex-direction:column;gap:8px">
|
||||
<div class="form-group" style="margin-bottom: 4px;">
|
||||
<select id="test-mode-select" class="form-input" style="width:100%; font-size: 0.9rem;">
|
||||
<option value="direct">Effect: Direct</option>
|
||||
<option value="snaky">Effect: Snaky</option>
|
||||
<option value="erratic">Effect: Erratic</option>
|
||||
<option value="jumpy">Effect: Jumpy</option>
|
||||
<option value="hesitant">Effect: Hesitant</option>
|
||||
<option value="overshoot">Effect: Overshoot</option>
|
||||
<option value="random">Effect: Random</option>
|
||||
</select>
|
||||
</div>
|
||||
<div style="display:flex;gap:6px;align-items:center">
|
||||
<label class="form-label" style="width:18px">X</label>
|
||||
<input class="form-input" type="number" id="input-x"
|
||||
|
||||
Reference in New Issue
Block a user