Skip to content

[codex] extend inline title editing across canvas nodes#226

Merged
DeadWaveWave merged 6 commits intoDeadWaveWave:mainfrom
eatchip:feat/change-note-name
May 5, 2026
Merged

[codex] extend inline title editing across canvas nodes#226
DeadWaveWave merged 6 commits intoDeadWaveWave:mainfrom
eatchip:feat/change-note-name

Conversation

@eatchip
Copy link
Copy Markdown
Contributor

@eatchip eatchip commented May 4, 2026

💡 Change Scope

  • Small Change: Fast feedback, localized UI/logic, low-risk.
  • Large Change: New feature, cross-boundary logic, runtime-risk (persistence, IPC, lifecycle, recovery).

📝 What Does This PR Do?

This PR extends the note-style inline title editing interaction across the remaining editable canvas nodes: Terminal, Agent Terminal, and Task, while keeping Document unchanged.

It also tightens the interaction model so only the title text hit area shows the I-beam cursor and enters edit mode. Header blank space remains available for selection and dragging, and editing blocks drag/select until the title input saves or cancels.

On top of the feature rollout, this PR fixes the long-title rendering and drag-hit-area regressions that surfaced during validation, and updates the E2E gesture helpers/tests so the new interaction stays covered.


🏗️ Large Change Spec (Required if "Large Change" is checked)

1. Context & Business Logic

Users should be able to treat node titles as editable text instead of separate rename controls. The expected interaction is consistent across note/task/terminal-style nodes: hover only on text, click text to edit, Enter save, Esc cancel, blur save, and blank header area still supports canvas drag/selection behavior.

2. State Ownership & Invariants

  • Renderer-owned node title editing state stays local to the inline editor; persisted node titles remain owned by the existing workspace/task node stores.
  • Clicking the title text must never fall through into node drag/selection behavior.
  • Header blank space must remain draggable/selectable and must not expose text-edit cursor semantics.
  • Empty committed titles must render a placeholder instead of collapsing the title UI.

3. Verification Plan & Regression Layer

Primary regression coverage is E2E because the risk is user-visible and depends on hit testing, focus/blur, drag behavior, and persistence across renderer boundaries.

Validation run:

  • pnpm line-check:staged
  • pnpm pre-commit

✅ Delivery & Compliance Checklist

  • My code passes the ultimate gatekeeper: pnpm pre-commit is completely green.
  • I have signed the CLA if required (see CLA.md).
  • I have included new tests to lock down the behavior (or explicitly stated why it is untestable).
  • I have strictly adhered to the DEVELOPMENT.md architectural boundaries.
  • I have attached a screenshot or screen recording (if this touches the UI).
  • I have updated the documentation accordingly (if adding a feature or changing a contract).

📸 Screenshots / Visual Evidence

image

UI interaction change. Screenshot/screen recording can be attached in the GitHub PR UI.

@eatchip eatchip changed the title Feat/change note name [codex] extend inline title editing across canvas nodes May 4, 2026
@DeadWaveWave DeadWaveWave merged commit a223ab5 into DeadWaveWave:main May 5, 2026
7 of 8 checks passed
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.

2 participants