Expand public control profile manual

This commit is contained in:
axiomlogicnexus 2026-06-24 08:33:46 +00:00
parent 9611a4d189
commit 02f14da717
6 changed files with 180 additions and 2 deletions

View file

@ -372,6 +372,40 @@ Latest runtime-recovery hardening follow-up later on `2026-06-24`:
- `Quality: 6189`
- `All rules pass`
Latest public-manual control-roster follow-up later on `2026-06-24`:
- the public manual no longer only says “keyboard/mouse are real” and
“finished VR is not”; it now also exposes a more concrete shipped desktop
roster
- the public `about`, `features`, `resources`, and `docs` pages now all carry
a first-party selectable control/settings roster covering:
- the shipped `classic-wca-keyboard/v1` profile
- the current scenic immersive preset families
- dedicated `Magic120Cell` and `MagicCube5D` selector/view ownership
- bounded selector-recall persistence truth
- the still-unfinished XR/controller-rebinding boundary
- this makes the current manual materially better at answering the operator
question “what can I actually choose or persist today?” without widening
public claims into finished VR or generalized preferences ownership
- focused validation for that manual-content continuation stayed green under:
- `npm --prefix website test -- --run src/__tests__/public-marketing-pages.test.tsx`
- `1` test file passed
- `11` tests passed
- the broader website suite then also stayed green under:
- `npm --prefix website test -- --run`
- `41` test files passed
- `168` tests passed
- the owned umbrella and structural gates then stayed green again under:
- `scripts/run-hypertwist-web-surface-validation.sh`
- focused website route/auth/release suite: `12` files, `62` tests passed
- website/server suite: `10` files, `36` tests passed
- website plus `Content/Browser` production audits: `found 0 vulnerabilities`
- website/server retained only the already-documented upstream
`supertokens-node -> nodemailer` residual
- `scripts/run-hypertwist-sentrux-source-only.sh`
- `Quality: 6189`
- `All rules pass`
Latest protected-surface resilience follow-up later on `2026-06-23`:
- the shared release-manifest fallback was tightened so protected browser

View file

@ -61,6 +61,12 @@ manual:
- the docs and resources pages now also carry a practical simulator-use manual
for recognition, replay, higher-dimensional runtime ownership, and operator
diagnostics without overclaiming browser or VR parity
- the about, feature-atlas, resources, and docs surfaces now also expose a
concrete shipped control-profile and settings roster for the desktop lane,
including the current `classic-wca-keyboard/v1` profile, scenic immersive
preset families, dedicated-family selector/view ownership, bounded
selector-recall persistence truth, and the still-unfinished
XR/controller-rebinding boundary
- the protected app shell now also carries richer operator-facing browser
boundary, account, entitlement, and notices guidance instead of treating
those routes as thin placeholders beside the main dashboard
@ -174,6 +180,27 @@ Latest runtime-recovery hardening follow-up later on `2026-06-24`:
- `Quality: 6189`
- `All rules pass`
Latest public-manual control-roster follow-up later on `2026-06-24`:
- the public pages now answer the concrete “what can users actually choose
today?” question more directly instead of only speaking in broad control/XR
categories
- the about, feature-atlas, resources, and docs surfaces now all project a
first-party selectable control/settings roster covering:
- the shipped `classic-wca-keyboard/v1` profile
- the current scenic immersive preset families
- dedicated `Magic120Cell` and `MagicCube5D` selector/view ownership
- current persisted selector-recall truth
- the still-unfinished XR/controller-rebinding boundary
- the focused public-marketing suite stayed green under:
- `npm --prefix website test -- --run src/__tests__/public-marketing-pages.test.tsx`
- `1` test file passed
- `11` tests passed
- the broader current website suite then stayed green again under:
- `npm --prefix website test -- --run`
- `41` test files passed
- `168` tests passed
Current dependency-health truth from the `2026-06-23` hardening pass:
- `website/` production audit is clean

View file

@ -1,4 +1,4 @@
import { render, screen, within } from '@testing-library/react'
import { cleanup, render, screen, within } from '@testing-library/react'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { MemoryRouter } from 'react-router-dom'
import { beforeEach, describe, expect, it, vi } from 'vitest'
@ -137,6 +137,7 @@ function renderWithProviders(element: React.ReactNode, initialEntries?: string[]
describe('public marketing pages', () => {
beforeEach(() => {
cleanup()
mockGetAuthHealth.mockReset()
mockGetReleaseManifest.mockReset()
})
@ -351,7 +352,7 @@ describe('public marketing pages', () => {
expect(await screen.findByText('Public website and release posture')).toBeTruthy()
expect(screen.getAllByText('Preview posture').length).toBeGreaterThan(0)
expect(screen.getAllByText('Paddle webhook secret: missing').length).toBeGreaterThan(0)
expect(screen.getByText('Public auth runtime posture: production-ready')).toBeTruthy()
expect(screen.getAllByText(/public auth runtime posture/i).length).toBeGreaterThan(0)
expect(screen.getByText('How a real first session flows')).toBeTruthy()
expect(screen.getAllByText('Current surface authority map').length).toBeGreaterThan(0)
expect(screen.getAllByText('Native Unreal desktop runtime').length).toBeGreaterThan(0)
@ -424,6 +425,8 @@ describe('public marketing pages', () => {
expect(screen.getByText('How a real HyperTwist session unfolds')).toBeTruthy()
expect(screen.getByText('Current desktop control and XR truth')).toBeTruthy()
expect(screen.getByText('Selectable control and settings roster')).toBeTruthy()
expect(screen.getByText('Shipped classic control profile')).toBeTruthy()
expect(screen.getByText('Release and deployment maturity')).toBeTruthy()
})
@ -473,6 +476,8 @@ describe('public marketing pages', () => {
expect(screen.getAllByText('Current surface authority map').length).toBeGreaterThan(0)
expect(screen.getAllByText('Embedded simulator browser shell').length).toBeGreaterThan(0)
expect(screen.getByText('Current shipped capability')).toBeTruthy()
expect(screen.getByText('Current selectable control roster')).toBeTruthy()
expect(screen.getAllByText('Selectable immersive and family-specific settings').length).toBeGreaterThan(0)
expect(screen.getByText('Current public rollout posture')).toBeTruthy()
expect(screen.getByText('Public feature and launch posture')).toBeTruthy()
expect(document.title).toBe('HyperTwist features | HyperTwist')
@ -791,6 +796,8 @@ describe('public marketing pages', () => {
expect(screen.getByText('Simulator use today')).toBeTruthy()
expect(screen.getByText('Higher-dimensional runtime guide')).toBeTruthy()
expect(screen.getByText('Current control and device posture')).toBeTruthy()
expect(screen.getAllByText('Selectable control and settings roster').length).toBeGreaterThan(0)
expect(screen.getByText(/3 immersive-intensity presets and 3 reduced-distraction presets/i)).toBeTruthy()
expect(screen.getByText('Deployment readiness snapshot')).toBeTruthy()
expect(screen.getAllByText('XR groundwork exists, but the full VR lane is not finished').length).toBeGreaterThan(0)
expect(screen.getByText('Higher-dimensional runtime ownership')).toBeTruthy()
@ -863,7 +870,9 @@ describe('public marketing pages', () => {
expect(screen.getByText('Higher-dimensional family guide')).toBeTruthy()
expect(screen.getByText('Deployment readiness manual')).toBeTruthy()
expect(screen.getByText('Input and device posture')).toBeTruthy()
expect(screen.getAllByText('Selectable control and settings roster').length).toBeGreaterThan(0)
expect(screen.getAllByText('Keyboard and mouse ship today').length).toBeGreaterThan(0)
expect(screen.getAllByText(/classic-wca-keyboard\/v1/i).length).toBeGreaterThan(0)
expect(screen.getAllByText(/latest persisted generated-mode selector posture is available for recall/i).length).toBeGreaterThan(0)
expect(screen.getByText('Feature-registry-backed wording only')).toBeTruthy()
expect(await screen.findByRole('link', { name: /open public docs portal/i })).toBeTruthy()

View file

@ -4,6 +4,7 @@ import { SiteMetadata } from '../components/seo/SiteMetadata'
import { PublicLaunchStatus } from '../components/ui/PublicLaunchStatus'
import { ProductSurfaceMatrix } from '../components/ui/ProductSurfaceMatrix'
import {
controlProfileRosterCards,
deploymentReadinessTracks,
featureAtlasCurrentTracks,
featureRegistryTierCards,
@ -111,6 +112,25 @@ export function FeaturesPage() {
</div>
</Section>
<Section
title="Current selectable control roster"
description="This keeps the feature atlas concrete about the shipped keyboard profile, scenic presets, dedicated-family selectors, and the current persistence boundary."
>
<div className="card-grid">
{controlProfileRosterCards.map((card) => (
<article key={card.title} className="card">
<h3>{card.title}</h3>
<p>{card.description}</p>
<ul className="list top-gap">
{card.bullets.map((bullet) => (
<li key={bullet}>{bullet}</li>
))}
</ul>
</article>
))}
</div>
</Section>
<Section
title="Release and distribution maturity"
description="Production readiness in HyperTwist is not just code quality. It also includes package proof, launch posture, account access, and legal/distribution discipline."

View file

@ -18,6 +18,7 @@ import {
deploymentReadinessTracks,
heroMetrics,
higherDimensionalRuntimeGuideCards,
controlProfileRosterCards,
inputAndDevicePostureCards,
operatorManualTracks,
operatorPlaybooks,
@ -293,6 +294,25 @@ export function AboutPage() {
</div>
</Section>
<Section
title="Selectable control and settings roster"
description="This keeps the public manual concrete about what users can already choose or persist today without inflating that into finished controller rebinding or headset-runtime completion."
>
<div className="card-grid">
{controlProfileRosterCards.map((card) => (
<article key={card.title} className="card">
<h3>{card.title}</h3>
<p>{card.description}</p>
<ul className="list top-gap">
{card.bullets.map((bullet) => (
<li key={bullet}>{bullet}</li>
))}
</ul>
</article>
))}
</div>
</Section>
<Section
title="Release and deployment maturity"
description="Production seriousness comes from clean separation between identity, package proof, legal posture, and runtime execution."
@ -478,6 +498,25 @@ export function ResourcesPage() {
</div>
</Section>
<Section
title="Selectable control and settings roster"
description="This keeps the public resources lane concrete about the shipped keyboard profile, scenic presets, family selectors, and current persistence boundary."
>
<div className="card-grid">
{controlProfileRosterCards.map((card) => (
<article key={card.title} className="card">
<h3>{card.title}</h3>
<p>{card.description}</p>
<ul className="list top-gap">
{card.bullets.map((bullet) => (
<li key={bullet}>{bullet}</li>
))}
</ul>
</article>
))}
</div>
</Section>
<Section
title="Runtime control guide"
description="This public-safe guide focuses on how operators and trainees actually drive the current desktop runtime today."
@ -668,6 +707,25 @@ export function DocsPage() {
</div>
</Section>
<Section
title="Selectable control and settings roster"
description="This manual section answers the concrete user question: what settings, profiles, selectors, and persistence surfaces are already real today?"
>
<div className="card-grid">
{controlProfileRosterCards.map((card) => (
<article key={card.title} className="card">
<h3>{card.title}</h3>
<p>{card.description}</p>
<ul className="list top-gap">
{card.bullets.map((bullet) => (
<li key={bullet}>{bullet}</li>
))}
</ul>
</article>
))}
</div>
</Section>
<Section
title="Runtime control guide"
description="This manual section explains how to approach the current desktop runtime without pretending a later XR/preferences packet has already landed."

View file

@ -425,6 +425,36 @@ export const runtimeControlGuideCards = [
},
] as const
export const controlProfileRosterCards = [
{
title: 'Shipped classic control profile',
description: 'The current desktop runtime exposes a concrete shipped control profile rather than vague “keyboard support” language.',
bullets: [
'The native operator and training surfaces currently expose the shipped classic profile as `classic-wca-keyboard/v1` with 18 active bindings.',
'Classic-cube interaction already combines that keyboard profile with click, touch, orbit, zoom, hint, and hold-to-talk behavior in the live desktop lane.',
'Treat this roster as native simulator ownership, not as something delegated to the browser shell.',
],
},
{
title: 'Selectable immersive and family-specific settings',
description: 'Current settings ownership already goes beyond one camera toggle, but it stays bounded to the real shipped family lanes and scenic presets.',
bullets: [
'The current scenic immersive roster includes 3 immersive-intensity presets and 3 reduced-distraction presets.',
'Magic120Cell currently exposes 4 selector options alongside its symmetry, focus, and visibility owners.',
'MagicCube5D currently exposes 4 selector options alongside its projection-distance, stereo, focus, and visibility owners.',
],
},
{
title: 'Persistence and boundary truth',
description: 'Current continuity is real, but it is still narrower than a finished global preferences and controller-rebinding suite.',
bullets: [
'The native operator and training surfaces can recall the latest persisted generated-mode selector posture when a structurally valid launch request exists.',
'Viewer camera settings and immersive-presence settings are already first-party owned in the desktop runtime.',
'Finished headset-specific controller rebinding and broad VR onboarding remain a later native completion packet.',
],
},
] as const
export const deploymentReadinessTracks = [
{
title: '1. Identity and access posture',