What the desktop runtime is for once you are signed in
++ Browser access resolves account, release, and pairing posture. The actual simulator work still happens in the desktop runtime afterward. +
+diff --git a/website/src/__tests__/public-auth-pages.test.tsx b/website/src/__tests__/public-auth-pages.test.tsx index 155d03b..c8c8ebc 100644 --- a/website/src/__tests__/public-auth-pages.test.tsx +++ b/website/src/__tests__/public-auth-pages.test.tsx @@ -212,6 +212,8 @@ describe('public auth and download pages', () => { expect(screen.getByText('Current input, XR, and settings truth')).toBeTruthy() expect(screen.getByText('Protected browser dashboard')).toBeTruthy() expect(screen.getByText('Native Unreal desktop runtime')).toBeTruthy() + expect(screen.getByText('What the desktop runtime is for once you are signed in')).toBeTruthy() + expect(screen.getByText('1. Run a classic-cube training session')).toBeTruthy() await userEvent.type(screen.getByLabelText('Email'), 'operator@hypertwist.app') await userEvent.type(screen.getByLabelText('Password'), 'password123') @@ -238,6 +240,8 @@ describe('public auth and download pages', () => { expect(screen.getByText('Why the browser is intentionally narrower')).toBeTruthy() expect(screen.getByText('Protected browser dashboard')).toBeTruthy() expect(screen.getByText('Native Unreal desktop runtime')).toBeTruthy() + expect(screen.getByText('What the desktop runtime is for once you are signed in')).toBeTruthy() + expect(screen.getByText('2. Run a recognition and correction workflow')).toBeTruthy() await userEvent.type(screen.getByLabelText('Name'), 'Operator') await userEvent.type(screen.getByLabelText('Email'), 'operator@hypertwist.app') @@ -298,6 +302,7 @@ describe('public auth and download pages', () => { expect(screen.getByText('Browser account access does not replace the simulator.')).toBeTruthy() expect(screen.getByRole('link', { name: 'Open support' }).getAttribute('href')).toBe('/support?topic=operator-access') expect(screen.getByText('Protected operator dashboard')).toBeTruthy() + expect(screen.getByText('What the desktop runtime is for once you are signed in')).toBeTruthy() }) it('shows enabled OAuth buttons and routes provider clicks through the login handler', async () => { diff --git a/website/src/pages/auth-pages.tsx b/website/src/pages/auth-pages.tsx index 380e42e..8d9d8e3 100644 --- a/website/src/pages/auth-pages.tsx +++ b/website/src/pages/auth-pages.tsx @@ -10,7 +10,7 @@ import { } from '../auth/supertokens-runtime' import { SiteMetadata } from '../components/seo/SiteMetadata' import { OperationalStatusCallout } from '../components/ui/OperationalStatusCallout' -import { browserDesktopRealityCards, deliverySurfaceCards, operatorManualTracks } from '../site-data' +import { browserDesktopRealityCards, deliverySurfaceCards, desktopWorkflowTracks, operatorManualTracks } from '../site-data' import { buildSupportPath, getDownloadPlatformLabel, normalizeDownloadPlatform } from '../site-routes' function AuthShell({ @@ -165,6 +165,30 @@ function AuthAccessGuide({ nextPath }: { nextPath: string }) { ) } +function AuthWorkflowPreview() { + return ( +
+ Browser access resolves account, release, and pairing posture. The actual simulator work still happens in the desktop runtime afterward. +
+{track.description}
+