Stencils, which should be in test configs in ViewKind/ViewDescr or storybooks only:
rm:GeneralCompartmentNodeStencil
rm:PropertiesCompartmentNodeStencil
rm:PropertyNodeStencil
rm:ClassNodeStencil
rm:WindTurbineStencil
rm:HeaterStencil
rm:HouseStencil
rm:SubstationStencil
rm:GeneratorStencil
For arrow types we need stensils-like mechanics with protoStencil = 'rm:EdgeStencil'. Arrow stencil palette should also use registered arrow types. We should remove hardcoded custom 'lines' and move it into test configs in ViewKind/ViewDescr or storybooks only:
This menu items is specific to the selection tool and several selected elements. If only one element selected it should be menu with Z-order but without layout options.
Subrelation Schema (targeting UsedInDiagramAsXXX classes) could allows disconnected edges (if property cardinality is 0:1) or forbids it (if property cardinality is 1:1).
Ability to draw new disconnected edge
disconnected from one node
disconnected from all nodes
Ability to edit connected edge and make in disconnected:
Node stencil's labels are too truncated. Its hard to see quickly what is what.
Edge stencils didn't have labels at all. We should add it. arrow's labels should be in Russian.
Stencil panel problems
Stencils panel's titles should be in Russian.
Maybe move node stencils to "Stencils' and drop "Components" to make it more compact.
More compact (too much height) node stencils panel (Component panel).
Node stencils are layouted in a giant row and truncated (see pict. below). We need some sort of panel layout (like "2 in a row' grid) and "line break" to the next row.
Edge stencils panel's background should be the same as in Node stencils panel.
No separate top-level PropertyShape nodes, only NodeShape nodes are top-level
All simple-type PropertyShapes (string, int,.. all except IRI) are like UML class properties (in compartments in Class nodes)
Arrow types
Class inheritance relation (class-to-superclass) -- arrow between NodeShapes based on relation between their targetClass classes
Class reference relation (classA-to-classB-by-propertyC) -- arrow between shapes if there is a PropertyShape in class A with sh:nodeKind = sh:IRI and sh:class = iri of class B. Arrow label = propertyC IRI
In some stories we have errors with undefined onSelect if you try to move node. This types of errors should be detected at linting/compiling stage if we have strong typing specifications in the code.
Please, add typings and default values to the react functional components.
Please, add default empty funct to the onSelect() in GraphEditor's props.