Skip to content

SuperFlow plugin learned from your Compass source — attribution + potential collaboration? #1

Description

@gorlix

Hi! I'm Alessandro, and I'm building SuperFlow — a zone-based automation plugin for Supernote.

The idea is that you draw rectangles on a note template, link each area to an action (inject keyword, OCR handwriting, send webhook, etc.), and then when you write inside those zones and tap "Process", the plugin dispatches the actions automatically.

While implementing a "add linked note page" feature, I studied your Compass source code carefully, and I have to say — your code is really well written. The template retry loop for insertNotePage, the asymmetry between insertTextLink (current page) vs createElement(600) + insertElements (non-current page), the clearElementCache defensive call — none of this is documented anywhere. Without your source I would have spent days hitting the same walls.

I'm implementing the feature independently in SuperFlow (not copying your code directly), but I'm adding a clear attribution comment in every relevant file pointing back to your repo and the MIT license. I also documented everything I learned from Compass in our architecture doc so future contributors understand where the patterns came from.

Two questions, if you have a moment:

  1. Would you be open to publishing the core logic of compass.js as a small npm package (something like sn-compass-engine)? If it were on npm, plugins like SuperFlow could take it as a real dependency rather than parallel re-implementations. You'd get automatic attribution in every package.json that uses it.

  2. Any gotchas I should know about that aren't obvious from the source — edge cases on specific firmware versions, quirks with the template retry on Paper vs A5X, anything that took you a while to figure out?

Thanks again for building Compass and for keeping it open source.
The Supernote plugin ecosystem is tiny and people sharing what they learn makes a real difference.

— Alessandro

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions