Skip to content

New package: @remotion/rough-notation#9018

Open
JonnyBurger wants to merge 48 commits into
mainfrom
codex/add-rough-notation-package
Open

New package: @remotion/rough-notation#9018
JonnyBurger wants to merge 48 commits into
mainfrom
codex/add-rough-notation-package

Conversation

@JonnyBurger

Copy link
Copy Markdown
Member

Summary

  • Add @remotion/rough-notation package with rough annotation components and createAnnotation().
  • Register docs, package metadata, and example compositions.
  • Add separate rough-notation examples for highlight+box, circle, bracket, crossed-off, strike-through, and underline.

Testing

  • bun run build
  • bun run stylecheck

@vercel

vercel Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
bugs Ready Ready Preview, Comment Jul 13, 2026 7:29am
remotion Ready Ready Preview, Comment Jul 13, 2026 7:29am

Request Review

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

One correctness issue to address before merging: the annotation renderer can produce duplicate React keys whenever iterations draws the same path, so React drops the duplicates and only one iteration renders.

Reviewed changes — This PR adds a new @remotion/rough-notation package with rough annotation components, docs, and example compositions to Remotion.

  • Add @remotion/rough-notation package with createAnnotation(), <AnnotationBehind>, <AnnotationOnTop>, and annotationConfig.
  • Add documentation pages for the new APIs under docs/docs/rough-notation/.
  • Register six example compositions in packages/example/src/RoughNotation.
  • Wire the package into the monorepo via package.json, bun.lock, tsconfig.json, sidebars.ts, and package lists.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using Kimi K2 (free via Pullfrog for OSS) | 𝕏


return (
<path
key={d}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using the raw SVG path d as key produces duplicate keys whenever iterations draws the same path (e.g. repeated box strokes with the same seed). React drops duplicates, so only one iteration renders. Use an index-aware key such as ${d}-${i}.

title: '@remotion/rough-notation'
---

# @remotion/rough-notation<AvailableFrom v="4.0.489" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The AvailableFrom version (4.0.489) doesn't match the package version this PR bumps to (4.0.488). If this package ships with 4.0.488, update this to 4.0.488.

---

# &lt;AnnotationBehind&gt;<AvailableFrom v="4.0.489" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same version mismatch as index.mdx: AvailableFrom says 4.0.489 but the package is being bumped to 4.0.488.

---

# &lt;AnnotationOnTop&gt;<AvailableFrom v="4.0.489" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same version mismatch as index.mdx: AvailableFrom says 4.0.489 but the package is being bumped to 4.0.488.

crumb: '@remotion/rough-notation'
---

# annotationConfig<AvailableFrom v="4.0.489" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same version mismatch as index.mdx: AvailableFrom says 4.0.489 but the package is being bumped to 4.0.488.

crumb: '@remotion/rough-notation'
---

# createAnnotation()<AvailableFrom v="4.0.489" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same version mismatch as index.mdx: AvailableFrom says 4.0.489 but the package is being bumped to 4.0.488.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incremental review of the latest commits. The Interactive/Sequence integration and the split examples are nice improvements. However, the duplicate React key issue in packages/rough-notation/src/render-annotation.tsx still needs a fix; the new Box.tsx example now directly demonstrates the problem with iterations={2}. I’m also withdrawing my earlier AvailableFrom version comment — pointing new docs to the next patch version (4.0.489) matches Remotion’s convention.

Pullfrog  | Fix it ➔View workflow run | Using Kimi K2 (free via Pullfrog for OSS) | 𝕏

@JonnyBurger JonnyBurger changed the title @remotion/rough-notation: Add rough notation package New package: @remotion/rough-notation Jul 13, 2026
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