V1 Web PWA · Surface walkthrough

Isis Texture Enhancement

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

walked
8sections3 minread

On this page

Context. surface studio · domain isis · route /studio/isis/texture-enhancement · auth signed-in + studio entitlement (AAA-gated — texture-enhancement is in AAA_ONLY_STUDIO_ROUTES) · source apps/oshun/web/src/app/studio/isis/texture-enhancement/page.tsx

Last walked. 2026-07-23 exact-production-BFF Playwright (desktop + mobile Chrome) — hard route boundary, exact durable disposition, authenticated write/reload/duplicate/spoof behavior, controlled 410/503 states, 44px touch targets, responsive containment, and automated axe checks passed; live screen-reader and telemetry-delivery checks remain manual.

Purpose#

Admin lane console that evaluates a texture-enhancement batch against its quality gate. Each fixture gets a PSNR-like score; the batch passes only when the worst fixture clears the threshold, so a single bad texture fails the whole batch. The verdict, mean/min/max, and per-fixture scores come from the real quality engine. This surface records durable internal review-package diagnostics over operator-supplied fixture scores. It does not ingest texture assets, run an upstream scorer or provider, create an artifact, or authorize release.

Entry points#

  • Sibling quick-action card from /studio/isis/auto-rigging
  • Studio index (/studio)
  • Direct URL / bookmark

Layout regions#

page.tsx mounts ShellLayout active="studio" and three panels (no breadcrumb panel).

  • Workspace panel (data-isis-texture-enhancement-workspace):
    • <h1> "Isis Texture Enhancement Workspace" (WorkspaceHeading)
    • Summary paragraph (data-texture-summary)
    • Exact durable diagnostic disposition (data-texture-disposition)
    • The "Evaluate a batch" form (data-texture-form)
    • Evaluated-batch list (data-texture-batches, <h2>) of data-texture-batch cards carrying data-texture-passing / data-texture-verdict
  • Route map panel (data-isis-texture-enhancement-route-map): <h2> "Route Map" enumerating STUDIO_ISIS_TEXTURE_ENHANCEMENT_ROUTE_MAP
  • Quick-actions panel: quickAction links to /studio/isis/auto-rigging and "Back to Studio workspace index" → /studio

States#

  • Loadingdata-texture-loading "Loading texture batches…"
  • Unauthorizeddata-texture-unauthorized (admin-scope fail-closed on 401/403)
  • Errordata-texture-error on non-OK / malformed response
  • Storage unavailable — load fails closed; a failed write reports that nothing was recorded (503)
  • Erased operator — new evidence is refused with explicit account-erased guidance (410)
  • Ready (form) — evaluate form + batch list render; empty list shows data-texture-batches-empty
  • Resultdata-texture-result with data-texture-status (ok / error)

Interactions#

Evaluate a batch (data-texture-form)#

  • Batch iddata-texture-batchid text input
  • Thresholddata-texture-threshold number input (step 0.1)
  • Fixtures (fixtureId:score, comma-separated)data-texture-fixtures text input; parsed preview shown in data-texture-parsed
  • Evaluate batchdata-texture-evaluate submit; POSTs to /v1/admin/isis/texture-quality, validates the complete acknowledgement against the submitted id/threshold/fixture set, then prepends the committed result without depending on a reload

Route map#

  • Route-map articles — non-interactive path + purpose entries distinguish one mounted diagnostic route from four documented-contract shapes for asset ingestion, artifacts, revisions, and governance

Quick-actions#

  • Open Isis Auto Rigging workspace/studio/isis/auto-rigging
  • Back to Studio workspace index/studio

Data & contracts#

  • Reads: GET /v1/admin/isis/texture-quality (TEXTURE_ENDPOINT) on mount — exact { disposition, generatedAt, defaultThreshold, batches }
  • Writes: POST /v1/admin/isis/texture-quality — evaluate a batch — exact { ok, batch, disposition }
  • Disposition: durable_internal_texture_quality_review_packages_recomputable_projection; PostgreSQL persistence; authenticated-subject attribution; stored inputs recomputed and drift-checked; durable batch-id idempotency; durable redaction with a resurrection fence; canonical review_package retention for 2,555 days; no texture-asset ingest, provider execution, artifact output, or release authority
  • Persistence: normalized PostgreSQL batch + ordered fixture rows; reads recompute the versioned scorer projection and fail closed on drift
  • Attribution: evaluator identity comes only from authenticated server context; caller-supplied authorship fields are rejected
  • Privacy / retention: internal non-exportable review_package evidence; fixture ids must be opaque and must not contain customer ids, source assets, or personal information. Signed profile erasure pseudonymizes attribution; canonical seven-year retention later purges evidence unless held while the digest resurrection fence remains.
  • Realtime: None
  • Validation: the client requires exact disposition, batch, fixture, and report shapes; it rejects missing, extra, malformed, authority-inflated, incorrectly echoed, and arithmetically inconsistent successful responses
  • Caching: client fetches with cache: 'no-store'; authenticated scoped BFF success and failure responses also emit cache-control: no-store
  • Auth: admin-scoped fail-closed (401/403 → unauthorized state); AAA-gated studio route behind the signed-in + studio proxy gate
  • Component sources:
    • apps/oshun/web/src/components/studio/StudioIsisTextureEnhancementWorkspace.tsx
    • apps/oshun/web/src/components/studio/StudioIsisTextureEnhancementRouteMap.ts

Cross-references#

Open questions / known gaps#

  • Per-fixture scores are supplied as fixtureId:score text rather than computed from real texture assets here — confirm where the upstream PSNR scoring runs
  • Texture-asset ingestion, provider/model execution, artifact creation, revision authority, governance approval, and release authority are not bound to this diagnostic-history surface