V1 Web PWA · Surface walkthrough

Isis RIFE Interpolation

A per-surface walkthrough of the V1 Web PWA studio surface: layout, states, interactions, data, and cross-references.

walked
9sections4 minread

On this page

Context. surface studio · domain isis · route /studio/isis/rife-interpolation · auth signed-in + studio entitlement boundary; admin-scoped BFF data; direct legacy route hard-blocked outside the localhost E2E lane bypass · source apps/oshun/web/src/app/studio/isis/rife-interpolation/page.tsx

Last walked. 2026-07-23 exact-production-BFF Playwright (desktop Chromium + Pixel 7 mobile Chrome) — hard route boundary, signed-JWT scope enforcement, exact/no-store catalog and plan contracts, adversarial authority rejection, bounded input, responsive touch containment, and applicable axe checks passed; live screen-reader and telemetry-delivery checks remain manual.

Purpose#

Admin lane console for a request-local, non-authoritative RIFE interpolation plan preview. It applies the deterministic @isis/video-enhancement RifeNeuralFrameInterpolationPlanner to caller-supplied rates and a synthetic uniform frame count, returning arithmetic, a source-defined model/backend selection, and an inference estimate. It does not ingest actual frame assets, execute a GPU/provider, produce an artifact, persist history, record governance, or authorize release.

Entry points#

  • Sibling quick-action from /studio/isis/nvidia-rtx-processing
  • Studio index (/studio)
  • Direct URL / bookmark (AAA entitlement required)

Layout regions#

page.tsx mounts <ShellLayout active="studio"> (no breadcrumb panel) and three panels: the workspace, the Route Map, and sibling quick-actions.

  • Header: shell header
  • Workspace panel (data-isis-rife-interpolation-workspace):
    • <h1> (WorkspaceHeading) "Isis RIFE Interpolation Workspace"
    • Summary paragraph (data-isis-rife-summary)
    • Plan form (data-isis-rife-plan-form)
  • Route Map panel (data-isis-rife-interpolation-route-map): <h2>Route Map</h2> over one mounted planner and four documented-contract-only shapes
  • Sibling quick-actions panel: /studio/isis/nvidia-rtx-processing, /studio

States#

  • Loadingdata-isis-rife-loading
  • Unauthorized — 401/403 admin-scope fail-closed; data-isis-rife-unauthorized
  • Error — non-OK or malformed catalog; data-isis-rife-error
  • Ready (form) — catalog present; source/target fps selects populated from catalog.sourceFps / catalog.targetFps
  • Result — after a plan POST, data-isis-rife-result shows data-isis-rife-conversion (the up-conversion), data-isis-rife-frames (per-pair interpolated frames), and data-isis-rife-inference (estimate); the request-only boundary remains visible and plan failures surface in data-isis-rife-plan-error

Interactions#

Plan form (data-isis-rife-plan-form)#

  • Source fps (data-isis-rife-field-source, <select> from catalog.sourceFps)
  • Target fps (data-isis-rife-field-target, <select> from catalog.targetFps)
  • Source frames (data-isis-rife-field-frames, text input)
  • Plan interpolation (data-isis-rife-plan-submit, submit) — POST /v1/admin/isis/rife-interpolation/plan

Route Map#

  • Route-map articles ×5

Sibling quick-actions#

  • Open Isis NVIDIA RTX Processing workspace/studio/isis/nvidia-rtx-processing
  • Back to Studio workspace index/studio

Data & contracts#

  • Reads: GET /v1/admin/isis/rife-interpolation, exactly {generatedAt, sourceFps, targetFps, inputBounds, disposition}
  • Writes: POST /v1/admin/isis/rife-interpolation/plan, accepting exactly {sourceFps, targetFps, frameCount} and returning exactly {ok, input, plan, disposition} on success
  • Disposition: request_local_non_authoritative_rife_interpolation_plan_preview; persistence none; retention request_only; caller-supplied rates and synthetic uniform frame count; source-defined model catalog; deterministic planner; no frame-asset ingest, GPU/provider execution, artifact output, governance record, release authority, or authoritative state
  • Bounds: source fps 24 or 30; target fps 48, 60, or 120; integer frame count 2–10,000 inclusive
  • Validation: the client requires exact catalog, disposition, input echo, and ten-field plan shapes; allows only the six source-defined RIFE models and four backends; and independently verifies pairCount = frameCount - 1 and generatedFrames = (frameCount - 1) × (ceil(targetFps/sourceFps) - 1). Missing, extra, malformed, incorrectly echoed, arithmetically inconsistent, or authority-inflated successes fail closed. Client validation suppresses submissions above 10,000 frames.
  • Realtime: none
  • Caching: client fetches with cache: 'no-store'; authenticated scoped BFF success and failure responses also emit cache-control: no-store
  • Auth/role check: direct legacy Studio route is hard-blocked by the Studio boundary; the localhost-only E2E lane bypass exercises the signed-in Studio shell and forwards admin-scoped BFF calls fail-closed (401/403)
  • Component sources:
    • apps/oshun/web/src/components/studio/StudioIsisRifeInterpolationWorkspace.tsx
    • apps/oshun/web/src/components/studio/StudioIsisRifeInterpolationRouteMap.ts

Automated coverage#

  • apps/oshun/web/e2e/studio-isis-rife-interpolation.spec.ts passed 8/8 with one worker and zero retries against the exact production BFF artifact, disposable PostgreSQL with all 32 migrations, isolated Redis, and signed production JWTs. Desktop Chromium covers the hard route boundary, exact direct/no-store catalog and plan contracts, exact conversions, unsupported and invalid inputs, pending and client validation, malformed/failure/network states, scope denial, anonymous redirect, route status, 44px controls, and applicable axe checks. Pixel 7 mobile Chrome covers responsive containment, touch targets, live catalog, and a visible exact result.
  • apps/oshun/web/src/components/__tests__/StudioIsisRifeInterpolationWorkspace.test.tsx covers ready/unauthorized/malformed catalog behavior.
  • apps/oshun/web/src/components/__tests__/StudioIsisRifeInterpolationWorkspace.integration.test.tsx covers write success, unsupported conversions, client frame-count validation, pending state, and malformed successful write handling.
  • apps/oshun/web/src/components/__tests__/StudioIsisRifeInterpolationPage.test.tsx and StudioIsisRifeInterpolationRouteMap.test.ts keep the shell/page contract and route-map content covered.

Cross-references#

Open questions / known gaps#

  • No breadcrumb on this route — navigation is via sibling quick-actions
  • Frame-asset ingest, GPU/provider execution, generated artifacts, durable history, governance approval, and release remain unbound
  • Four scene, export, revision, and governance shapes are documented-contract-only; no corresponding authority is mounted
  • Manual screen-reader, real touch-device, offline-mode, and telemetry delivery passes remain pending outside the automated Playwright checks