mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 19:04:02 +00:00
refactor: separate Cockpit controller and presentation components
This commit is contained in:
1 parent
43db5c19bb
commit
8075c70e6e
24 files changed
+2258
-1928
No files matched your search
@@ -1,3 +1,5 @@
|
||||
import { enter as cockpitEnter, navigateContext } from './ui/cockpitTrackingController.js';
|
||||
import { CockpitViewController } from './ui/cockpitController.js';
|
||||
import assert from 'node:assert/strict';
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
@@ -29,11 +31,7 @@ function ordered(source, needles, label) {
|
||||
}
|
||||
|
||||
test('Cockpit takeover invalidates deferred work before camera cancellation', () => {
|
||||
const enter = body(
|
||||
ui,
|
||||
/enter\(\) \{([\s\S]*?)\n \}\n\n exit\(/,
|
||||
'Cockpit enter',
|
||||
);
|
||||
const enter = cockpitEnter.toString();
|
||||
ordered(enter, [
|
||||
'if (!info || !entity?.position) return false;',
|
||||
'this.onCameraTakeover?.();',
|
||||
@@ -131,18 +129,14 @@ test('voice Cockpit next/previous shares the manual Context navigation path', ()
|
||||
// is what stamps. Divergence here is how a voice-only camera path escapes
|
||||
// the arbiter.
|
||||
assert.match(
|
||||
ui,
|
||||
CockpitViewController.toString(),
|
||||
/this\._listen\(this\.contextPrevious, 'click', \(\) => this\.navigateContext\(-1, \{ origin: 'user' \}\)\);/,
|
||||
);
|
||||
assert.match(
|
||||
ui,
|
||||
CockpitViewController.toString(),
|
||||
/this\._listen\(this\.contextNext, 'click', \(\) => this\.navigateContext\(1, \{ origin: 'user' \}\)\);/,
|
||||
);
|
||||
const funnel = body(
|
||||
ui,
|
||||
/navigateContext\(direction, options = \{\}\) \{([\s\S]*?)\n \}\n\n \/\*\* Adopt/,
|
||||
'Cockpit Context navigation funnel',
|
||||
);
|
||||
const funnel = navigateContext.toString();
|
||||
ordered(funnel, [
|
||||
"const method = direction < 0 ? 'navigatePrevious' : 'navigateNext';",
|
||||
'const navigationOptions = wasActive ? { ...options, aircraftOnly: true } : options;',
|
||||
|
||||
Reference in new issue
Block a user