feat: implement isometric stage 3

Issue: #160
User-Visible: no
This commit is contained in:
Sergey Matyunin
2026-09-06 07:06:54 +03:00
parent 3bf9e2d6d3
commit ee7d486924
87 changed files with 7676 additions and 1375 deletions
+17
View File
@@ -10,6 +10,23 @@ export interface EditorRuntimeLoaderFailure {
readonly terminal: boolean;
}
export type SafeRuntimeDiagnostic = Readonly<{
kind: 'runtime-load' | 'structural';
fingerprint: string;
terminal: boolean;
}>;
/** Allow only an internal short content hash or a fixed non-secret sentinel. */
export function safeRuntimeDiagnostic(
kind: SafeRuntimeDiagnostic['kind'], fingerprint: unknown, terminal: boolean,
): SafeRuntimeDiagnostic {
const value = typeof fingerprint === 'string' && (
fingerprint === 'invalid' || fingerprint === 'no-borders' || fingerprint === 'unverified'
|| /^[a-z0-9]{1,8}$/i.test(fingerprint)
) ? fingerprint : 'redacted';
return Object.freeze({ kind, fingerprint: value, terminal: !!terminal });
}
export interface EditorRuntimeLoaderOptions<Runtime> {
readonly expectedFingerprint: string;
readonly load: (attempt: 0 | 1) => Promise<EditorRuntimeModule<Runtime>>;