@graphty/graph-io 0.3.47 → 0.3.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{approximations-wWjCRzKj.js → approximations-Bzn3L-je.js} +2 -2
- package/dist/chunks/{approximations-wWjCRzKj.js.map → approximations-Bzn3L-je.js.map} +1 -1
- package/dist/chunks/bends-BGXjv_U4.js +129 -0
- package/dist/chunks/bends-BGXjv_U4.js.map +1 -0
- package/dist/chunks/{block-DiGq58c3.js → block-iptrlMBb.js} +947 -134
- package/dist/chunks/block-iptrlMBb.js.map +1 -0
- package/dist/chunks/choose-CczZJaX_.js +717 -0
- package/dist/chunks/choose-CczZJaX_.js.map +1 -0
- package/dist/chunks/codes-BE2xir2k.js +157 -0
- package/dist/chunks/codes-BE2xir2k.js.map +1 -0
- package/dist/chunks/{constants-BKwqelYD.js → constants-CKkYLPtt.js} +2 -2
- package/dist/chunks/{constants-BKwqelYD.js.map → constants-CKkYLPtt.js.map} +1 -1
- package/dist/chunks/context-C3p0RQxR.js +664 -0
- package/dist/chunks/context-C3p0RQxR.js.map +1 -0
- package/dist/chunks/{convert-BcQ8_jMo.js → convert-Ct2zelbQ.js} +7 -2
- package/dist/chunks/convert-Ct2zelbQ.js.map +1 -0
- package/dist/chunks/credentials-DXHx7nwR.js +349 -0
- package/dist/chunks/credentials-DXHx7nwR.js.map +1 -0
- package/dist/chunks/cx-export-Bt6NoqTQ.js +259 -0
- package/dist/chunks/cx-export-Bt6NoqTQ.js.map +1 -0
- package/dist/chunks/descriptor-B28U25x4.js +60 -0
- package/dist/chunks/descriptor-B28U25x4.js.map +1 -0
- package/dist/chunks/descriptor-C-YDhtsn.js +48 -0
- package/dist/chunks/descriptor-C-YDhtsn.js.map +1 -0
- package/dist/chunks/descriptor-DLA5kINx.js +142 -0
- package/dist/chunks/descriptor-DLA5kINx.js.map +1 -0
- package/dist/chunks/{emit-CwU8cUmG.js → emit-BwHQkZle.js} +1690 -103
- package/dist/chunks/emit-BwHQkZle.js.map +1 -0
- package/dist/chunks/{escape-CgzxiYPg.js → escape-CuCIzNMB.js} +12 -12
- package/dist/chunks/{escape-CgzxiYPg.js.map → escape-CuCIzNMB.js.map} +1 -1
- package/dist/chunks/{export-BvqAXCKh.js → export-Cha4dRFz.js} +48 -1780
- package/dist/chunks/export-Cha4dRFz.js.map +1 -0
- package/dist/chunks/{exporter--Mk9gXCJ.js → exporter-BP6otMO6.js} +6 -4
- package/dist/chunks/{exporter--Mk9gXCJ.js.map → exporter-BP6otMO6.js.map} +1 -1
- package/dist/chunks/{exporter-CrDWIyiq.js → exporter-D2CETOMK.js} +1222 -154
- package/dist/chunks/exporter-D2CETOMK.js.map +1 -0
- package/dist/chunks/{exporter-DndFlGSa.js → exporter-D9yMtocA.js} +7 -6
- package/dist/chunks/{exporter-DndFlGSa.js.map → exporter-D9yMtocA.js.map} +1 -1
- package/dist/chunks/exporter-_jrBTnos.js +1009 -0
- package/dist/chunks/exporter-_jrBTnos.js.map +1 -0
- package/dist/chunks/{exporter-CJgfhF-l.js → exporter-nDfxIK5D.js} +9 -7
- package/dist/chunks/{exporter-CJgfhF-l.js.map → exporter-nDfxIK5D.js.map} +1 -1
- package/dist/chunks/format-BXiAb-1h.js +408 -0
- package/dist/chunks/format-BXiAb-1h.js.map +1 -0
- package/dist/chunks/{generic-Dq1ntt9q.js → generic-ymWCETAJ.js} +387 -31
- package/dist/chunks/generic-ymWCETAJ.js.map +1 -0
- package/dist/chunks/{importer-CMmeMWlC.js → importer-B92x1xY5.js} +15 -263
- package/dist/chunks/importer-B92x1xY5.js.map +1 -0
- package/dist/chunks/{importer-DiZRmOQG.js → importer-CT9mJ1nn.js} +328 -90
- package/dist/chunks/importer-CT9mJ1nn.js.map +1 -0
- package/dist/chunks/{importer-COTK9Tsl.js → importer-DaLTjbds.js} +116 -1099
- package/dist/chunks/importer-DaLTjbds.js.map +1 -0
- package/dist/chunks/{importer-iFYPEKaJ.js → importer-GREKMdIf.js} +28 -16
- package/dist/chunks/importer-GREKMdIf.js.map +1 -0
- package/dist/chunks/{importer-BSvfrX_h.js → importer-PqaaKKnY.js} +23 -1016
- package/dist/chunks/importer-PqaaKKnY.js.map +1 -0
- package/dist/chunks/{importer-yh_aBCU6.js → importer-Vn5QvmmJ.js} +66 -12
- package/dist/chunks/importer-Vn5QvmmJ.js.map +1 -0
- package/dist/chunks/{importer-e6LGpqHB.js → importer-vRq4h3j5.js} +1470 -354
- package/dist/chunks/importer-vRq4h3j5.js.map +1 -0
- package/dist/chunks/input-CAxt_aV-.js +1397 -0
- package/dist/chunks/input-CAxt_aV-.js.map +1 -0
- package/dist/chunks/{json-elements-DJZRZ6jd.js → json-elements-Cq76WjnZ.js} +4 -4
- package/dist/chunks/{json-elements-DJZRZ6jd.js.map → json-elements-Cq76WjnZ.js.map} +1 -1
- package/dist/chunks/{lexicon-CT69Kd87.js → lexicon-Clf4QIyl.js} +299 -77
- package/dist/chunks/lexicon-Clf4QIyl.js.map +1 -0
- package/dist/chunks/{ontology-export-G4MqRdux.js → ontology-export-OMo91mb0.js} +4 -3
- package/dist/chunks/{ontology-export-G4MqRdux.js.map → ontology-export-OMo91mb0.js.map} +1 -1
- package/dist/chunks/{records-CiaWZrFH.js → records-NJiYvekn.js} +2 -2
- package/dist/chunks/{records-CiaWZrFH.js.map → records-NJiYvekn.js.map} +1 -1
- package/dist/chunks/{format-BpQBx8MZ.js → report-CwMfYa9J.js} +70 -127
- package/dist/chunks/report-CwMfYa9J.js.map +1 -0
- package/dist/chunks/round-trip-Zm3_ivgq.js +79 -0
- package/dist/chunks/round-trip-Zm3_ivgq.js.map +1 -0
- package/dist/chunks/sigv4-EokFic1V.js +247 -0
- package/dist/chunks/sigv4-EokFic1V.js.map +1 -0
- package/dist/chunks/{styles-BQnsga7p.js → styles-CCs214_3.js} +1300 -168
- package/dist/chunks/styles-CCs214_3.js.map +1 -0
- package/dist/chunks/styles-Cm62yyQX.js +2812 -0
- package/dist/chunks/styles-Cm62yyQX.js.map +1 -0
- package/dist/chunks/styles-DPQQIig4.js +1928 -0
- package/dist/chunks/styles-DPQQIig4.js.map +1 -0
- package/dist/chunks/styles-yed-UMFdNqze.js +1213 -0
- package/dist/chunks/styles-yed-UMFdNqze.js.map +1 -0
- package/dist/chunks/{text-CzJNFOS9.js → text-ystE2bYi.js} +2 -2
- package/dist/chunks/{text-CzJNFOS9.js.map → text-ystE2bYi.js.map} +1 -1
- package/dist/csv.js +7 -5
- package/dist/csv.js.map +1 -1
- package/dist/cx.js +5 -4
- package/dist/cx.js.map +1 -1
- package/dist/cx2.js +2 -2
- package/dist/cys.js +1 -1
- package/dist/dot.js +5 -4
- package/dist/dot.js.map +1 -1
- package/dist/gexf.js +42 -10
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +850 -193
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +1189 -220
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +3 -3
- package/dist/json.js +3 -2
- package/dist/neo4j.js +6 -4
- package/dist/neo4j.js.map +1 -1
- package/dist/obo.js +1 -1
- package/dist/pajek.js +1 -1
- package/dist/positions.js +45 -3
- package/dist/positions.js.map +1 -1
- package/dist/sources-cypher.d.ts +1 -0
- package/dist/sources-cypher.js +1351 -0
- package/dist/sources-cypher.js.map +1 -0
- package/dist/sources-ndex.d.ts +1 -0
- package/dist/sources-ndex.js +278 -0
- package/dist/sources-ndex.js.map +1 -0
- package/dist/sources-rest.d.ts +1 -0
- package/dist/sources-rest.js +1377 -0
- package/dist/sources-rest.js.map +1 -0
- package/dist/sources-sparql.d.ts +1 -0
- package/dist/sources-sparql.js +405 -0
- package/dist/sources-sparql.js.map +1 -0
- package/dist/src/common/report.d.ts +6 -3
- package/dist/src/common/report.d.ts.map +1 -1
- package/dist/src/common/report.js +15 -9
- package/dist/src/common/report.js.map +1 -1
- package/dist/src/formats/cx/importer.d.ts.map +1 -1
- package/dist/src/formats/cx/importer.js +5 -1
- package/dist/src/formats/cx/importer.js.map +1 -1
- package/dist/src/formats/cx/styles.d.ts +24 -1
- package/dist/src/formats/cx/styles.d.ts.map +1 -1
- package/dist/src/formats/cx/styles.js +118 -11
- package/dist/src/formats/cx/styles.js.map +1 -1
- package/dist/src/formats/cx2/importer.d.ts.map +1 -1
- package/dist/src/formats/cx2/importer.js +1 -0
- package/dist/src/formats/cx2/importer.js.map +1 -1
- package/dist/src/formats/cx2/styles.d.ts.map +1 -1
- package/dist/src/formats/cx2/styles.js +3 -1
- package/dist/src/formats/cx2/styles.js.map +1 -1
- package/dist/src/formats/cys/importer.d.ts.map +1 -1
- package/dist/src/formats/cys/importer.js +1 -0
- package/dist/src/formats/cys/importer.js.map +1 -1
- package/dist/src/formats/cys/styles.d.ts +2 -0
- package/dist/src/formats/cys/styles.d.ts.map +1 -1
- package/dist/src/formats/cys/styles.js +15 -7
- package/dist/src/formats/cys/styles.js.map +1 -1
- package/dist/src/formats/dot/drawing.d.ts +98 -0
- package/dist/src/formats/dot/drawing.d.ts.map +1 -0
- package/dist/src/formats/dot/drawing.js +734 -0
- package/dist/src/formats/dot/drawing.js.map +1 -0
- package/dist/src/formats/dot/importer.d.ts.map +1 -1
- package/dist/src/formats/dot/importer.js +108 -31
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/dot/label-places.d.ts +34 -0
- package/dist/src/formats/dot/label-places.d.ts.map +1 -0
- package/dist/src/formats/dot/label-places.js +179 -0
- package/dist/src/formats/dot/label-places.js.map +1 -0
- package/dist/src/formats/dot/record.d.ts +50 -0
- package/dist/src/formats/dot/record.d.ts.map +1 -0
- package/dist/src/formats/dot/record.js +275 -0
- package/dist/src/formats/dot/record.js.map +1 -0
- package/dist/src/formats/dot/styles.d.ts +62 -2
- package/dist/src/formats/dot/styles.d.ts.map +1 -1
- package/dist/src/formats/dot/styles.js +1457 -120
- package/dist/src/formats/dot/styles.js.map +1 -1
- package/dist/src/formats/gexf/dialog-metrics.d.ts +15 -0
- package/dist/src/formats/gexf/dialog-metrics.d.ts.map +1 -0
- package/dist/src/formats/gexf/dialog-metrics.js +59 -0
- package/dist/src/formats/gexf/dialog-metrics.js.map +1 -0
- package/dist/src/formats/gexf/importer.d.ts +7 -0
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +41 -5
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/preview.d.ts +77 -0
- package/dist/src/formats/gexf/preview.d.ts.map +1 -0
- package/dist/src/formats/gexf/preview.js +191 -0
- package/dist/src/formats/gexf/preview.js.map +1 -0
- package/dist/src/formats/gexf/schema.d.ts.map +1 -1
- package/dist/src/formats/gexf/schema.js +2 -1
- package/dist/src/formats/gexf/schema.js.map +1 -1
- package/dist/src/formats/gexf/styles.d.ts +60 -16
- package/dist/src/formats/gexf/styles.d.ts.map +1 -1
- package/dist/src/formats/gexf/styles.js +883 -131
- package/dist/src/formats/gexf/styles.js.map +1 -1
- package/dist/src/formats/gml/importer.d.ts +5 -2
- package/dist/src/formats/gml/importer.d.ts.map +1 -1
- package/dist/src/formats/gml/importer.js +258 -71
- package/dist/src/formats/gml/importer.js.map +1 -1
- package/dist/src/formats/gml/index.d.ts +1 -1
- package/dist/src/formats/gml/index.d.ts.map +1 -1
- package/dist/src/formats/gml/index.js +1 -1
- package/dist/src/formats/gml/index.js.map +1 -1
- package/dist/src/formats/gml/positions.d.ts +7 -0
- package/dist/src/formats/gml/positions.d.ts.map +1 -1
- package/dist/src/formats/gml/positions.js +29 -7
- package/dist/src/formats/gml/positions.js.map +1 -1
- package/dist/src/formats/gml/styles.d.ts.map +1 -1
- package/dist/src/formats/gml/styles.js +756 -103
- package/dist/src/formats/gml/styles.js.map +1 -1
- package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-plain.js +8 -12
- package/dist/src/formats/graphml/styles-plain.js.map +1 -1
- package/dist/src/formats/graphml/styles-yed.d.ts +21 -15
- package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yed.js +749 -148
- package/dist/src/formats/graphml/styles-yed.js.map +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.d.ts +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.js +429 -64
- package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -1
- package/dist/src/formats/graphml/yfiles.d.ts +3 -3
- package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
- package/dist/src/formats/graphml/yfiles.js +16 -6
- package/dist/src/formats/graphml/yfiles.js.map +1 -1
- package/dist/src/formats/json/dialect.d.ts +3 -2
- package/dist/src/formats/json/dialect.d.ts.map +1 -1
- package/dist/src/formats/json/dialect.js +39 -5
- package/dist/src/formats/json/dialect.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts +13 -2
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +42 -6
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/json/index.d.ts +1 -1
- package/dist/src/formats/json/index.d.ts.map +1 -1
- package/dist/src/formats/json/index.js +1 -1
- package/dist/src/formats/json/index.js.map +1 -1
- package/dist/src/formats/json/positions.d.ts +5 -2
- package/dist/src/formats/json/positions.d.ts.map +1 -1
- package/dist/src/formats/json/positions.js +20 -4
- package/dist/src/formats/json/positions.js.map +1 -1
- package/dist/src/formats/json/styles.d.ts +12 -1
- package/dist/src/formats/json/styles.d.ts.map +1 -1
- package/dist/src/formats/json/styles.js +1755 -136
- package/dist/src/formats/json/styles.js.map +1 -1
- package/dist/src/formats/pajek/draw.d.ts +96 -0
- package/dist/src/formats/pajek/draw.d.ts.map +1 -0
- package/dist/src/formats/pajek/draw.js +372 -0
- package/dist/src/formats/pajek/draw.js.map +1 -0
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
- package/dist/src/formats/pajek/exporter.js +70 -51
- package/dist/src/formats/pajek/exporter.js.map +1 -1
- package/dist/src/formats/pajek/importer.d.ts +9 -0
- package/dist/src/formats/pajek/importer.d.ts.map +1 -1
- package/dist/src/formats/pajek/importer.js +233 -102
- package/dist/src/formats/pajek/importer.js.map +1 -1
- package/dist/src/formats/pajek/index.d.ts +1 -0
- package/dist/src/formats/pajek/index.d.ts.map +1 -1
- package/dist/src/formats/pajek/index.js.map +1 -1
- package/dist/src/formats/pajek/styles.d.ts +15 -7
- package/dist/src/formats/pajek/styles.d.ts.map +1 -1
- package/dist/src/formats/pajek/styles.js +1279 -114
- package/dist/src/formats/pajek/styles.js.map +1 -1
- package/dist/src/formats/pajek/syntax.d.ts +10 -1
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
- package/dist/src/formats/pajek/syntax.js +26 -2
- package/dist/src/formats/pajek/syntax.js.map +1 -1
- package/dist/src/formats/xgmml/emit.d.ts +1 -0
- package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
- package/dist/src/formats/xgmml/emit.js +65 -5
- package/dist/src/formats/xgmml/emit.js.map +1 -1
- package/dist/src/formats/xgmml/styles.d.ts +23 -3
- package/dist/src/formats/xgmml/styles.d.ts.map +1 -1
- package/dist/src/formats/xgmml/styles.js +278 -60
- package/dist/src/formats/xgmml/styles.js.map +1 -1
- package/dist/src/index.d.ts +10 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/positions/convert.d.ts.map +1 -1
- package/dist/src/positions/convert.js +11 -1
- package/dist/src/positions/convert.js.map +1 -1
- package/dist/src/positions/extract.d.ts.map +1 -1
- package/dist/src/positions/extract.js +53 -1
- package/dist/src/positions/extract.js.map +1 -1
- package/dist/src/positions/index.d.ts +1 -1
- package/dist/src/positions/index.d.ts.map +1 -1
- package/dist/src/positions/types.d.ts +59 -0
- package/dist/src/positions/types.d.ts.map +1 -1
- package/dist/src/registry.d.ts +173 -1
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +196 -1
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sources/builtins.d.ts +11 -0
- package/dist/src/sources/builtins.d.ts.map +1 -0
- package/dist/src/sources/builtins.js +53 -0
- package/dist/src/sources/builtins.js.map +1 -0
- package/dist/src/sources/codes.d.ts +230 -0
- package/dist/src/sources/codes.d.ts.map +1 -0
- package/dist/src/sources/codes.js +58 -0
- package/dist/src/sources/codes.js.map +1 -0
- package/dist/src/sources/context.d.ts +112 -0
- package/dist/src/sources/context.d.ts.map +1 -0
- package/dist/src/sources/context.js +740 -0
- package/dist/src/sources/context.js.map +1 -0
- package/dist/src/sources/credentials.d.ts +179 -0
- package/dist/src/sources/credentials.d.ts.map +1 -0
- package/dist/src/sources/credentials.js +301 -0
- package/dist/src/sources/credentials.js.map +1 -0
- package/dist/src/sources/cypher/descriptor.d.ts +21 -0
- package/dist/src/sources/cypher/descriptor.d.ts.map +1 -0
- package/dist/src/sources/cypher/descriptor.js +124 -0
- package/dist/src/sources/cypher/descriptor.js.map +1 -0
- package/dist/src/sources/cypher/flatten.d.ts +72 -0
- package/dist/src/sources/cypher/flatten.d.ts.map +1 -0
- package/dist/src/sources/cypher/flatten.js +279 -0
- package/dist/src/sources/cypher/flatten.js.map +1 -0
- package/dist/src/sources/cypher/index.d.ts +33 -0
- package/dist/src/sources/cypher/index.d.ts.map +1 -0
- package/dist/src/sources/cypher/index.js +511 -0
- package/dist/src/sources/cypher/index.js.map +1 -0
- package/dist/src/sources/cypher/params.d.ts +40 -0
- package/dist/src/sources/cypher/params.d.ts.map +1 -0
- package/dist/src/sources/cypher/params.js +6 -0
- package/dist/src/sources/cypher/params.js.map +1 -0
- package/dist/src/sources/cypher/profiles.d.ts +44 -0
- package/dist/src/sources/cypher/profiles.d.ts.map +1 -0
- package/dist/src/sources/cypher/profiles.js +61 -0
- package/dist/src/sources/cypher/profiles.js.map +1 -0
- package/dist/src/sources/cypher/query-builder.d.ts +123 -0
- package/dist/src/sources/cypher/query-builder.d.ts.map +1 -0
- package/dist/src/sources/cypher/query-builder.js +267 -0
- package/dist/src/sources/cypher/query-builder.js.map +1 -0
- package/dist/src/sources/cypher/transports/bolt.d.ts +21 -0
- package/dist/src/sources/cypher/transports/bolt.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/bolt.js +185 -0
- package/dist/src/sources/cypher/transports/bolt.js.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.d.ts +15 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.js +38 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.js.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-https.d.ts +31 -0
- package/dist/src/sources/cypher/transports/neptune-https.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-https.js +104 -0
- package/dist/src/sources/cypher/transports/neptune-https.js.map +1 -0
- package/dist/src/sources/cypher/transports/query-api.d.ts +14 -0
- package/dist/src/sources/cypher/transports/query-api.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/query-api.js +80 -0
- package/dist/src/sources/cypher/transports/query-api.js.map +1 -0
- package/dist/src/sources/cypher/transports/transport.d.ts +78 -0
- package/dist/src/sources/cypher/transports/transport.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/transport.js +77 -0
- package/dist/src/sources/cypher/transports/transport.js.map +1 -0
- package/dist/src/sources/cypher/types-map.d.ts +91 -0
- package/dist/src/sources/cypher/types-map.d.ts.map +1 -0
- package/dist/src/sources/cypher/types-map.js +306 -0
- package/dist/src/sources/cypher/types-map.js.map +1 -0
- package/dist/src/sources/define.d.ts +47 -0
- package/dist/src/sources/define.d.ts.map +1 -0
- package/dist/src/sources/define.js +173 -0
- package/dist/src/sources/define.js.map +1 -0
- package/dist/src/sources/fail.d.ts +33 -0
- package/dist/src/sources/fail.d.ts.map +1 -0
- package/dist/src/sources/fail.js +49 -0
- package/dist/src/sources/fail.js.map +1 -0
- package/dist/src/sources/ids.d.ts +69 -0
- package/dist/src/sources/ids.d.ts.map +1 -0
- package/dist/src/sources/ids.js +69 -0
- package/dist/src/sources/ids.js.map +1 -0
- package/dist/src/sources/ndex/client.d.ts +31 -0
- package/dist/src/sources/ndex/client.d.ts.map +1 -0
- package/dist/src/sources/ndex/client.js +90 -0
- package/dist/src/sources/ndex/client.js.map +1 -0
- package/dist/src/sources/ndex/descriptor.d.ts +10 -0
- package/dist/src/sources/ndex/descriptor.d.ts.map +1 -0
- package/dist/src/sources/ndex/descriptor.js +55 -0
- package/dist/src/sources/ndex/descriptor.js.map +1 -0
- package/dist/src/sources/ndex/expand.d.ts +20 -0
- package/dist/src/sources/ndex/expand.d.ts.map +1 -0
- package/dist/src/sources/ndex/expand.js +87 -0
- package/dist/src/sources/ndex/expand.js.map +1 -0
- package/dist/src/sources/ndex/index.d.ts +25 -0
- package/dist/src/sources/ndex/index.d.ts.map +1 -0
- package/dist/src/sources/ndex/index.js +191 -0
- package/dist/src/sources/ndex/index.js.map +1 -0
- package/dist/src/sources/ndex/params.d.ts +17 -0
- package/dist/src/sources/ndex/params.d.ts.map +1 -0
- package/dist/src/sources/ndex/params.js +6 -0
- package/dist/src/sources/ndex/params.js.map +1 -0
- package/dist/src/sources/ndex/share-url.d.ts +40 -0
- package/dist/src/sources/ndex/share-url.d.ts.map +1 -0
- package/dist/src/sources/ndex/share-url.js +64 -0
- package/dist/src/sources/ndex/share-url.js.map +1 -0
- package/dist/src/sources/params.d.ts +31 -0
- package/dist/src/sources/params.d.ts.map +1 -0
- package/dist/src/sources/params.js +6 -0
- package/dist/src/sources/params.js.map +1 -0
- package/dist/src/sources/registry.d.ts +118 -0
- package/dist/src/sources/registry.d.ts.map +1 -0
- package/dist/src/sources/registry.js +193 -0
- package/dist/src/sources/registry.js.map +1 -0
- package/dist/src/sources/rest/descriptor.d.ts +16 -0
- package/dist/src/sources/rest/descriptor.d.ts.map +1 -0
- package/dist/src/sources/rest/descriptor.js +76 -0
- package/dist/src/sources/rest/descriptor.js.map +1 -0
- package/dist/src/sources/rest/index.d.ts +14 -0
- package/dist/src/sources/rest/index.d.ts.map +1 -0
- package/dist/src/sources/rest/index.js +13 -0
- package/dist/src/sources/rest/index.js.map +1 -0
- package/dist/src/sources/rest/mapping.d.ts +30 -0
- package/dist/src/sources/rest/mapping.d.ts.map +1 -0
- package/dist/src/sources/rest/mapping.js +362 -0
- package/dist/src/sources/rest/mapping.js.map +1 -0
- package/dist/src/sources/rest/openalex.d.ts +27 -0
- package/dist/src/sources/rest/openalex.d.ts.map +1 -0
- package/dist/src/sources/rest/openalex.js +269 -0
- package/dist/src/sources/rest/openalex.js.map +1 -0
- package/dist/src/sources/rest/paging.d.ts +53 -0
- package/dist/src/sources/rest/paging.d.ts.map +1 -0
- package/dist/src/sources/rest/paging.js +138 -0
- package/dist/src/sources/rest/paging.js.map +1 -0
- package/dist/src/sources/rest/params.d.ts +216 -0
- package/dist/src/sources/rest/params.d.ts.map +1 -0
- package/dist/src/sources/rest/params.js +7 -0
- package/dist/src/sources/rest/params.js.map +1 -0
- package/dist/src/sources/rest/records.d.ts +41 -0
- package/dist/src/sources/rest/records.d.ts.map +1 -0
- package/dist/src/sources/rest/records.js +240 -0
- package/dist/src/sources/rest/records.js.map +1 -0
- package/dist/src/sources/rest/samples/deps-dev.d.ts +10 -0
- package/dist/src/sources/rest/samples/deps-dev.d.ts.map +1 -0
- package/dist/src/sources/rest/samples/deps-dev.js +47 -0
- package/dist/src/sources/rest/samples/deps-dev.js.map +1 -0
- package/dist/src/sources/rest/samples/string.d.ts +9 -0
- package/dist/src/sources/rest/samples/string.d.ts.map +1 -0
- package/dist/src/sources/rest/samples/string.js +42 -0
- package/dist/src/sources/rest/samples/string.js.map +1 -0
- package/dist/src/sources/rest/selectors.d.ts +41 -0
- package/dist/src/sources/rest/selectors.d.ts.map +1 -0
- package/dist/src/sources/rest/selectors.js +81 -0
- package/dist/src/sources/rest/selectors.js.map +1 -0
- package/dist/src/sources/rest/source.d.ts +67 -0
- package/dist/src/sources/rest/source.d.ts.map +1 -0
- package/dist/src/sources/rest/source.js +650 -0
- package/dist/src/sources/rest/source.js.map +1 -0
- package/dist/src/sources/rest/templates.d.ts +38 -0
- package/dist/src/sources/rest/templates.d.ts.map +1 -0
- package/dist/src/sources/rest/templates.js +125 -0
- package/dist/src/sources/rest/templates.js.map +1 -0
- package/dist/src/sources/run.d.ts +93 -0
- package/dist/src/sources/run.d.ts.map +1 -0
- package/dist/src/sources/run.js +673 -0
- package/dist/src/sources/run.js.map +1 -0
- package/dist/src/sources/sha256.d.ts +12 -0
- package/dist/src/sources/sha256.d.ts.map +1 -0
- package/dist/src/sources/sha256.js +95 -0
- package/dist/src/sources/sha256.js.map +1 -0
- package/dist/src/sources/sigv4.d.ts +26 -0
- package/dist/src/sources/sigv4.d.ts.map +1 -0
- package/dist/src/sources/sigv4.js +184 -0
- package/dist/src/sources/sigv4.js.map +1 -0
- package/dist/src/sources/sparql/descriptor.d.ts +10 -0
- package/dist/src/sources/sparql/descriptor.d.ts.map +1 -0
- package/dist/src/sources/sparql/descriptor.js +64 -0
- package/dist/src/sources/sparql/descriptor.js.map +1 -0
- package/dist/src/sources/sparql/index.d.ts +28 -0
- package/dist/src/sources/sparql/index.d.ts.map +1 -0
- package/dist/src/sources/sparql/index.js +314 -0
- package/dist/src/sources/sparql/index.js.map +1 -0
- package/dist/src/sources/sparql/ntriples.d.ts +69 -0
- package/dist/src/sources/sparql/ntriples.d.ts.map +1 -0
- package/dist/src/sources/sparql/ntriples.js +180 -0
- package/dist/src/sources/sparql/ntriples.js.map +1 -0
- package/dist/src/sources/sparql/params.d.ts +27 -0
- package/dist/src/sources/sparql/params.d.ts.map +1 -0
- package/dist/src/sources/sparql/params.js +5 -0
- package/dist/src/sources/sparql/params.js.map +1 -0
- package/dist/src/sources/sparql/query.d.ts +72 -0
- package/dist/src/sources/sparql/query.d.ts.map +1 -0
- package/dist/src/sources/sparql/query.js +113 -0
- package/dist/src/sources/sparql/query.js.map +1 -0
- package/dist/src/sources/testing.d.ts +96 -0
- package/dist/src/sources/testing.d.ts.map +1 -0
- package/dist/src/sources/testing.js +138 -0
- package/dist/src/sources/testing.js.map +1 -0
- package/dist/src/sources/types.d.ts +696 -0
- package/dist/src/sources/types.d.ts.map +1 -0
- package/dist/src/sources/types.js +10 -0
- package/dist/src/sources/types.js.map +1 -0
- package/dist/src/styles/annotations.d.ts +61 -5
- package/dist/src/styles/annotations.d.ts.map +1 -1
- package/dist/src/styles/annotations.js +130 -22
- package/dist/src/styles/annotations.js.map +1 -1
- package/dist/src/styles/canon/bends.d.ts +46 -0
- package/dist/src/styles/canon/bends.d.ts.map +1 -1
- package/dist/src/styles/canon/bends.js +123 -0
- package/dist/src/styles/canon/bends.js.map +1 -1
- package/dist/src/styles/canon/color-tables.d.ts +6 -1
- package/dist/src/styles/canon/color-tables.d.ts.map +1 -1
- package/dist/src/styles/canon/color-tables.js +10 -4
- package/dist/src/styles/canon/color-tables.js.map +1 -1
- package/dist/src/styles/canon/color.d.ts +3 -1
- package/dist/src/styles/canon/color.d.ts.map +1 -1
- package/dist/src/styles/canon/color.js +103 -3
- package/dist/src/styles/canon/color.js.map +1 -1
- package/dist/src/styles/canon/enums.d.ts +2 -2
- package/dist/src/styles/canon/enums.d.ts.map +1 -1
- package/dist/src/styles/canon/enums.js +82 -7
- package/dist/src/styles/canon/enums.js.map +1 -1
- package/dist/src/styles/canon/graphviz.d.ts +12 -3
- package/dist/src/styles/canon/graphviz.d.ts.map +1 -1
- package/dist/src/styles/canon/graphviz.js +57 -9
- package/dist/src/styles/canon/graphviz.js.map +1 -1
- package/dist/src/styles/canon/number.d.ts +8 -0
- package/dist/src/styles/canon/number.d.ts.map +1 -1
- package/dist/src/styles/canon/number.js +18 -0
- package/dist/src/styles/canon/number.js.map +1 -1
- package/dist/src/styles/canon/text.d.ts +29 -2
- package/dist/src/styles/canon/text.d.ts.map +1 -1
- package/dist/src/styles/canon/text.js +156 -16
- package/dist/src/styles/canon/text.js.map +1 -1
- package/dist/src/styles/codes.d.ts +2 -0
- package/dist/src/styles/codes.d.ts.map +1 -1
- package/dist/src/styles/codes.js +2 -0
- package/dist/src/styles/codes.js.map +1 -1
- package/dist/src/styles/cyjs/cascade.d.ts.map +1 -1
- package/dist/src/styles/cyjs/cascade.js +1037 -35
- package/dist/src/styles/cyjs/cascade.js.map +1 -1
- package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -1
- package/dist/src/styles/cyjs/defaults-table.js +5 -0
- package/dist/src/styles/cyjs/defaults-table.js.map +1 -1
- package/dist/src/styles/cyjs/emit.d.ts.map +1 -1
- package/dist/src/styles/cyjs/emit.js +216 -12
- package/dist/src/styles/cyjs/emit.js.map +1 -1
- package/dist/src/styles/cyjs/face.d.ts +20 -0
- package/dist/src/styles/cyjs/face.d.ts.map +1 -0
- package/dist/src/styles/cyjs/face.js +332 -0
- package/dist/src/styles/cyjs/face.js.map +1 -0
- package/dist/src/styles/cyjs/mappers.d.ts +48 -2
- package/dist/src/styles/cyjs/mappers.d.ts.map +1 -1
- package/dist/src/styles/cyjs/mappers.js +463 -26
- package/dist/src/styles/cyjs/mappers.js.map +1 -1
- package/dist/src/styles/cyjs/routes.d.ts +53 -0
- package/dist/src/styles/cyjs/routes.d.ts.map +1 -0
- package/dist/src/styles/cyjs/routes.js +360 -0
- package/dist/src/styles/cyjs/routes.js.map +1 -0
- package/dist/src/styles/cytoscape/charts.d.ts +23 -0
- package/dist/src/styles/cytoscape/charts.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/charts.js +560 -0
- package/dist/src/styles/cytoscape/charts.js.map +1 -0
- package/dist/src/styles/cytoscape/emit.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/emit.js +204 -44
- package/dist/src/styles/cytoscape/emit.js.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.d.ts +97 -3
- package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.js +413 -79
- package/dist/src/styles/cytoscape/lexicon.js.map +1 -1
- package/dist/src/styles/cytoscape/mappings.d.ts +30 -0
- package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/mappings.js +92 -0
- package/dist/src/styles/cytoscape/mappings.js.map +1 -1
- package/dist/src/styles/cytoscape/resolve.d.ts +46 -3
- package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/resolve.js +632 -22
- package/dist/src/styles/cytoscape/resolve.js.map +1 -1
- package/dist/src/styles/cytoscape/translate.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/translate.js +10 -10
- package/dist/src/styles/cytoscape/translate.js.map +1 -1
- package/dist/src/styles/defaults.d.ts +50 -0
- package/dist/src/styles/defaults.d.ts.map +1 -1
- package/dist/src/styles/defaults.js +315 -37
- package/dist/src/styles/defaults.js.map +1 -1
- package/dist/src/styles/index.d.ts +4 -3
- package/dist/src/styles/index.d.ts.map +1 -1
- package/dist/src/styles/index.js +3 -2
- package/dist/src/styles/index.js.map +1 -1
- package/dist/src/styles/internal.d.ts +1 -0
- package/dist/src/styles/internal.d.ts.map +1 -1
- package/dist/src/styles/internal.js +1 -0
- package/dist/src/styles/internal.js.map +1 -1
- package/dist/src/styles/io/block.d.ts.map +1 -1
- package/dist/src/styles/io/block.js +9 -0
- package/dist/src/styles/io/block.js.map +1 -1
- package/dist/src/styles/io/generic.d.ts.map +1 -1
- package/dist/src/styles/io/generic.js +56 -16
- package/dist/src/styles/io/generic.js.map +1 -1
- package/dist/src/styles/io/round-trip.d.ts +56 -0
- package/dist/src/styles/io/round-trip.d.ts.map +1 -0
- package/dist/src/styles/io/round-trip.js +138 -0
- package/dist/src/styles/io/round-trip.js.map +1 -0
- package/dist/src/styles/io/writer.d.ts.map +1 -1
- package/dist/src/styles/io/writer.js +13 -4
- package/dist/src/styles/io/writer.js.map +1 -1
- package/dist/src/styles/notes.d.ts.map +1 -1
- package/dist/src/styles/notes.js +1 -0
- package/dist/src/styles/notes.js.map +1 -1
- package/dist/src/styles/plan/features.d.ts +1 -1
- package/dist/src/styles/plan/features.d.ts.map +1 -1
- package/dist/src/styles/plan/features.js +22 -2
- package/dist/src/styles/plan/features.js.map +1 -1
- package/dist/src/styles/plan/index.d.ts +1 -1
- package/dist/src/styles/plan/index.d.ts.map +1 -1
- package/dist/src/styles/plan/index.js +1 -1
- package/dist/src/styles/plan/index.js.map +1 -1
- package/dist/src/styles/plan/plan.d.ts.map +1 -1
- package/dist/src/styles/plan/plan.js +61 -4
- package/dist/src/styles/plan/plan.js.map +1 -1
- package/dist/src/styles/plan/resolve.d.ts +13 -1
- package/dist/src/styles/plan/resolve.d.ts.map +1 -1
- package/dist/src/styles/plan/resolve.js +53 -6
- package/dist/src/styles/plan/resolve.js.map +1 -1
- package/dist/src/styles/slots.d.ts +14 -0
- package/dist/src/styles/slots.d.ts.map +1 -0
- package/dist/src/styles/slots.js +20 -0
- package/dist/src/styles/slots.js.map +1 -0
- package/dist/src/styles/types.d.ts +638 -5
- package/dist/src/styles/types.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.d.ts +3 -2
- package/dist/src/styles/vocabulary.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.js +218 -1
- package/dist/src/styles/vocabulary.js.map +1 -1
- package/dist/src/types.d.ts +19 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/styles.js +29 -238
- package/dist/styles.js.map +1 -1
- package/dist/xgmml.js +3 -3
- package/docs/samples/people.json +6 -0
- package/package.json +53 -8
- package/src/common/report.ts +27 -7
- package/src/formats/cx/importer.ts +6 -1
- package/src/formats/cx/styles.ts +144 -9
- package/src/formats/cx2/importer.ts +1 -0
- package/src/formats/cx2/styles.ts +3 -1
- package/src/formats/cys/importer.ts +1 -0
- package/src/formats/cys/styles.ts +27 -5
- package/src/formats/dot/drawing.ts +799 -0
- package/src/formats/dot/importer.ts +120 -35
- package/src/formats/dot/label-places.ts +228 -0
- package/src/formats/dot/record.ts +336 -0
- package/src/formats/dot/styles.ts +1657 -154
- package/src/formats/gexf/dialog-metrics.ts +61 -0
- package/src/formats/gexf/importer.ts +50 -5
- package/src/formats/gexf/preview.ts +217 -0
- package/src/formats/gexf/schema.ts +2 -1
- package/src/formats/gexf/styles.ts +1144 -142
- package/src/formats/gml/importer.ts +291 -76
- package/src/formats/gml/index.ts +1 -1
- package/src/formats/gml/positions.ts +29 -7
- package/src/formats/gml/styles.ts +854 -111
- package/src/formats/graphml/styles-plain.ts +8 -23
- package/src/formats/graphml/styles-yed.ts +821 -159
- package/src/formats/graphml/styles-yfiles3.ts +485 -63
- package/src/formats/graphml/yfiles.ts +19 -6
- package/src/formats/json/dialect.ts +41 -5
- package/src/formats/json/importer.ts +59 -7
- package/src/formats/json/index.ts +1 -0
- package/src/formats/json/positions.ts +22 -5
- package/src/formats/json/styles.ts +2041 -185
- package/src/formats/pajek/draw.ts +458 -0
- package/src/formats/pajek/exporter.ts +81 -49
- package/src/formats/pajek/importer.ts +278 -103
- package/src/formats/pajek/index.ts +1 -0
- package/src/formats/pajek/styles.ts +1382 -133
- package/src/formats/pajek/syntax.ts +27 -2
- package/src/formats/xgmml/emit.ts +73 -5
- package/src/formats/xgmml/styles.ts +331 -71
- package/src/index.ts +94 -0
- package/src/positions/convert.ts +12 -1
- package/src/positions/extract.ts +55 -1
- package/src/positions/index.ts +1 -0
- package/src/positions/types.ts +60 -0
- package/src/registry.ts +326 -1
- package/src/sources/builtins.ts +63 -0
- package/src/sources/codes.ts +235 -0
- package/src/sources/context.ts +894 -0
- package/src/sources/credentials.ts +409 -0
- package/src/sources/cypher/descriptor.ts +131 -0
- package/src/sources/cypher/flatten.ts +323 -0
- package/src/sources/cypher/index.ts +628 -0
- package/src/sources/cypher/params.ts +41 -0
- package/src/sources/cypher/profiles.ts +78 -0
- package/src/sources/cypher/query-builder.ts +327 -0
- package/src/sources/cypher/transports/bolt.ts +228 -0
- package/src/sources/cypher/transports/neptune-analytics.ts +41 -0
- package/src/sources/cypher/transports/neptune-https.ts +122 -0
- package/src/sources/cypher/transports/query-api.ts +100 -0
- package/src/sources/cypher/transports/transport.ts +139 -0
- package/src/sources/cypher/types-map.ts +418 -0
- package/src/sources/define.ts +195 -0
- package/src/sources/fail.ts +70 -0
- package/src/sources/ids.ts +80 -0
- package/src/sources/ndex/client.ts +102 -0
- package/src/sources/ndex/descriptor.ts +64 -0
- package/src/sources/ndex/expand.ts +100 -0
- package/src/sources/ndex/index.ts +235 -0
- package/src/sources/ndex/params.ts +17 -0
- package/src/sources/ndex/share-url.ts +84 -0
- package/src/sources/params.ts +32 -0
- package/src/sources/registry.ts +325 -0
- package/src/sources/rest/descriptor.ts +79 -0
- package/src/sources/rest/index.ts +22 -0
- package/src/sources/rest/mapping.ts +401 -0
- package/src/sources/rest/openalex.ts +288 -0
- package/src/sources/rest/paging.ts +180 -0
- package/src/sources/rest/params.ts +243 -0
- package/src/sources/rest/records.ts +289 -0
- package/src/sources/rest/samples/deps-dev.ts +49 -0
- package/src/sources/rest/samples/string.ts +44 -0
- package/src/sources/rest/selectors.ts +91 -0
- package/src/sources/rest/source.ts +776 -0
- package/src/sources/rest/templates.ts +151 -0
- package/src/sources/run.ts +793 -0
- package/src/sources/sha256.ts +99 -0
- package/src/sources/sigv4.ts +209 -0
- package/src/sources/sparql/descriptor.ts +67 -0
- package/src/sources/sparql/index.ts +356 -0
- package/src/sources/sparql/ntriples.ts +219 -0
- package/src/sources/sparql/params.ts +28 -0
- package/src/sources/sparql/query.ts +162 -0
- package/src/sources/testing.ts +210 -0
- package/src/sources/types.ts +776 -0
- package/src/styles/annotations.ts +201 -27
- package/src/styles/canon/bends.ts +137 -0
- package/src/styles/canon/color-tables.ts +10 -4
- package/src/styles/canon/color.ts +105 -3
- package/src/styles/canon/enums.ts +99 -8
- package/src/styles/canon/graphviz.ts +71 -10
- package/src/styles/canon/number.ts +19 -0
- package/src/styles/canon/text.ts +187 -16
- package/src/styles/codes.ts +2 -0
- package/src/styles/cyjs/cascade.ts +1193 -38
- package/src/styles/cyjs/defaults-table.ts +5 -0
- package/src/styles/cyjs/emit.ts +247 -16
- package/src/styles/cyjs/face.ts +372 -0
- package/src/styles/cyjs/mappers.ts +498 -28
- package/src/styles/cyjs/routes.ts +432 -0
- package/src/styles/cytoscape/charts.ts +684 -0
- package/src/styles/cytoscape/emit.ts +220 -44
- package/src/styles/cytoscape/lexicon.ts +459 -80
- package/src/styles/cytoscape/mappings.ts +108 -0
- package/src/styles/cytoscape/resolve.ts +763 -23
- package/src/styles/cytoscape/translate.ts +11 -11
- package/src/styles/defaults.ts +436 -38
- package/src/styles/index.ts +5 -0
- package/src/styles/internal.ts +1 -0
- package/src/styles/io/block.ts +10 -0
- package/src/styles/io/generic.ts +79 -23
- package/src/styles/io/round-trip.ts +202 -0
- package/src/styles/io/writer.ts +14 -4
- package/src/styles/notes.ts +1 -0
- package/src/styles/plan/features.ts +23 -2
- package/src/styles/plan/index.ts +1 -1
- package/src/styles/plan/plan.ts +69 -5
- package/src/styles/plan/resolve.ts +61 -6
- package/src/styles/slots.ts +25 -0
- package/src/styles/types.ts +658 -4
- package/src/styles/vocabulary.ts +226 -3
- package/src/types.ts +19 -5
- package/dist/chunks/block-DiGq58c3.js.map +0 -1
- package/dist/chunks/choose--jM0yYCo.js +0 -57
- package/dist/chunks/choose--jM0yYCo.js.map +0 -1
- package/dist/chunks/convert-BcQ8_jMo.js.map +0 -1
- package/dist/chunks/emit-CwU8cUmG.js.map +0 -1
- package/dist/chunks/export-BvqAXCKh.js.map +0 -1
- package/dist/chunks/exporter-CrDWIyiq.js.map +0 -1
- package/dist/chunks/format-BpQBx8MZ.js.map +0 -1
- package/dist/chunks/generic-Dq1ntt9q.js.map +0 -1
- package/dist/chunks/importer-BSvfrX_h.js.map +0 -1
- package/dist/chunks/importer-CMmeMWlC.js.map +0 -1
- package/dist/chunks/importer-COTK9Tsl.js.map +0 -1
- package/dist/chunks/importer-DiZRmOQG.js.map +0 -1
- package/dist/chunks/importer-e6LGpqHB.js.map +0 -1
- package/dist/chunks/importer-iFYPEKaJ.js.map +0 -1
- package/dist/chunks/importer-yh_aBCU6.js.map +0 -1
- package/dist/chunks/lexicon-CT69Kd87.js.map +0 -1
- package/dist/chunks/styles-BQnsga7p.js.map +0 -1
- package/dist/chunks/styles-D3fRphrO.js +0 -690
- package/dist/chunks/styles-D3fRphrO.js.map +0 -1
- package/dist/chunks/styles-yed-BF5x3_Y5.js +0 -842
- package/dist/chunks/styles-yed-BF5x3_Y5.js.map +0 -1
- package/dist/chunks/writer-DMKvthQE.js +0 -448
- package/dist/chunks/writer-DMKvthQE.js.map +0 -1
package/src/styles/defaults.ts
CHANGED
|
@@ -48,6 +48,12 @@ export type ToolDerivedDefault =
|
|
|
48
48
|
/** Where the default is stated. */
|
|
49
49
|
readonly source: string;
|
|
50
50
|
}
|
|
51
|
+
| {
|
|
52
|
+
/** An edge with no color of its own takes the mix of its two end nodes' colors (Gephi's EdgeColor MIXED). */
|
|
53
|
+
readonly kind: "colorFromEndNodes";
|
|
54
|
+
/** Where the default is stated. */
|
|
55
|
+
readonly source: string;
|
|
56
|
+
}
|
|
51
57
|
| {
|
|
52
58
|
/** An edge with no width of its own is drawn as thick as its weight (1 for an edge with no weight, or a weight of 0 or below). */
|
|
53
59
|
readonly kind: "widthFromWeight";
|
|
@@ -82,6 +88,59 @@ export interface ToolDefaults {
|
|
|
82
88
|
readonly graph: ToolDefaultValues<GraphStyleValues>;
|
|
83
89
|
/** Defaults that are rules, applied above the constants. */
|
|
84
90
|
readonly derived: readonly ToolDerivedDefault[];
|
|
91
|
+
/**
|
|
92
|
+
* The largest corner radius, in `units`, the program draws on a rounded rectangle whose file gives none. Not a
|
|
93
|
+
* node default: it only bounds the rounding of the shape the file names, so no rule carries it and no writer has
|
|
94
|
+
* to hold it.
|
|
95
|
+
*/
|
|
96
|
+
readonly roundedCornerRadius?: ToolDefaultValue<number>;
|
|
97
|
+
/**
|
|
98
|
+
* How big the program draws its filled triangle arrowhead, which it sizes from the line width and its own size
|
|
99
|
+
* setting rather than from the neutral `arrowSize` alone. Not an edge default: the size follows from two
|
|
100
|
+
* properties, so no rule carries it. Absent for a program whose arrowheads graph-io has not measured.
|
|
101
|
+
*/
|
|
102
|
+
readonly arrowhead?: ToolArrowhead;
|
|
103
|
+
/**
|
|
104
|
+
* Whether the program draws a node's `borderWidth` in screen pixels, the same at every zoom, rather than as a
|
|
105
|
+
* length that grows and shrinks with the drawing: vis-network divides it by its view's scale. Not a node default:
|
|
106
|
+
* it says how every node's border width is read, so no rule carries it. Absent, a border width is a length.
|
|
107
|
+
*/
|
|
108
|
+
readonly nodeBorderOnScreen?: ToolDefaultValue<boolean>;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* How a program sizes its filled triangle arrowhead, in its `units`.
|
|
113
|
+
* @category Styles
|
|
114
|
+
*/
|
|
115
|
+
export interface ToolArrowhead {
|
|
116
|
+
/**
|
|
117
|
+
* The arrowhead's length along its line.
|
|
118
|
+
* @param arrowSize - the edge's neutral `arrowSize` (1 is the program's normal size)
|
|
119
|
+
* @param width - the edge's line width
|
|
120
|
+
* @returns the length
|
|
121
|
+
*/
|
|
122
|
+
readonly length: (arrowSize: number, width: number) => number;
|
|
123
|
+
/** Its width across the line as a fraction of its length, which its diamond shares. */
|
|
124
|
+
readonly aspect: number;
|
|
125
|
+
/**
|
|
126
|
+
* Another arrow shape's length along its line as a fraction of the triangle's, and its width as a fraction of
|
|
127
|
+
* its own length, where they differ.
|
|
128
|
+
*/
|
|
129
|
+
readonly shapes?: Readonly<
|
|
130
|
+
Partial<
|
|
131
|
+
Record<
|
|
132
|
+
StyleArrowShape,
|
|
133
|
+
{
|
|
134
|
+
/** The shape's length along its line, as a fraction of the triangle's. */
|
|
135
|
+
readonly length: number;
|
|
136
|
+
/** Its width across the line as a fraction of its own length; unset, the triangle's. */
|
|
137
|
+
readonly aspect?: number;
|
|
138
|
+
}
|
|
139
|
+
>
|
|
140
|
+
>
|
|
141
|
+
>;
|
|
142
|
+
/** Where the rule is stated or measured. */
|
|
143
|
+
readonly source: string;
|
|
85
144
|
}
|
|
86
145
|
|
|
87
146
|
/**
|
|
@@ -96,21 +155,98 @@ function v<V>(value: V, source: string): ToolDefaultValue<V> {
|
|
|
96
155
|
|
|
97
156
|
const CY = "cytoscape-impl vizmap-gui-impl default_vizmap.xml, style default, line";
|
|
98
157
|
const CYL = "cytoscape-api BasicVisualLexicon.java line";
|
|
158
|
+
/** Cytoscape desktop's zigzag and sine-wave strokes: both swing 10 px and repeat every 20 px. */
|
|
159
|
+
const CY_WAVE =
|
|
160
|
+
"cytoscape-impl ding-presentation-impl 3.10.5 org.cytoscape.ding.impl.strokes: ZigzagStroke (amplitude 10, a turn every 10) and SineWaveStroke (amplitude 10, wavelength 20)";
|
|
99
161
|
const CYJS = "cytoscape.js 3.34.3 dist/cytoscape.cjs.js line";
|
|
100
162
|
const GV = "graphviz.org/docs/attrs";
|
|
101
163
|
const YED_QA = "yEd Q&A, How can I change the default nodes and/or default edges";
|
|
102
164
|
const YED_CORPUS = "yEd GraphML corpus, most frequent value";
|
|
103
165
|
const YED_EDGE = "yFiles for Java 2.19 EdgeRealizer API docs";
|
|
166
|
+
const YED_BG = "yFiles for Java 2.19 DefaultBackgroundRenderer API docs";
|
|
104
167
|
const Y3 = "yFiles for HTML API docs,";
|
|
105
168
|
const GEPHI = "gephi master 92e503df61a7";
|
|
106
169
|
const VIS = "vis-network 10.1.2 vis-network.esm.js";
|
|
170
|
+
const VIS9 = "vis-network 9.1.9 standalone/umd/vis-network.js";
|
|
107
171
|
const SIGMA = "sigma 3.0.3 packages/sigma/src";
|
|
172
|
+
const SIGMA4 = "sigma 4.0.1 dist/types-d8ce3382.esm.js";
|
|
108
173
|
const PAJEK = "Pajek 6.02 reference manual";
|
|
109
|
-
const PAJEK_SHAPES =
|
|
110
|
-
"the SHAPES.CFG Pajek writes when none exists (DrawEPS.htm), " +
|
|
111
|
-
"github.com/ohshane/radical-clustering 0f568f67893558035868b3db1bf365870ba52f6b shapes.cfg, SHAPE ELLIPSE";
|
|
112
174
|
const OGDF = "ogdf master 1a40505ac006";
|
|
175
|
+
const OGDF_SVG =
|
|
176
|
+
"OGDF 2025.10 GraphIO::drawSVG with its default SVGSettings (graph-io/test/fidelity/oracles/gml-specimen-labels-p5.svg: ";
|
|
113
177
|
const NX = "networkx 6da4704cbf32 networkx/drawing/nx_pylab.py line";
|
|
178
|
+
const MEASURED = "measured in the program's own SVG export (graph-io/test/fidelity/oracles/";
|
|
179
|
+
const PAJEK_SVG = `${MEASURED}pajek-`;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Cytoscape desktop draws an arrow `EDGE_*_ARROW_SIZE` (6 by default, the neutral arrowSize 1) plus the line width
|
|
183
|
+
* across, a DELTA twice as long, a square, a circle and a half arrow as long as that, and a T bar as wide as the
|
|
184
|
+
* DELTA is long and a tenth of that deep: measured on cx-ndex-90f78bcd (width 1), cx2-u2os-hierarchy (width 2),
|
|
185
|
+
* cx2-signor-aml and cx2-syn-bypass (widths 1 and 7).
|
|
186
|
+
*/
|
|
187
|
+
const CYTOSCAPE_ARROWHEAD: ToolArrowhead = {
|
|
188
|
+
length: (size, width) => 2 * (6 * size + width),
|
|
189
|
+
aspect: 0.5,
|
|
190
|
+
shapes: {
|
|
191
|
+
square: { length: 0.5, aspect: 1 },
|
|
192
|
+
circle: { length: 0.5, aspect: 1 },
|
|
193
|
+
"circle-open": { length: 0.5, aspect: 1 },
|
|
194
|
+
// HALF_TOP's barb: 1.135 long and 1 to one side of its line
|
|
195
|
+
half: { length: 0.5675, aspect: 0.881 },
|
|
196
|
+
"other:half-bottom": { length: 0.5675, aspect: 0.881 },
|
|
197
|
+
tee: { length: 0.1, aspect: 10 },
|
|
198
|
+
// a square's outline, and a half circle (half a CIRCLE deep, as wide)
|
|
199
|
+
"other:open-square": { length: 0.5, aspect: 1 },
|
|
200
|
+
"other:half-circle": { length: 0.25, aspect: 2 },
|
|
201
|
+
"other:open-half-circle": { length: 0.25, aspect: 2 },
|
|
202
|
+
},
|
|
203
|
+
source: `${MEASURED}cx-ndex-90f78bcd, cx2-u2os-hierarchy, cx2-signor-aml, cx2-syn-bypass, cx-syn-mappings: each arrow's unit glyph), Cytoscape 3.10.5`,
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Cytoscape desktop draws a node's outline its size less its border's width across and strokes the border along it,
|
|
208
|
+
* so the border's outer edge is the node's size: a 40 x 40 HEXAGON with a border of 1 is a 39-wide path.
|
|
209
|
+
*/
|
|
210
|
+
/** Cytoscape desktop draws a curved edge through its handles, and the loops it adds itself, through their midpoints. */
|
|
211
|
+
const CYTOSCAPE_BEND_CURVE = v(
|
|
212
|
+
"midpoints",
|
|
213
|
+
"cytoscape-impl ding-presentation-impl GraphGraphics.java computeCubicPolyEdgePath (cubic pieces between the handles' midpoints, controls pulled toward each handle by CURVE_ELLIPTICAL)",
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Cytoscape desktop draws a label's background box round its words alone: as wide as the text and one line tall,
|
|
218
|
+
* the font's ascent plus descent (1.164 of a DejaVu Sans font's size), which is also the step between its lines.
|
|
219
|
+
*/
|
|
220
|
+
const CYTOSCAPE_LABEL_BOX = `${MEASURED}xgmml-specimen-labels: label-background-* boxes and the captions' two lines), Cytoscape 3.10.5`;
|
|
221
|
+
const CYTOSCAPE_LABEL_PADDING = v(0, CYTOSCAPE_LABEL_BOX);
|
|
222
|
+
const CYTOSCAPE_LABEL_LINE_HEIGHT = v(1, CYTOSCAPE_LABEL_BOX);
|
|
223
|
+
|
|
224
|
+
const CYTOSCAPE_BORDER_INSIDE = v<"inside">(
|
|
225
|
+
"inside",
|
|
226
|
+
`${MEASURED}cx2-repro-shared-interaction, cys-luad-vest-v2, cx2-synthetic-lethal), Cytoscape 3.10.5`,
|
|
227
|
+
);
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* draw.io draws a yEd or yFiles file's arrows `endSize` 6 plus the line width long and as wide; yEd itself could not
|
|
231
|
+
* be run, so draw.io's drawing stands in.
|
|
232
|
+
*/
|
|
233
|
+
const DRAWIO_ARROWHEAD: ToolArrowhead = {
|
|
234
|
+
length: (size, width) => 6 * size + width,
|
|
235
|
+
aspect: 1,
|
|
236
|
+
source: `${MEASURED}graphml-*, draw.io 32.4.1 standing in for yEd)`,
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* The largest corner radius of a rounded rectangle whose file gives none, in the program's units. Cytoscape.js is the
|
|
241
|
+
* one program that publishes its rule (`getRoundRectangleRadius`); the others draw barely rounded corners too, so they
|
|
242
|
+
* get the same 8, and a 513 x 453 group keeps small corners instead of a quarter of its side.
|
|
243
|
+
* @param tool - the program, when it is not Cytoscape.js and so states no radius of its own
|
|
244
|
+
* @returns the default
|
|
245
|
+
*/
|
|
246
|
+
function cornerCap(tool?: string): ToolDefaultValue<number> {
|
|
247
|
+
const rule = `${CYJS} 4386`;
|
|
248
|
+
return v(8, tool === undefined ? rule : `${rule} (Cytoscape.js's rule; ${tool} states none)`);
|
|
249
|
+
}
|
|
114
250
|
|
|
115
251
|
/**
|
|
116
252
|
* The defaults of every program graph-io recognizes as a file's writer, by tool id.
|
|
@@ -123,6 +259,8 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
123
259
|
tool: "cytoscape",
|
|
124
260
|
version: "cytoscape-impl develop 6c63e97c5152 (3.11)",
|
|
125
261
|
units: "px",
|
|
262
|
+
roundedCornerRadius: cornerCap("cytoscape"),
|
|
263
|
+
arrowhead: CYTOSCAPE_ARROWHEAD,
|
|
126
264
|
node: {
|
|
127
265
|
fill: v("#89d0f5", `${CY} 382`),
|
|
128
266
|
fillOpacity: v(1, `${CY} 383`),
|
|
@@ -132,29 +270,44 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
132
270
|
borderColor: v("#cccccc", `${CY} 392`),
|
|
133
271
|
borderWidth: v(0, `${CY} 350`),
|
|
134
272
|
borderStyle: v("solid", `${CY} 366`),
|
|
273
|
+
borderPosition: CYTOSCAPE_BORDER_INSIDE,
|
|
274
|
+
borderWaveAmplitude: v(10, CY_WAVE),
|
|
275
|
+
borderWavePeriod: v(20, CY_WAVE),
|
|
135
276
|
labelColor: v("#000000", `${CY} 395`),
|
|
136
|
-
labelFont: v("sans-serif", `${CY} 370`),
|
|
277
|
+
labelFont: v("DejaVu Sans, sans-serif", `${CY} 370 (SansSerif, drawn in Java's face for it)`),
|
|
137
278
|
labelWeight: v("normal", `${CY} 370`),
|
|
138
279
|
labelItalic: v(false, `${CY} 370`),
|
|
139
280
|
labelSize: v(12, `${CY} 371`),
|
|
281
|
+
labelWrapWidth: v(200, `${CY} 372`),
|
|
282
|
+
labelWrapTrailingSpace: v(
|
|
283
|
+
true,
|
|
284
|
+
`${MEASURED}cx-ndex-90f78bcd: each word is measured with the space after it), Cytoscape 3.10.5`,
|
|
285
|
+
),
|
|
140
286
|
labelPosition: v("center", `${CY} 380`),
|
|
287
|
+
labelPadding: CYTOSCAPE_LABEL_PADDING,
|
|
288
|
+
labelLineHeight: CYTOSCAPE_LABEL_LINE_HEIGHT,
|
|
141
289
|
},
|
|
142
290
|
edge: {
|
|
143
291
|
color: v("#848484", `${CY} 431`),
|
|
144
292
|
width: v(2, `${CY} 417`),
|
|
145
293
|
lineStyle: v("solid", `${CY} 438`),
|
|
294
|
+
waveAmplitude: v(10, CY_WAVE),
|
|
295
|
+
wavePeriod: v(20, CY_WAVE),
|
|
146
296
|
opacity: v(1, `${CY} 423`),
|
|
147
297
|
sourceArrow: v("none", `${CY} 437`),
|
|
148
298
|
targetArrow: v("none", `${CY} 428`),
|
|
149
299
|
sourceArrowColor: v("#000000", `${CY} 432`),
|
|
150
300
|
targetArrowColor: v("#000000", `${CY} 432`),
|
|
151
301
|
labelColor: v("#000000", `${CY} 415`),
|
|
152
|
-
labelFont: v("sans-serif", `${CY} 439`),
|
|
302
|
+
labelFont: v("DejaVu Sans, sans-serif", `${CY} 439 (SansSerif, drawn in Java's face for it)`),
|
|
153
303
|
labelWeight: v("normal", `${CY} 439`),
|
|
154
304
|
labelItalic: v(false, `${CY} 439`),
|
|
155
305
|
labelSize: v(10, `${CY} 439`),
|
|
306
|
+
labelPadding: CYTOSCAPE_LABEL_PADDING,
|
|
307
|
+
labelLineHeight: CYTOSCAPE_LABEL_LINE_HEIGHT,
|
|
156
308
|
// EDGE_CURVED is true there, but it only rounds an edge's bends: an edge without bends is straight
|
|
157
309
|
curved: v(false, `${CY} 422`),
|
|
310
|
+
bendCurve: CYTOSCAPE_BEND_CURVE,
|
|
158
311
|
},
|
|
159
312
|
graph: { background: v("#ffffff", `${CY} 335`) },
|
|
160
313
|
derived: [{ kind: "labelFromColumn", column: "name", source: `${CY} 406-408` }],
|
|
@@ -163,6 +316,8 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
163
316
|
tool: "cytoscape-fallbacks",
|
|
164
317
|
version: "cytoscape-api develop (3.11)",
|
|
165
318
|
units: "px",
|
|
319
|
+
roundedCornerRadius: cornerCap("cytoscape-fallbacks"),
|
|
320
|
+
arrowhead: CYTOSCAPE_ARROWHEAD,
|
|
166
321
|
node: {
|
|
167
322
|
fill: v("#c80000", `${CYL} 83`),
|
|
168
323
|
fillOpacity: v(1, `${CYL} 273`),
|
|
@@ -171,24 +326,39 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
171
326
|
height: v(40, `${CYL} 163`),
|
|
172
327
|
borderColor: v("#000000", `${CYL} 230`),
|
|
173
328
|
borderWidth: v(2, `${CYL} 54`),
|
|
329
|
+
borderPosition: CYTOSCAPE_BORDER_INSIDE,
|
|
330
|
+
borderWaveAmplitude: v(10, CY_WAVE),
|
|
331
|
+
borderWavePeriod: v(20, CY_WAVE),
|
|
174
332
|
labelColor: v("#000000", `${CYL} 91`),
|
|
175
|
-
labelFont: v("sans-serif", `${CYL} 255`),
|
|
333
|
+
labelFont: v("DejaVu Sans, sans-serif", `${CYL} 255 (SansSerif, drawn in Java's face for it)`),
|
|
176
334
|
labelWeight: v("normal", `${CYL} 255`),
|
|
177
335
|
labelItalic: v(false, `${CYL} 255`),
|
|
178
336
|
labelSize: v(12, `${CYL} 55`),
|
|
337
|
+
labelWrapWidth: v(200, `${CYL} 196`),
|
|
338
|
+
labelWrapTrailingSpace: v(
|
|
339
|
+
true,
|
|
340
|
+
`${MEASURED}cx-ndex-90f78bcd: each word is measured with the space after it), Cytoscape 3.10.5`,
|
|
341
|
+
),
|
|
179
342
|
labelPosition: v("center", `${CYL} 205`),
|
|
343
|
+
labelPadding: CYTOSCAPE_LABEL_PADDING,
|
|
344
|
+
labelLineHeight: CYTOSCAPE_LABEL_LINE_HEIGHT,
|
|
180
345
|
},
|
|
181
346
|
edge: {
|
|
182
347
|
color: v("#404040", `${CYL} 469`),
|
|
183
348
|
width: v(1, `${CYL} 368`),
|
|
184
349
|
lineStyle: v("solid", `${CYL} 392`),
|
|
350
|
+
waveAmplitude: v(10, CY_WAVE),
|
|
351
|
+
wavePeriod: v(20, CY_WAVE),
|
|
185
352
|
sourceArrow: v("none", `${CYL} 487`),
|
|
186
353
|
targetArrow: v("none", `${CYL} 493`),
|
|
187
354
|
labelColor: v("#000000", `${CYL} 327`),
|
|
188
|
-
labelFont: v("sans-serif", `${CYL} 408`),
|
|
355
|
+
labelFont: v("DejaVu Sans, sans-serif", `${CYL} 408 (SansSerif, drawn in Java's face for it)`),
|
|
189
356
|
labelWeight: v("normal", `${CYL} 408`),
|
|
190
357
|
labelItalic: v(false, `${CYL} 408`),
|
|
191
358
|
labelSize: v(10, `${CYL} 416`),
|
|
359
|
+
labelPadding: CYTOSCAPE_LABEL_PADDING,
|
|
360
|
+
labelLineHeight: CYTOSCAPE_LABEL_LINE_HEIGHT,
|
|
361
|
+
bendCurve: CYTOSCAPE_BEND_CURVE,
|
|
192
362
|
},
|
|
193
363
|
graph: { background: v("#ffffff", `${CYL} 667`) },
|
|
194
364
|
derived: [],
|
|
@@ -197,6 +367,22 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
197
367
|
tool: "cytoscape-js",
|
|
198
368
|
version: "cytoscape.js 3.34.3",
|
|
199
369
|
units: "px",
|
|
370
|
+
roundedCornerRadius: cornerCap(),
|
|
371
|
+
arrowhead: {
|
|
372
|
+
// getArrowWidth, and the triangle's points at +-0.15, -0.3 of it
|
|
373
|
+
length: (size, width) => 0.3 * Math.max((width * 13.37) ** 0.9, 29) * size,
|
|
374
|
+
aspect: 1,
|
|
375
|
+
// a tee is 0.1 of the arrow width deep, the triangle 0.3 long; triangle-tee reaches back to its bar
|
|
376
|
+
// at 0.5, circle-triangle to 0.6 and triangle-cross to its cross line at 0.4 plus the line's width
|
|
377
|
+
shapes: {
|
|
378
|
+
tee: { length: 1 / 3, aspect: 3 },
|
|
379
|
+
"other:triangle-tee": { length: 5 / 3, aspect: 0.6 },
|
|
380
|
+
"other:triangle-cross": { length: 1.5, aspect: 0.66 },
|
|
381
|
+
"other:circle-triangle": { length: 2, aspect: 0.5 },
|
|
382
|
+
"other:chevron": { length: 2 / 3, aspect: 1.5 },
|
|
383
|
+
},
|
|
384
|
+
source: `${CYJS} 23497 (getArrowWidth), 22714-22716 (triangle), 22813-22814 (tee), 22627 (arrowShapeWidth)`,
|
|
385
|
+
},
|
|
200
386
|
node: {
|
|
201
387
|
fill: v("#999999", `${CYJS} 18536`),
|
|
202
388
|
fillOpacity: v(1, `${CYJS} 18538`),
|
|
@@ -206,17 +392,42 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
206
392
|
borderColor: v("#000000", `${CYJS} 18555`),
|
|
207
393
|
borderWidth: v(0, `${CYJS} 18557`),
|
|
208
394
|
borderStyle: v("solid", `${CYJS} 18558`),
|
|
395
|
+
borderPosition: v("center", `${CYJS} 18563`),
|
|
396
|
+
outerBorderColor: v("#999999", `${CYJS} 18564`),
|
|
397
|
+
// the underlay and the overlay draw nothing until an opacity is set; then these
|
|
398
|
+
underlayColor: v("#000000", `${CYJS} 18524`),
|
|
399
|
+
underlayPadding: v(10, `${CYJS} 18525`),
|
|
400
|
+
underlayShape: v("round-rectangle", `${CYJS} 18526`),
|
|
401
|
+
overlayColor: v("#000000", `${CYJS} 18519`),
|
|
402
|
+
overlayPadding: v(10, `${CYJS} 18520`),
|
|
403
|
+
overlayShape: v("round-rectangle", `${CYJS} 18521`),
|
|
209
404
|
opacity: v(1, `${CYJS} 18503`),
|
|
210
405
|
labelColor: v("#000000", `${CYJS} 18474`),
|
|
211
406
|
labelSize: v(16, `${CYJS} 18496`),
|
|
212
407
|
labelFont: v("Helvetica Neue, Helvetica, sans-serif", `${CYJS} 18493`),
|
|
213
408
|
labelWeight: v("normal", `${CYJS} 18495`),
|
|
214
409
|
labelPosition: v("top", `${CYJS} 18470-18471`),
|
|
410
|
+
// text-wrap: wrap measures `subline + word + wordSeparator` against text-max-width; ponytail: a
|
|
411
|
+
// line's last word has no separator there, where graphty counts a space after it too
|
|
412
|
+
labelWrapTrailingSpace: v(true, `${CYJS} 25218`),
|
|
215
413
|
},
|
|
216
414
|
edge: {
|
|
217
415
|
color: v("#999999", `${CYJS} 18639`),
|
|
218
416
|
sourceArrowColor: v("#999999", `${CYJS} 18639`),
|
|
219
417
|
targetArrowColor: v("#999999", `${CYJS} 18639`),
|
|
418
|
+
outlineColor: v("#000000", `${CYJS} 18644`),
|
|
419
|
+
underlayColor: v("#000000", `${CYJS} 18524`),
|
|
420
|
+
underlayPadding: v(10, `${CYJS} 18525`),
|
|
421
|
+
overlayColor: v("#000000", `${CYJS} 18519`),
|
|
422
|
+
overlayPadding: v(10, `${CYJS} 18520`),
|
|
423
|
+
gradientKind: v("none", `${CYJS} 18640 (line-fill solid)`),
|
|
424
|
+
midSourceArrowColor: v("#999999", `${CYJS} 18639`),
|
|
425
|
+
midTargetArrowColor: v("#999999", `${CYJS} 18639`),
|
|
426
|
+
// an edge's label is centered on the line's middle (recalculateEdgeLabelProjections)
|
|
427
|
+
labelPosition: v("center", `${CYJS} 24942`),
|
|
428
|
+
// a source or target label is centered on the line where it leaves its node, unless offset
|
|
429
|
+
sourceLabelOffset: v(0, `${CYJS} 18511, 18515`),
|
|
430
|
+
targetLabelOffset: v(0, `${CYJS} 18511, 18515`),
|
|
220
431
|
width: v(3, `${CYJS} 18711`),
|
|
221
432
|
lineStyle: v("solid", `${CYJS} 18638`),
|
|
222
433
|
opacity: v(1, `${CYJS} 18503`),
|
|
@@ -224,28 +435,56 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
224
435
|
targetArrow: v("none", `${CYJS} 18671`),
|
|
225
436
|
arrowSize: v(1, `${CYJS} 18660`),
|
|
226
437
|
curved: v(false, `${CYJS} 18658`),
|
|
438
|
+
// control-point-step-size 40: a quadratic's middle is half as far out as its control point
|
|
439
|
+
fanSpacing: v(20, `${CYJS} 18647`),
|
|
227
440
|
labelColor: v("#000000", `${CYJS} 18474`),
|
|
228
441
|
labelSize: v(16, `${CYJS} 18496`),
|
|
229
442
|
labelFont: v("Helvetica Neue, Helvetica, sans-serif", `${CYJS} 18493`),
|
|
230
443
|
labelWeight: v("normal", `${CYJS} 18495`),
|
|
231
444
|
},
|
|
232
|
-
graph: {
|
|
445
|
+
graph: {
|
|
446
|
+
// the canvas is cleared to transparent, so the page's default white shows through
|
|
447
|
+
background: v("#ffffff", `${CYJS} 31537 (clearCanvas: clearRect)`),
|
|
448
|
+
},
|
|
233
449
|
derived: [],
|
|
234
450
|
},
|
|
235
451
|
{
|
|
236
452
|
tool: "graphviz",
|
|
237
453
|
version: "graphviz main (16.1.0)",
|
|
238
454
|
units: "px",
|
|
455
|
+
roundedCornerRadius: cornerCap("graphviz"),
|
|
456
|
+
arrowhead: {
|
|
457
|
+
// ARROW_LENGTH 10 and the normal arrow's half width 0.35 of its length
|
|
458
|
+
length: (size) => 10 * size,
|
|
459
|
+
aspect: 0.7,
|
|
460
|
+
// each arrow type's length factor and the half width its arrow_type_* function draws
|
|
461
|
+
shapes: {
|
|
462
|
+
tee: { length: 0.2, aspect: 5 },
|
|
463
|
+
square: { length: 0.8, aspect: 1 },
|
|
464
|
+
diamond: { length: 1.2, aspect: 2 / 3 },
|
|
465
|
+
"diamond-open": { length: 1.2, aspect: 2 / 3 },
|
|
466
|
+
circle: { length: 0.8, aspect: 1 },
|
|
467
|
+
"circle-open": { length: 0.8, aspect: 1 },
|
|
468
|
+
crow: { length: 1, aspect: 0.9 },
|
|
469
|
+
vee: { length: 1, aspect: 0.9 },
|
|
470
|
+
// the arc of curve and icurve, a half circle of radius half the arrow's length across its
|
|
471
|
+
// stem (the stem is the line, carried on to the tip)
|
|
472
|
+
"other:curve": { length: 0.5, aspect: 2 },
|
|
473
|
+
"other:inv-curve": { length: 0.5, aspect: 2 },
|
|
474
|
+
},
|
|
475
|
+
source: "graphviz lib/common/arrows.c (ARROW_LENGTH 10, Arrowtypes lenfact, arrow_type_normal 0.35, arrow_type_crow 0.45, arrow_type_tee, arrow_type_box 0.4, arrow_type_diamond 1/3, arrow_type_dot, arrow_type_curve)",
|
|
476
|
+
},
|
|
239
477
|
node: {
|
|
240
478
|
fillOpacity: v(0, `${GV}/style/ (default "", not filled)`),
|
|
241
479
|
borderColor: v("#000000", `${GV}/color/`),
|
|
242
480
|
borderWidth: v(1, `${GV}/penwidth/; lib/common/const.h line 77`),
|
|
481
|
+
borderPosition: v("center", `${MEASURED}dot-synth-nodes), Graphviz strokes the node's own outline`),
|
|
243
482
|
shape: v("ellipse", `${GV}/shape/; lib/common/const.h line 76`),
|
|
244
483
|
width: v(54, `${GV}/width/ (0.75 inch); lib/common/const.h line 72`),
|
|
245
484
|
height: v(36, `${GV}/height/ (0.5 inch); lib/common/const.h line 73`),
|
|
246
485
|
labelColor: v("#000000", `${GV}/fontcolor/`),
|
|
247
486
|
labelSize: v(14, `${GV}/fontsize/; lib/common/const.h line 61`),
|
|
248
|
-
labelFont: v("Times
|
|
487
|
+
labelFont: v("Times, serif", `${GV}/fontname/ (Times-Roman); lib/common/const.h line 67`),
|
|
249
488
|
labelPosition: v("center", `${GV}/labelloc/`),
|
|
250
489
|
},
|
|
251
490
|
edge: {
|
|
@@ -257,9 +496,14 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
257
496
|
arrowSize: v(1, `${GV}/arrowsize/`),
|
|
258
497
|
labelColor: v("#000000", `${GV}/fontcolor/`),
|
|
259
498
|
labelSize: v(14, `${GV}/fontsize/`),
|
|
260
|
-
labelFont: v("Times
|
|
499
|
+
labelFont: v("Times, serif", `${GV}/fontname/ (Times-Roman)`),
|
|
500
|
+
},
|
|
501
|
+
graph: {
|
|
502
|
+
background: v(
|
|
503
|
+
"#ffffff",
|
|
504
|
+
`${GV}/bgcolor/ (default unset); lib/common/emit.c emit_background (an unset bgcolor paints the page white)`,
|
|
505
|
+
),
|
|
261
506
|
},
|
|
262
|
-
graph: {},
|
|
263
507
|
derived: [
|
|
264
508
|
{ kind: "labelFromId", source: String.raw`${GV}/label/ (default \N, the node name)` },
|
|
265
509
|
{
|
|
@@ -273,14 +517,17 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
273
517
|
tool: "yed",
|
|
274
518
|
version: "yEd / yFiles for Java 2.19",
|
|
275
519
|
units: "px",
|
|
520
|
+
roundedCornerRadius: cornerCap("yed"),
|
|
521
|
+
arrowhead: DRAWIO_ARROWHEAD,
|
|
276
522
|
node: {
|
|
277
523
|
fill: v("#ffcc00", `${YED_QA}; ${YED_CORPUS} of y:Fill color`),
|
|
278
524
|
shape: v("rectangle", "yFiles for Java 2.19 ShapeNodeRealizer API docs"),
|
|
279
525
|
borderColor: v("#000000", `${YED_CORPUS} of y:BorderStyle`),
|
|
280
526
|
borderWidth: v(1, `${YED_CORPUS} of y:BorderStyle`),
|
|
281
527
|
borderStyle: v("solid", `${YED_CORPUS} of y:BorderStyle`),
|
|
528
|
+
borderPosition: v("center", `${MEASURED}graphml-*, draw.io 32.4.1 standing in for yEd)`),
|
|
282
529
|
labelColor: v("#000000", `${YED_CORPUS} of y:NodeLabel`),
|
|
283
|
-
labelFont: v("
|
|
530
|
+
labelFont: v("DejaVu Sans, sans-serif", `${YED_CORPUS} of y:NodeLabel (Dialog's face)`),
|
|
284
531
|
labelSize: v(12, `${YED_CORPUS} of y:NodeLabel`),
|
|
285
532
|
labelWeight: v("normal", `${YED_CORPUS} of y:NodeLabel`),
|
|
286
533
|
labelPosition: v("center", `${YED_CORPUS} of y:NodeLabel`),
|
|
@@ -292,24 +539,39 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
292
539
|
sourceArrow: v("none", `${YED_EDGE} (defaults to Arrow.NONE)`),
|
|
293
540
|
targetArrow: v("none", `${YED_EDGE} (defaults to Arrow.NONE)`),
|
|
294
541
|
labelColor: v("#000000", `${YED_CORPUS} of y:EdgeLabel`),
|
|
295
|
-
labelFont: v("
|
|
542
|
+
labelFont: v("DejaVu Sans, sans-serif", `${YED_CORPUS} of y:EdgeLabel (Dialog's face)`),
|
|
296
543
|
labelSize: v(12, `${YED_CORPUS} of y:EdgeLabel`),
|
|
297
544
|
},
|
|
298
|
-
graph: {
|
|
545
|
+
graph: {
|
|
546
|
+
background: v(
|
|
547
|
+
"#ffffff",
|
|
548
|
+
`${YED_BG} (setColor: "By default the background color is white"); yEd manual, Preferences, Background tab`,
|
|
549
|
+
),
|
|
550
|
+
},
|
|
299
551
|
derived: [],
|
|
300
552
|
},
|
|
301
553
|
{
|
|
302
554
|
tool: "yfiles3",
|
|
303
555
|
version: "yFiles for HTML (API docs retrieved 2026-10-11)",
|
|
304
556
|
units: "px",
|
|
557
|
+
roundedCornerRadius: cornerCap("yfiles3"),
|
|
558
|
+
arrowhead: DRAWIO_ARROWHEAD,
|
|
305
559
|
node: {
|
|
306
560
|
fill: v("#ffffff", `${Y3} ShapeNodeStyle fill`),
|
|
307
561
|
borderColor: v("#000000", `${Y3} ShapeNodeStyle stroke`),
|
|
308
562
|
borderWidth: v(1, `${Y3} ShapeNodeStyle stroke`),
|
|
563
|
+
borderPosition: v(
|
|
564
|
+
"center",
|
|
565
|
+
`${MEASURED}graphml-yfiles-html-*, draw.io 32.4.1 standing in for yFiles)`,
|
|
566
|
+
),
|
|
309
567
|
shape: v("rectangle", `${Y3} ShapeNodeStyle shape`),
|
|
310
568
|
labelColor: v("#000000", `${Y3} LabelStyle textFill`),
|
|
311
569
|
labelFont: v("Arial", `${Y3} LabelStyle font`),
|
|
312
570
|
labelSize: v(12, `${Y3} LabelStyle font`),
|
|
571
|
+
labelPosition: v(
|
|
572
|
+
"center",
|
|
573
|
+
`${Y3} IGraph.nodeDefaults labels layoutParameter (InteriorLabelModel center)`,
|
|
574
|
+
),
|
|
313
575
|
},
|
|
314
576
|
edge: {
|
|
315
577
|
color: v("#000000", `${Y3} PolylineEdgeStyle stroke`),
|
|
@@ -320,32 +582,58 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
320
582
|
labelFont: v("Arial", `${Y3} LabelStyle font`),
|
|
321
583
|
labelSize: v(12, `${Y3} LabelStyle font`),
|
|
322
584
|
},
|
|
323
|
-
graph: {
|
|
585
|
+
graph: {
|
|
586
|
+
background: v("#ffffff", `${Y3} GraphComponent (a transparent canvas over the page's white)`),
|
|
587
|
+
},
|
|
324
588
|
derived: [],
|
|
325
589
|
},
|
|
326
590
|
{
|
|
327
591
|
tool: "gephi",
|
|
328
592
|
version: "gephi 0.11.4-SNAPSHOT",
|
|
329
593
|
units: "relative",
|
|
594
|
+
roundedCornerRadius: cornerCap("gephi"),
|
|
595
|
+
arrowhead: {
|
|
596
|
+
length: (size, width) => 3.25 * width * size,
|
|
597
|
+
aspect: 0.9,
|
|
598
|
+
source: `${MEASURED}gexf-synth-nx-viz, widths 1 to 4), Gephi Toolkit 0.11.3`,
|
|
599
|
+
},
|
|
330
600
|
node: {
|
|
331
601
|
fill: v("#000000", "gephi/graphstore a4c790b2343e NodeImpl.java line 322"),
|
|
332
|
-
width: v(
|
|
333
|
-
height: v(
|
|
602
|
+
width: v(20, `${GEPHI} AbstractProcessor.java lines 195-198 (size 10 is a radius)`),
|
|
603
|
+
height: v(20, `${GEPHI} AbstractProcessor.java lines 195-198 (size 10 is a radius)`),
|
|
334
604
|
shape: v("ellipse", "GEXF 1.3 viz shape default disc; Preview NodeRenderer"),
|
|
605
|
+
borderPosition: v(
|
|
606
|
+
"inside",
|
|
607
|
+
`${MEASURED}gexf-specimen-node-fills-borders-p3), Gephi Toolkit 0.11.3: the border is stroked on a circle of radius size - border / 2`,
|
|
608
|
+
),
|
|
335
609
|
labelPosition: v(
|
|
336
610
|
"center",
|
|
337
611
|
`${GEPHI} NodeLabelRenderer.java (a label is drawn centered on its node)`,
|
|
338
612
|
),
|
|
613
|
+
// a node drawn under another still shows its label (gexf-cns-wos n5 under n109: "Borner, K")
|
|
614
|
+
labelOnTop: v(
|
|
615
|
+
true,
|
|
616
|
+
`${GEPHI} PreviewController (the node label items are drawn after every node); Gephi Toolkit 0.11.3 SVG export: g#node-labels after g#nodes`,
|
|
617
|
+
),
|
|
339
618
|
},
|
|
340
619
|
edge: {
|
|
341
620
|
sourceArrow: v("none", `${GEPHI} DefaultPreset.java line 62`),
|
|
342
621
|
targetArrow: v("none", `${GEPHI} DefaultPreset.java line 62`),
|
|
622
|
+
curved: v(true, `${GEPHI} DefaultPreset.java (EDGE_CURVED true); Gephi Toolkit 0.11.3 SVG export`),
|
|
623
|
+
fanned: v(
|
|
624
|
+
false,
|
|
625
|
+
`${GEPHI} EdgeRenderer.java (each curved edge bows left of its own direction, siblings ignored); Gephi Toolkit 0.11.3 SVG export`,
|
|
626
|
+
),
|
|
627
|
+
arcRadius: v(
|
|
628
|
+
1 / 1.2,
|
|
629
|
+
`${GEPHI} EdgeRenderer.java (CurvedEdgeRenderer: an arc through both node centers of radius length / ARC_CURVENESS, default 1.2)`,
|
|
630
|
+
),
|
|
343
631
|
},
|
|
344
632
|
graph: { background: v("#ffffff", `${GEPHI} VizConfig.java line 111`) },
|
|
345
633
|
derived: [
|
|
346
634
|
{
|
|
347
|
-
kind: "
|
|
348
|
-
source: `${GEPHI}
|
|
635
|
+
kind: "colorFromEndNodes",
|
|
636
|
+
source: `${GEPHI} DefaultPreset.java (EDGE_COLOR EdgeColor.Mode.MIXED); Gephi Toolkit 0.11.3 SVG export`,
|
|
349
637
|
},
|
|
350
638
|
{
|
|
351
639
|
kind: "widthFromWeight",
|
|
@@ -362,26 +650,62 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
362
650
|
tool: "vis-network",
|
|
363
651
|
version: "vis-network 10.1.2",
|
|
364
652
|
units: "px",
|
|
653
|
+
roundedCornerRadius: cornerCap("vis-network"),
|
|
654
|
+
arrowhead: {
|
|
655
|
+
// EdgeBase.getArrowData: 15 * scaleFactor + 3 * width; ArrowHead's points at -1, +-0.3
|
|
656
|
+
length: (size, width) => 15 * size + 3 * width,
|
|
657
|
+
aspect: 0.6,
|
|
658
|
+
// its bar is 0.15 of the arrow's length deep and as wide as the arrow is long; its box is 0.6 of the
|
|
659
|
+
// length square, its circle 0.8 of the length across, and its curve and inv_curve arcs have a
|
|
660
|
+
// radius of 0.4 of it
|
|
661
|
+
shapes: {
|
|
662
|
+
tee: { length: 0.15, aspect: 1 / 0.15 },
|
|
663
|
+
square: { length: 0.6, aspect: 1 },
|
|
664
|
+
circle: { length: 0.8, aspect: 1 },
|
|
665
|
+
"other:curve": { length: 0.4, aspect: 2 },
|
|
666
|
+
"other:inv-curve": { length: 0.4, aspect: 2 },
|
|
667
|
+
},
|
|
668
|
+
source: `${VIS} EdgeBase.getArrowData, ArrowHead, Bar, Box, Circle, Curve, InvertedCurve (measured on json-vis-unix, json-vis-world, json-vis-synth)`,
|
|
669
|
+
},
|
|
670
|
+
nodeBorderOnScreen: v(
|
|
671
|
+
true,
|
|
672
|
+
`${VIS9} NodeBase.initContextForDraw and performStroke: borderWidth / view.scale, at most the node's width`,
|
|
673
|
+
),
|
|
365
674
|
node: {
|
|
366
675
|
fill: v("#97c2fc", `${VIS} lines 32986-33110`),
|
|
367
676
|
borderColor: v("#2b7ce9", `${VIS} lines 32986-33110`),
|
|
368
677
|
borderWidth: v(1, `${VIS} lines 32986-33110`),
|
|
678
|
+
// a canvas stroke along the node's own outline, half in and half out (NodeBase.performStroke)
|
|
679
|
+
borderPosition: v("center", `${VIS9} NodeBase.performStroke: ctx.stroke() on the shape's own path`),
|
|
369
680
|
shape: v("ellipse", `${VIS} lines 32986-33110`),
|
|
370
681
|
labelColor: v("#343434", `${VIS} lines 32986-33110`),
|
|
371
682
|
labelSize: v(14, `${VIS} lines 32986-33110`),
|
|
372
683
|
labelFont: v("arial", `${VIS} lines 32986-33110`),
|
|
373
684
|
labelPosition: v("center", `${VIS} lines 32986-33110`),
|
|
685
|
+
// Label.draw returns before drawing when the font is under drawThreshold - 1 px on screen
|
|
686
|
+
labelMinScreenSize: v(4, `${VIS9} Label.draw, nodes scaling.label.drawThreshold 5`),
|
|
374
687
|
},
|
|
375
688
|
edge: {
|
|
376
689
|
width: v(1, `${VIS} lines 25160-25290`),
|
|
690
|
+
outlineColor: v("#6f6f6f", `${VIS} lines 25160-25290 (background.color)`),
|
|
377
691
|
lineStyle: v("solid", `${VIS} lines 25160-25290 (dashes false)`),
|
|
378
692
|
sourceArrow: v("none", `${VIS} lines 25160-25290`),
|
|
379
693
|
targetArrow: v("none", `${VIS} lines 25160-25290`),
|
|
380
694
|
labelColor: v("#343434", `${VIS} lines 25160-25290`),
|
|
381
695
|
labelSize: v(14, `${VIS} lines 25160-25290`),
|
|
382
696
|
labelFont: v("arial", `${VIS} lines 25160-25290`),
|
|
697
|
+
labelMinScreenSize: v(4, `${VIS9} Label.draw, edges scaling.label.drawThreshold 5`),
|
|
698
|
+
// an edge label is drawn on the line, its letters stroked white 2 px wide (font.strokeWidth 2)
|
|
699
|
+
labelPosition: v("center", `${VIS9} Edge.drawLabel (the label at the line's middle point)`),
|
|
700
|
+
labelOutlineColor: v("#ffffff", `${VIS} lines 25160-25290 (font.strokeColor)`),
|
|
701
|
+
labelOutlineWidth: v(2, `${VIS} lines 25160-25290 (font.strokeWidth)`),
|
|
702
|
+
},
|
|
703
|
+
graph: {
|
|
704
|
+
background: v(
|
|
705
|
+
"#ffffff",
|
|
706
|
+
"vis-network 9.1.9 vis-network.esm.js line 32378 (clearRect: the page's white shows through)",
|
|
707
|
+
),
|
|
383
708
|
},
|
|
384
|
-
graph: {},
|
|
385
709
|
derived: [
|
|
386
710
|
{ kind: "labelFromColumn", column: "label", source: `${VIS} lines 32986-33110` },
|
|
387
711
|
{ kind: "colorFromSourceNode", source: `${VIS} lines 25160-25290 (color.inherit "from")` },
|
|
@@ -389,50 +713,107 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
389
713
|
},
|
|
390
714
|
{
|
|
391
715
|
tool: "sigma",
|
|
392
|
-
version: "sigma
|
|
716
|
+
version: "sigma 4.0.1",
|
|
393
717
|
units: "relative",
|
|
718
|
+
roundedCornerRadius: cornerCap("sigma"),
|
|
394
719
|
node: {
|
|
395
|
-
fill: v("#
|
|
720
|
+
fill: v("#666666", `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (color "#666")`),
|
|
396
721
|
shape: v("ellipse", `${SIGMA}/settings.ts lines 119-126`),
|
|
397
|
-
width: v(
|
|
398
|
-
height: v(
|
|
722
|
+
width: v(20, `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (size 10 is a radius)`),
|
|
723
|
+
height: v(20, `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (size 10 is a radius)`),
|
|
399
724
|
labelColor: v("#000000", `${SIGMA}/settings.ts lines 119-126`),
|
|
400
725
|
labelFont: v("Arial", `${SIGMA}/settings.ts lines 119-126`),
|
|
401
|
-
labelSize
|
|
726
|
+
// sigma 4 sets every node's labelSize to 12 before its styles run; the 14 in sigma.esm.js
|
|
727
|
+
// (`defaultLabelSize`) is only reached by a node whose styles cleared it.
|
|
728
|
+
labelSize: v(12, `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (labelSize 12)`),
|
|
402
729
|
labelWeight: v("normal", `${SIGMA}/settings.ts lines 119-126`),
|
|
730
|
+
labelPosition: v("right", `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (labelPosition "right")`),
|
|
731
|
+
// sigma keeps the largest node's label per 100 px cell of its first framing; it avoids no overlap
|
|
732
|
+
labelGridCellSize: v(
|
|
733
|
+
100,
|
|
734
|
+
`${SIGMA4} LabelGrid.getLabelsToDisplay (labelDensity 1, labelGridCellSize 100)`,
|
|
735
|
+
),
|
|
736
|
+
labelOnTop: v(true, `${SIGMA4} labels are drawn by their own program after every node and edge`),
|
|
737
|
+
// a node's label is drawn only while its node's rendered size (a radius) is 6 px or more
|
|
738
|
+
labelMinNodeScreenSize: v(12, `${SIGMA4} renderLabels (labelRenderedSizeThreshold 6, a radius)`),
|
|
403
739
|
},
|
|
404
740
|
edge: {
|
|
405
741
|
color: v("#cccccc", `${SIGMA}/settings.ts lines 119-126`),
|
|
406
|
-
|
|
742
|
+
// an edge of sigma's default size 1, drawn half as wide as its size (readSigmaRow)
|
|
743
|
+
width: v(0.5, `${SIGMA4} DEFAULT_EDGE_DISPLAY_DATA (size 1)`),
|
|
744
|
+
// an edge label (renderEdgeLabels) is drawn at its line's middle, 12 px, in #666
|
|
745
|
+
labelColor: v("#666666", `${SIGMA4} DEFAULT_EDGE_DISPLAY_DATA (labelColor "#666")`),
|
|
746
|
+
labelSize: v(12, "sigma 4.0.1 dist/sigma.esm.js line 2816 (DEFAULT_EDGE_LABEL_SIZE)"),
|
|
747
|
+
labelPosition: v("center", "sigma 4.0.1 dist/sigma.esm.js line 3647 (the middle of its two ends)"),
|
|
407
748
|
sourceArrow: v("none", `${SIGMA}/settings.ts lines 119-126 (type line)`),
|
|
408
749
|
targetArrow: v("none", `${SIGMA}/settings.ts lines 119-126 (type line)`),
|
|
750
|
+
// no edge is drawn thinner on screen, whatever its size (the shader's max(size, minEdgeThickness 1.7),
|
|
751
|
+
// drawn half as wide as a node of that size is in radius, as readSigmaRow halves a size)
|
|
752
|
+
minScreenWidth: v(
|
|
753
|
+
0.85,
|
|
754
|
+
`${SIGMA4} edge program (pixelsThickness = max(size, minEdgeThickness 1.7))`,
|
|
755
|
+
),
|
|
756
|
+
},
|
|
757
|
+
graph: {
|
|
758
|
+
background: v(
|
|
759
|
+
"#ffffff",
|
|
760
|
+
"sigma 4.0.1 dist/sigma.esm.js line 5202 (gl.clear to transparent: the page's white shows through)",
|
|
761
|
+
),
|
|
409
762
|
},
|
|
410
|
-
graph: {},
|
|
411
763
|
derived: [{ kind: "labelFromColumn", column: "label", source: `${SIGMA}/settings.ts lines 119-126` }],
|
|
412
764
|
},
|
|
413
765
|
{
|
|
414
766
|
tool: "pajek",
|
|
415
767
|
version: "Pajek 6.02",
|
|
416
|
-
|
|
768
|
+
// PostScript points, the unit of Pajek's EPS and SVG export (formats/pajek/styles.ts)
|
|
769
|
+
units: "px",
|
|
770
|
+
roundedCornerRadius: cornerCap("pajek"),
|
|
771
|
+
// a line's `s` (arrowSize) scales Pajek's arrowhead whatever its width: 6 x s long (tip to its back
|
|
772
|
+
// corners) and 5 x s wide
|
|
773
|
+
arrowhead: {
|
|
774
|
+
length: (size) => 6 * size,
|
|
775
|
+
aspect: 5 / 6,
|
|
776
|
+
source: `${PAJEK_SVG}specimen-arrows: s 0.5, 1, 2, 3 and 5 draw arrowheads 3, 6, 12, 18 and 30 long, 2.5, 5, 10, 15 and 25 wide; football: s 4 and 9)`,
|
|
777
|
+
},
|
|
417
778
|
node: {
|
|
418
779
|
shape: v("ellipse", `${PAJEK} p. 85`),
|
|
419
780
|
opacity: v(1, `${PAJEK} p. 87`),
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
781
|
+
// Pajek 6.02's own defaults, as its SVG export draws a vertex and label the file gives no
|
|
782
|
+
// parameters for (the manual names these settings but not their values)
|
|
783
|
+
borderColor: v("#660000", `${PAJEK_SVG}football, kdorola: every vertex without bc)`),
|
|
784
|
+
borderWidth: v(0.5, `${PAJEK_SVG}football, kdorola: every vertex without bw)`),
|
|
785
|
+
// an SVG stroke along the vertex's own outline, half in and half out
|
|
786
|
+
borderPosition: v(
|
|
787
|
+
"center",
|
|
788
|
+
`${PAJEK_SVG}specimen-node-fills-borders-p3: bw 8 draws a vertex of size 36 44 across)`,
|
|
789
|
+
),
|
|
790
|
+
width: v(20, `${PAJEK_SVG}football, iliad: a vertex without s_size, x_fact or y_fact)`),
|
|
791
|
+
height: v(20, `${PAJEK_SVG}football, iliad: a vertex without s_size, x_fact or y_fact)`),
|
|
792
|
+
fill: v("#ffd9bc", `${PAJEK_SVG}football, kdorola: every vertex without ic)`),
|
|
793
|
+
labelColor: v("#ad0000", `${PAJEK_SVG}football, 1crn: every label without lc)`),
|
|
794
|
+
labelSize: v(15, `${PAJEK_SVG}football, 1crn: every label without fos)`),
|
|
795
|
+
labelFont: v("Arial", `${PAJEK_SVG}football, 1crn: every label without font)`),
|
|
796
|
+
labelWeight: v("bold", `${PAJEK_SVG}football, 1crn: every label is bold)`),
|
|
797
|
+
// the text starts 20 from the center at lphi 285 and runs to the right, its baseline through
|
|
798
|
+
// that point: its left edge's middle at 20 cos 285 across and 20 sin 285 less 0.3465 of its
|
|
799
|
+
// size down (formats/pajek/styles.ts readLabelPosition)
|
|
800
|
+
labelPosition: v("center", `${PAJEK_SVG}football, 1crn, specimen-labels: lr 20 lphi 285)`),
|
|
801
|
+
labelOffsetX: v(5.176380902, `${PAJEK_SVG}football, 1crn, specimen-labels: lr 20 lphi 285)`),
|
|
802
|
+
labelOffsetY: v(14.121016526, `${PAJEK_SVG}football, 1crn, specimen-labels: lr 20 lphi 285)`),
|
|
803
|
+
labelShiftX: v(0.5, `${PAJEK_SVG}football, 1crn, specimen-labels: text-anchor start)`),
|
|
424
804
|
},
|
|
425
805
|
edge: {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
// of the drawing was scaled by, and a border 0.2 wide was drawn far too thin to see.
|
|
806
|
+
// an edge (undirected) is drawn twice the width of an arc; the arc rule below sets an arc's
|
|
807
|
+
width: v(2, `${PAJEK_SVG}1crn, lin-rel4, synth-vertices: edges without w; c: w 0.5 drawn 1)`),
|
|
808
|
+
color: v("#007091", `${PAJEK_SVG}1crn, lin-rel4, c: edges without c)`),
|
|
430
809
|
lineStyle: v("solid", `${PAJEK} p. 90`),
|
|
431
810
|
opacity: v(1, `${PAJEK} p. 87`),
|
|
432
811
|
sourceArrow: v("none", `${PAJEK} p. 91`),
|
|
433
812
|
targetArrow: v("none", `${PAJEK} p. 91 (edges have none)`),
|
|
434
813
|
},
|
|
435
|
-
graph: {
|
|
814
|
+
graph: {
|
|
815
|
+
background: v("#ffffff", `${PAJEK}, Draw window (assumed: a white background)`),
|
|
816
|
+
},
|
|
436
817
|
derived: [
|
|
437
818
|
{ kind: "labelFromColumn", column: "label", source: `${PAJEK}, vertex labels (drawn by default)` },
|
|
438
819
|
{ kind: "targetArrowOnDirected", arrow: "triangle", source: `${PAJEK} p. 91 (arcs)` },
|
|
@@ -442,6 +823,13 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
442
823
|
tool: "ogdf",
|
|
443
824
|
version: "ogdf master 1a40505ac006",
|
|
444
825
|
units: "px",
|
|
826
|
+
roundedCornerRadius: cornerCap("ogdf"),
|
|
827
|
+
// OGDF's arrowhead is three times its line's width long and half as wide as it is long
|
|
828
|
+
arrowhead: {
|
|
829
|
+
length: (size, width) => 3 * width * size,
|
|
830
|
+
aspect: 0.5,
|
|
831
|
+
source: `${MEASURED}gml-specimen-arrows-p5.svg: lineWidth 1, 1.5 and 3 draw arrowheads 3, 4.5 and 9 long, 1.5, 2.25 and 4.5 wide)`,
|
|
832
|
+
},
|
|
445
833
|
node: {
|
|
446
834
|
fill: v("#ffffff", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
447
835
|
shape: v("rectangle", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
@@ -450,19 +838,29 @@ export const TOOL_DEFAULTS: ReadonlyMap<StyleTool, ToolDefaults> = new Map<Style
|
|
|
450
838
|
borderColor: v("#000000", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
451
839
|
borderWidth: v(1, `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
452
840
|
borderStyle: v("solid", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
841
|
+
// GraphIO::drawSVG's default SVGSettings: every label in one font, centered on its node
|
|
842
|
+
labelColor: v("#000000", `${OGDF_SVG}fill #000000)`),
|
|
843
|
+
labelFont: v("Arial", `${OGDF_SVG}font-family Arial)`),
|
|
844
|
+
labelSize: v(10, `${OGDF_SVG}font-size 10)`),
|
|
845
|
+
labelPosition: v("center", `${OGDF_SVG}text-anchor middle at the node's center)`),
|
|
453
846
|
},
|
|
454
847
|
edge: {
|
|
455
848
|
color: v("#000000", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
456
849
|
width: v(1, `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
457
850
|
lineStyle: v("solid", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
851
|
+
labelColor: v("#000000", `${OGDF_SVG}fill #000000)`),
|
|
852
|
+
labelFont: v("Arial", `${OGDF_SVG}font-family Arial)`),
|
|
853
|
+
labelSize: v(10, `${OGDF_SVG}font-size 10)`),
|
|
854
|
+
labelPosition: v("center", `${OGDF_SVG}text-anchor middle on the line, dominant-baseline middle)`),
|
|
458
855
|
},
|
|
459
|
-
graph: {},
|
|
856
|
+
graph: { background: v("#ffffff", `${OGDF_SVG}no background: the page's white shows through)`) },
|
|
460
857
|
derived: [],
|
|
461
858
|
},
|
|
462
859
|
{
|
|
463
860
|
tool: "networkx",
|
|
464
861
|
version: "networkx 3.7 (main 6da4704cbf32)",
|
|
465
862
|
units: "px",
|
|
863
|
+
roundedCornerRadius: cornerCap("networkx"),
|
|
466
864
|
node: {
|
|
467
865
|
fill: v("#1f78b4", `${NX} 1378`),
|
|
468
866
|
fillOpacity: v(1, `${NX} 549`),
|