Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Rough Notation Laravel Package

amjadiqbal/laravel-rough-notation

A Laravel package that wraps Rough Notation, making it easy to add hand-drawn style annotations such as underlines, boxes, circles, highlights, brackets, and strike-throughs to text using Blade directives and PHP helpers with configurable animation.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature: in-product visual annotation layer. This package wires the rough-notation JS library into Laravel Blade, giving you directives/components to draw hand-drawn style callouts, circles, underlines and brackets over existing DOM elements. That maps directly to "look here" moments: onboarding spotlights, empty-state hints, changelog callouts, pricing-page emphasis, docs walkthroughs.
  • Build vs buy: strongly favors buy-and-wrap, with a ceiling. The package is a thin adapter — the real work is rough-notation (a mature, widely used JS library). Writing this yourself is a few hours of Blade directive + config plumbing. That cuts both ways: adoption cost is near zero, but so is switching cost, so this is a low-stakes decision, not an architecture one. Do not let it into a design-system-critical path.
  • Frontend-stack decision gate. It is Blade-first. If the roadmap points at Inertia + Vue/React, Livewire-heavy UI, or a headless frontend, this package's value drops to near zero — you'd consume rough-notation directly in the component layer and skip the PHP wrapper entirely.
  • Roadmap signal for marketing/docs surfaces. Cheap visual differentiation on public pages, where "delight" is measurable (trial signup, docs completion). Poor fit for dense data UI, accessibility-critical flows, or anything needing deterministic rendering (screenshots, PDF export, email).
  • The v1.0.0 content itself supports a "no" or a "yes, but pin nothing" decision. The release is a formalization, not a feature drop: code already on Packagist since Feb 2026 now carries a tag. Two fixes were found by running the package's own test suite for the first time — an unescaped quote broke @roughNotationScripts compilation outright, and data-rough-options was HTML-entity over-escaped. Treat "1.0" as a label, not a stability or support commitment.

When to Consider This Package

Adopt when:

  • The app is server-rendered Blade with a standard Vite pipeline, and you want annotations without introducing a JS framework or a bespoke directive.
  • You want a handful of stylistic callouts on marketing, onboarding, or docs pages — low blast radius, trivially removable.
  • You're comfortable with a small, single-maintainer community package for a non-critical, presentational concern.
  • You've verified Laravel/PHP version support against your matrix, and you're willing to read ~a few hundred lines of source before trusting it (recommended here specifically).

Look elsewhere / build in-house when:

  • Your frontend is Inertia, Vue, React, Livewire, or otherwise component-driven — use rough-notation directly; the wrapper adds indirection with no payoff.
  • You need accessibility guarantees. Hand-drawn overlays are decorative; annotations must not be the sole carrier of meaning, and the package does not solve focus management, screen-reader semantics, or reduced-motion preferences for you.
  • You require vendor support, security SLAs, or a maintained release cadence. There is one release, one author, and no evidence of CI gating before this tag.
  • You need it in exported artifacts (PDF, email, OG images) or SSR snapshots — canvas/SVG timing will not survive those pipelines.
  • You're on a long-horizon maintenance path where an unmaintained transitive wrapper becomes an audit item.

Before shipping, regardless: re-verify the two fixed defects on your versions, pin the tag explicitly (^1.0), and confirm the directive is exercised by at least one view in CI. The fact that a compile-breaking parse error survived until the test suite was finally run means the happy path was not covered by anyone's build.

How to Pitch It (Stakeholders)

To executives: This is a presentation-layer utility, not infrastructure. It adds hand-drawn style annotations to our web pages — the kind of visual emphasis used in onboarding and documentation — for effectively zero incremental cost, since it wraps a well-established open-source JS library. The 1.0.0 tag is bookkeeping: the code has been installable since February and this release adds two correctness fixes rather than new capability. Risk is contained: it touches no data, no auth, no business logic, and can be removed in an afternoon. Recommend a scoped trial on one marketing or docs surface with a success metric attached, not a platform-wide standard.

To engineering: Thin Blade wrapper over rough-notation. v1.0.0 is a formal tag plus two bug fixes discovered by running the previously unexecuted Pest suite — @roughNotationScripts had a parse error from an unescaped quote (any view using it failed to compile) and data-rough-options was over-escaped, corrupting JSON for consumers reading the attribute literally. Both are fixed. Implications: the directive path had effectively zero real-world usage or CI coverage before now, so treat the 1.0 label as nominal. If we adopt, we own the risk — pin the tag, add a smoke test that renders a view using the directive, and review the attribute-escaping path ourselves rather than assuming it's correct. If we're on Inertia or a JS component layer, skip the wrapper and use rough-notation directly.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle