Skip to content

feat(home): add first-screen entry surface - #67

Draft
huyanxius wants to merge 25 commits into
1024XEngineer:mainfrom
huyanxius:feat/home-entry-surface
Draft

feat(home): add first-screen entry surface#67
huyanxius wants to merge 25 commits into
1024XEngineer:mainfrom
huyanxius:feat/home-entry-surface

Conversation

@huyanxius

@huyanxius huyanxius commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Title: feat(home): add first-screen entry surface

Dependency

Feature Description

  • Replace the placeholder root route with a responsive first screen for Quick Start and Projects.
  • Add the split floating product navigation from the LiveDemo visual reference.
  • Keep route-aware navigation in app/layout and page-only entry cards in pages/home.

Implementation Approach

  • Reuse only the Windup mark and presentation pattern; no LiveDemo routes, data model, runtime, or large CSS/JS are copied.
  • Preserve /quick-start and /projects; the migration does not touch features, entities, or shared.

Testing

  • npm run format:check — passed (42 files)
  • npm run lint — passed
  • npm run typecheck — passed
  • npm run test — passed (3 files, 3 tests)
  • npm run build — passed
  • git diff --check 7a6515e...HEAD — passed
  • Current-branch browser render — not rerun because the local URL was blocked by the browser policy; the same UI had passed desktop and mobile visual review on the previous base.

[CX] Prompt & Review

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

@huyanxius is attempting to deploy a commit to the huyan's projects Team on Vercel.

A member of the Team first needs to authorize it.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
windup Ignored Ignored Preview Jul 31, 2026 3:08am

huyanxius added 10 commits July 30, 2026 15:33
The MS2 frontend needs a reproducible workspace before any module code can land.

Add the Vite entry, the pinned dependency manifest and lockfile, the three referenced TypeScript configs, and the ignore rules.

The workspace installs and builds from a clean checkout.
Style and lint rules should be fixed before contributors start writing modules.

Add the oxlint rule set and the oxfmt formatting profile for the frontend workspace.

Formatting and lint results are identical on every machine and in CI.
The skeleton carries no test suite yet, but the test runner has to be wired for later work.

Add the vitest config so it resolves the same path aliases as the application build.

Tests can be added to any module without further setup.
Every upper layer needs a place for cross-module primitives that belong to no single domain.

Add the shared layer with its pagination contract and a README stating what may live here.

Modules have one agreed home for shared primitives instead of duplicating them.
The frontend has to state which business objects it owns and how each one is reached.

Add one contract file per entity for character, project, task, generation, media, action template, playtest inspection and workflow run, plus the aggregate export.

Upper layers depend on declared entity interfaces rather than on transport details.
The workflow steps the mentor reviewed need an explicit home separate from both entities and pages.

Add contracts for character setup, generation, review, export and the workflow controller.

Each use case has a named boundary that pages call instead of reaching into entities.
Routing targets have to exist before the application shell can wire them together.

Add the home, projects, project detail, quick start, workflow editor, asset library, playtest and not found page modules.

Every route in the product design maps to exactly one page module.
The page modules need a composition root that owns routing and layout.

Add the app shell with its layout and route table, the browser entry point, and the base stylesheet.

The application runs end to end and every page is reachable.
Reviewers need the branch checked automatically and a running preview to look at.

Add the frontend workflow running lint, typecheck, test and build, and scope Vercel previews to frontend changes.

Every pull request reports its own build status and preview URL.
The module boundaries and the interfaces expected from the backend must be reviewable without reading the code.

Add the architecture document, the frontend README, and the API contract listing every endpoint the frontend calls.

Backend and frontend can align on one written list of interfaces.
huyanxius added 14 commits July 30, 2026 17:10
A run reopened after a refresh could not tell that a generation was still running, so the page had to either resubmit it or stall.

Record the in-flight task id on WorkflowStep so it is saved with the run, and drop WorkflowTaskLink, which no structure ever held.

Reopening a run recovers the pending task from its step instead of starting a second generation.
The vitest config sat outside every tsconfig include, so a type error in it would only surface when the runner started.

Add it to the node project alongside the vite config.

Both build-side configs are now covered by tsc -b.
A character is written when the user exports to the asset library, so it cannot hold work-in-progress state; the backend also returns no QC verdict and the product has no per-frame reject.

Drop the action generation status, the frame qc and rejected fields, and the standalone playtest inspection entity; review now only reads frames.

The asset tree describes confirmed assets only, and review results no longer need a second home.
Three structures carried assumptions a reader could not distinguish from settled decisions.

State that multi-direction frame storage is undefined, that the MVP runs a single revision, and that an action id is unique only inside its outfit.

Open questions are visible in the contracts instead of being rediscovered later.
The reduced module skeleton no longer includes playtest inspection or shared UI.

Remove obsolete API and entity references and align the layout comment with app ownership.

Documentation now matches the contracts and directories present in this branch.
The backend character contract has no standalone name field.

Remove name from Character and CreateCharacterInput.

The frontend now matches the confirmed character payload boundary.
The fixed workflow is not a backend resource.

Remove WorkflowRunApis and update the public and controller contracts.

Backend responsibilities now stop at generation and confirmed asset storage.
The API notes still described stale workflow and generation assumptions.

Document frontend-owned workflow state, generation mapping, and assigned follow-ups.

The architecture now reflects the latest backend reference and team decisions.
The backend scopes generation-task queries by both project and task identifiers.

Add projectId to generation reads and task reads and subscriptions.

Callers can now map directly to the documented task query endpoint.
Task lookup ownership is now confirmed against the backend API.

Mark projectId plus taskId as resolved and remove the stale mismatch and question.

Reviewers can see the current task query boundary without reopening the decision.
The global shell needs a persistent navigation surface without moving route awareness into shared UI.

Add the LiveDemo-inspired split floating header, route-group highlighting, and Windup mark.

Keep the header private to app layout and reserve page content space beneath it.
Route grouping controls which product navigation item is exposed as current.

Render the header on a workflow route and assert the home, project, and creation links.

Protect the app-level navigation contract without coupling page tests to layout markup.
The root route needs a clear first screen for the two existing production entry points.

Build a responsive editorial hero and page-private choice cards for quick start and projects.

Preserve the existing routes while keeping workflow state outside the home page.
The redesigned home surface must preserve both existing navigation choices.

Assert the page heading and the quick-start and project destinations.

Keep presentation changes from silently breaking the root-route contract.
后端 1024XEngineer#64 合入 main 后根 .gitignore 出现 add/add 冲突。
根 .gitignore 取 main 版本(已含 .DS_Store),前端的依赖与构建产物由 frontend/.gitignore 负责。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant