Skip to content

fix(content): one left edge in the workspace, and a label that tells the truth - #122

Merged
wu908 merged 1 commit into
mainfrom
fix/workspace-edge-alignment
Sep 16, 2026
Merged

wu908 merged 1 commit into
mainfrom
fix/workspace-edge-alignment

Conversation

@wu908

@wu908 wu908 commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Two things the creator pointed at on the same screen.

1. The text was not aligned because two blocks in one column had different padding

.workspace-purpose (the 这篇内容要完成什么 block) had padding: 24px 0, while .workspace-editor below it had 0 30px. Measured: the heading at x=320, the panel it describes at x=350. The header now carries the same horizontal padding, and all four measured edges (eyebrow, heading, panel, field) sit at 350. The divider still spans the full width, since padding sits inside the border.

2. The prefill's label claimed more than it does

「希望读者发生的变化」 comes from intentCopy[intent].audienceone fixed sentence per intent, written in the frontend, not inferred from this project. So for a project called 「我想做aigc创作」 it says 「读者看完后更理解你的经历、观点或感受」 because the project is a share, not because anything read the project.

My earlier helper text called it 「AI 建议的方向」, which dressed a generic default as an inference. It now reads:

这是「分享」类内容的通用方向;写成本项目具体的样子会更准。

— accurate, and a nudge toward the thing that would make it specific. (My first attempt at this string put {copy.label} inside a quoted attribute, where JSX does not interpolate, so it rendered literally; caught and fixed before committing.)

For the record

For projects created before the inference flow, nothing derives these values from the project. New projects do — the entry flow infers them from the material — which is why the same screen never appears for them.

18 ContentPage tests pass; tsc and eslint clean; verified at 1920 by measuring the four edges.

…the truth

Two things the creator pointed at on the same screen.

**The text was not aligned because two blocks in one column had different
padding.** `.workspace-purpose` (the 这篇内容要完成什么 block) had `padding: 24px
0`, while `.workspace-editor` below it had `0 30px` — measured: the heading at
x=320, the panel it describes at x=350. The header now carries the same
horizontal padding, and all four measured edges (eyebrow, heading, panel, field)
sit at 350. The divider still spans the full width, since padding sits inside
the border.

**The prefill's label claimed more than it does.** 「希望读者发生的变化」 comes
from `intentCopy[intent].audience` — one fixed sentence per intent, written in
the frontend, not inferred from this project. So for a project called
「我想做aigc创作」 it says 「读者看完后更理解你的经历、观点或感受」 because the
project is a share, not because anything read the project. My earlier helper
text called it 「AI 建议的方向」, which dressed a generic default as an inference.
It now reads 「这是「分享」类内容的通用方向;写成本项目具体的样子会更准。」 —
which is both accurate and a nudge toward the thing that would make it specific.

Worth stating plainly for the record: for projects created before the inference
flow, nothing derives these values from the project. New projects do (the entry
flow infers from the material), which is why the same screen never appears for
them.

18 ContentPage tests pass; tsc and eslint clean; verified at 1920 by measuring
the four edges.
@wu908
wu908 merged commit 790e3fc into main Sep 16, 2026
2 checks passed
@wu908
wu908 deleted the fix/workspace-edge-alignment branch September 16, 2026 01:26
wu908 added a commit that referenced this pull request Sep 16, 2026
#125)

The intent selector on the confirm-intent panel said 「AI 已按这条内容判断;不对就
在这里改。」 But the state machine returns `confirm_intent` **only when there is no
`start_inferred_intent`** — when a project does carry an AI inference, the flow
skips this panel entirely and goes to the key question. So whenever that helper
text is on screen, nothing has judged the intent: it is the value the project
recorded earlier, from the old form's choice or its default.

It now says 「这是这个项目原先记下的意图;不对就在这里改。」 — which is true on
every render, and still points at the correction.

Same class as the audience-change label fixed in #122: a provenance claim that
was one step ahead of what the code actually does.
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