Replies: 5 comments
-
Drawio like diagramming examplesThanks for taking a look at this one @darkskygit , @CatsJuice , @L-Sun , and others. Here is a colorful rendition of the changes made.
Drawings: Shapes and colorsShape selectorA shape selector has been added in place of one of the standard shapes. Currently with General shapes, Flowchart shapes, Arrow shapes, and Advanced shapes. Further shape libraries can be imported if desired. Color palettes, including gradient and remembering last colors usedPalette selector on up arrow from standard color picker Flowchart shapes with next shape menuHorizontal and vertical flip - preserving connectorsAdvanced shapes with hierarchical show/hide and collapsing containers (preserving connectors)Script created to import remaining existing shape libraries should that be desired...AWS, Azure, IBM, etc. etc. ConnectorsAdded rounded connectors that can be dragged and have jumps. Shapes have more edge nodes for snapped start/end Rounded connector style
Shape edge nodesShapes have multiple edge nodes - general shapes typically 5 per side, flowchart and others typically 3. Hover to expose
Click to start connector and hover to see possible target nodes
Connector edges have dragable nodesConnector waypoints can be added or clearedAdd waypoint
After adding select the line segment and it will be bisected Clear waypointsClear waypoints to revert to auto-route Connector waypoints auto-subsume
Drag an edge in line with another edge to subsume
Once clicked away, and clicked back there is only one horizontal edge again
Connectors can jump over lines below themProperties menu for advanced featuresShape properties menuProperties menu from the
Properties menu has all setable items - sensible list and drop downs where appropriate
Including position and size
Properties menu for connectors with extended end typesEnd types menuThis menu also gives access to a large Grid and snapping menuA grid and snapping menu is added to the zoom menu which allows selecting grid size, snap to grid, snap to guides, and snap to grids for connectors. NOTE: The background grid does not perfectly line up Export and importExport and import a Frame or image-to-frameFrame exportA Frame can be exported to metadata file or PNG with embedded metadata
Import a FrameImage import autodetects metadata and gives the option to load as Frame
Export and import to Markdown or HTMLExport to markdown or HTMLIf images or frames are detected in the page, export to Markdown or HTML produces a ZIP file with PNG's. If the PNG's are from a Frame then these have the Frame metadata embedded. Import Markdown with media recreates frames if requiredImporting a Markdown with media (ZIP file) recreates Frames from images that contain metadata. Frame view menu to expand frames horizontally and verticallyFrames have a menu to increase their vertical and horizontal size based on multiples of the original detected size: |
Beta Was this translation helpful? Give feedback.
-
|
I'm literally shocked. It would be awesome if we could have such feature, but there will be a llllllot of tests required to make it happen. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks you for your positivity @HeJiachen-PM , and glad to hear you're heavy on testing. I started in TDD style but this did not progress well with the agents, so now is the time to bolt the test on at the end 8) |
Beta Was this translation helpful? Give feedback.
-
|
Is there a forum/medium where I could get in a chat with some of the devs here to understand how to bring this feature into mainline AFFiNE - I am sure this could be broken up into a few PR's, and there have been some design decisions that I've made to get to MVP that could be anti-patterns for the project. Would love to discuss, and OFC, how to get all the behavior nailed down in tests! I started a thread in Discord (https://discord.com/channels/959027316334407691/1476000222210691072/1476000222210691072) as I thought that may be a better medium. |
Beta Was this translation helpful? Give feedback.
-
|
@HeJiachen-PM , here is the list of tests 'I' am chunking through. Hopefully can get through this before running out of credit this month:
|
Beta Was this translation helpful? Give feedback.

















































Uh oh!
There was an error while loading. Please reload this page.
-
Good day Folks,
I loved drawio, and hated having to manage two stacks to have my text and images. Over the last few weeks I have been puttering away with the help of my agent friends from Anthropic, OpenAI and Z.ai to build the minimal set of features that I need to be able to do drawio like things in AFFiNE.
The fork is here: https://github.com/spmp/AFFiNE/tree/feature/advanced-diagramming-capability
Please play
Feature summary
Here is a summary of the features introduced and work still to do:
Discussion
This code is AI generated and before submitting a massive (it is massive) PR to the devs I would love to hear from them and other users as to how this worked for you, and what I can do to make merging into mainline a possibility. All this should be backward compatible.
This is very light on testing, I haven't yet tried to get all test passing, just racing for feature parity to relieve this obsession.
I hope this is supportive for the AFFiNE community, I am really looking forward to working with y'all on the PR 8)
Beta Was this translation helpful? Give feedback.
All reactions