Files
upstream-tldraw/templates/workflow/alex-notes.md
upstream-mirror a774ac673a
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
2026-09-23 16:12:52 +05:00

1.8 KiB

Stuff I want in the SDK after building this

  1. Some way to have state scoped to the lifecycle of an editor. We do this a fair bit in the SDK, and it's ad-hoc every time. EditorState worked well here.
  2. canTranslate & canDuplicate style flags. These operations don't really make sense for connections, but i can't disable them comprehensively.
  3. onHandleDragStart, onHandleDragComplete, onHandleDragCancel. Maybe some way of attaching state to these too? It'd be nice to have the full set for all of this genre of callback. cancel is important for state management.
  4. isCreatingShape flag for handle dragging
  5. A better way to insert nodes into the state graph
  6. More custom ways of controlling snapping & how snap lines render. Snap lines rather than points, maybe?
  7. Fast spacial querying e.g. "get me all shapes in this bounding box"
  8. getIndices(n) returns n + 1 indices which feels very counter intuitive.
  9. Generally I'd like an easier way to work with "multiplayer arrays" - objects where the keys are fractional indexes. I ended up writing some of my own helpers for this.
  10. A way to have things in geometry that don't contribute to bounds calculations. I achieved this by marking them as labels, but that feels wrong maybe?
  11. A way to pass custom JSX in the place of icon names to anything that expects an icon
  12. A canonical way (or at least an example) to have the size of an element derived from how it's rendered in the DOM.
  13. A better way of having geometry derived from the DOM (ie port locations).
  14. Hide resize handles when no selected items are resizable.
  15. Disable rotation?
  16. A better way of doing vertical toolbars with overflow

Other things I maybe want to do

  1. API example showing inserting a state node
  2. "Ports" addon library