AS A Service-Module admin
I WANT to save recurring groups of service-flow nodes as reusable private patterns
SO THAT large services are easier to read, repeated logic can be reused, and canvas clutter from crossing edges is reduced
Description
Some service-flow patterns reoccur inside large services. When many outputs connect into the same group of nodes, the canvas becomes difficult to read because of crossing edges and duplicated logic.
Service creators must be able to select a built-out group of nodes and save it as a reusable Pattern / Custom element. The saved pattern is added to the service-local Elements → General elements section.
After creating the pattern, the selected nodes on the canvas are replaced by a copy of the newly created pattern block.
Patterns are private per service. They are not globally reusable across all services.
Each pattern added from the Elements modal to the canvas becomes a copy of the current saved version. If a pattern copy is edited on the canvas, it retains its own local version and does not modify the original saved pattern.
When a service is exported, its private pattern definitions must be included in the exported JSON. When imported, the service must restore both the pattern definitions and the pattern block instances on the canvas, so the imported service remains in the same workable state as it was during export.
Acceptance Criteria
Pattern creation
Inputs and outputs
Usage in flow
Copy and version behavior
Scope
Export / import
AS A Service-Module admin
I WANT to save recurring groups of service-flow nodes as reusable private patterns
SO THAT large services are easier to read, repeated logic can be reused, and canvas clutter from crossing edges is reduced
Description
Some service-flow patterns reoccur inside large services. When many outputs connect into the same group of nodes, the canvas becomes difficult to read because of crossing edges and duplicated logic.
Service creators must be able to select a built-out group of nodes and save it as a reusable Pattern / Custom element. The saved pattern is added to the service-local Elements → General elements section.
After creating the pattern, the selected nodes on the canvas are replaced by a copy of the newly created pattern block.
Patterns are private per service. They are not globally reusable across all services.
Each pattern added from the Elements modal to the canvas becomes a copy of the current saved version. If a pattern copy is edited on the canvas, it retains its own local version and does not modify the original saved pattern.
When a service is exported, its private pattern definitions must be included in the exported JSON. When imported, the service must restore both the pattern definitions and the pattern block instances on the canvas, so the imported service remains in the same workable state as it was during export.
Acceptance Criteria
Pattern creation
Inputs and outputs
Usage in flow
Copy and version behavior
Scope
Export / import