@graphty/graph-io 0.3.48 → 0.3.50
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-C2riR4NT.js → approximations-BRXsll0T.js} +2 -2
- package/dist/chunks/{approximations-C2riR4NT.js.map → approximations-BRXsll0T.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-Cu22ewuS.js → block-yl0f_qLO.js} +931 -164
- package/dist/chunks/block-yl0f_qLO.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-CV_Bhcyi.js → codes-BE2xir2k.js} +6 -2
- package/dist/chunks/codes-BE2xir2k.js.map +1 -0
- package/dist/chunks/{constants-D0LqcsLJ.js → constants-CKkYLPtt.js} +2 -2
- package/dist/chunks/{constants-D0LqcsLJ.js.map → constants-CKkYLPtt.js.map} +1 -1
- package/dist/chunks/{context-cgmmOxZ2.js → context-DizmppHy.js} +5 -4
- package/dist/chunks/{context-cgmmOxZ2.js.map → context-DizmppHy.js.map} +1 -1
- 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-BiQsnMTb.js → credentials-CmvJXYeH.js} +67 -16
- package/dist/chunks/credentials-CmvJXYeH.js.map +1 -0
- package/dist/chunks/{cx-export-BEeF6ymo.js → cx-export-Bt6NoqTQ.js} +3 -3
- package/dist/chunks/{cx-export-BEeF6ymo.js.map → cx-export-Bt6NoqTQ.js.map} +1 -1
- package/dist/chunks/descriptor-B28U25x4.js +60 -0
- package/dist/chunks/descriptor-B28U25x4.js.map +1 -0
- package/dist/chunks/{descriptor-BJ-W0Jd-.js → descriptor-Dhez_Cew.js} +11 -2
- package/dist/chunks/descriptor-Dhez_Cew.js.map +1 -0
- package/dist/chunks/{emit-CD8xnY8s.js → emit-7Jkpg0yd.js} +1788 -133
- package/dist/chunks/emit-7Jkpg0yd.js.map +1 -0
- package/dist/chunks/{escape-DH2Egt-l.js → escape-CuCIzNMB.js} +8 -8
- package/dist/chunks/{escape-DH2Egt-l.js.map → escape-CuCIzNMB.js.map} +1 -1
- package/dist/chunks/{export-CZ7VRm4I.js → export-Cha4dRFz.js} +45 -387
- package/dist/chunks/export-Cha4dRFz.js.map +1 -0
- package/dist/chunks/{exporter-ChjL5fmP.js → exporter-1Ajud15J.js} +9 -8
- package/dist/chunks/{exporter-ChjL5fmP.js.map → exporter-1Ajud15J.js.map} +1 -1
- package/dist/chunks/{exporter-BIdaoIgh.js → exporter-B6yvL3wy.js} +7 -7
- package/dist/chunks/{exporter-BIdaoIgh.js.map → exporter-B6yvL3wy.js.map} +1 -1
- package/dist/chunks/{exporter-Dcw7Ldtq.js → exporter-BP6otMO6.js} +6 -6
- package/dist/chunks/{exporter-Dcw7Ldtq.js.map → exporter-BP6otMO6.js.map} +1 -1
- package/dist/chunks/{exporter-DtVU80Fa.js → exporter-CA5q8ROP.js} +9 -8
- package/dist/chunks/{exporter-DtVU80Fa.js.map → exporter-CA5q8ROP.js.map} +1 -1
- package/dist/chunks/{exporter-bxxjOrDZ.js → exporter-CQQZFJ2v.js} +1284 -156
- package/dist/chunks/exporter-CQQZFJ2v.js.map +1 -0
- package/dist/chunks/format-BXiAb-1h.js +408 -0
- package/dist/chunks/format-BXiAb-1h.js.map +1 -0
- package/dist/chunks/{generic-CP6YD34u.js → generic-Dc21MAdg.js} +387 -31
- package/dist/chunks/generic-Dc21MAdg.js.map +1 -0
- package/dist/chunks/{importer-B87_fmVx.js → importer-C6NVpCXp.js} +327 -84
- package/dist/chunks/importer-C6NVpCXp.js.map +1 -0
- package/dist/chunks/{importer-DPZDN40-.js → importer-CKFe4q54.js} +25 -17
- package/dist/chunks/importer-CKFe4q54.js.map +1 -0
- package/dist/chunks/{importer-Bji2MeWr.js → importer-CKbUbsJA.js} +13 -10
- package/dist/chunks/{importer-Bji2MeWr.js.map → importer-CKbUbsJA.js.map} +1 -1
- package/dist/chunks/{importer-CB_zV5_L.js → importer-ClCsdgTJ.js} +208 -1104
- package/dist/chunks/importer-ClCsdgTJ.js.map +1 -0
- package/dist/chunks/{importer-e3huMZbm.js → importer-CyVZTrf0.js} +14 -10
- package/dist/chunks/importer-CyVZTrf0.js.map +1 -0
- package/dist/chunks/{importer-CVT-JyDE.js → importer-DgG4v1Ms.js} +1537 -355
- package/dist/chunks/importer-DgG4v1Ms.js.map +1 -0
- package/dist/chunks/{importer-Cyy6UseH.js → importer-asFUrIsj.js} +66 -13
- package/dist/chunks/importer-asFUrIsj.js.map +1 -0
- package/dist/chunks/{input-Ccg9I22A.js → input-CAxt_aV-.js} +4 -4
- package/dist/chunks/{input-Ccg9I22A.js.map → input-CAxt_aV-.js.map} +1 -1
- package/dist/chunks/{json-elements-By172SVq.js → json-elements-Cq76WjnZ.js} +4 -4
- package/dist/chunks/{json-elements-By172SVq.js.map → json-elements-Cq76WjnZ.js.map} +1 -1
- package/dist/chunks/{lexicon-u2SI5xcx.js → lexicon-IVRq2Uoo.js} +282 -74
- package/dist/chunks/lexicon-IVRq2Uoo.js.map +1 -0
- package/dist/chunks/{ontology-export-BwgMyuF0.js → ontology-export-OMo91mb0.js} +4 -4
- package/dist/chunks/{ontology-export-BwgMyuF0.js.map → ontology-export-OMo91mb0.js.map} +1 -1
- package/dist/chunks/{records-Cgvxz-Vx.js → records-NJiYvekn.js} +2 -2
- package/dist/chunks/{records-Cgvxz-Vx.js.map → records-NJiYvekn.js.map} +1 -1
- package/dist/chunks/{report-CgdsL9Hb.js → report-CwMfYa9J.js} +23 -23
- package/dist/chunks/{report-CgdsL9Hb.js.map → report-CwMfYa9J.js.map} +1 -1
- package/dist/chunks/round-trip-Cy3_SHRZ.js +79 -0
- package/dist/chunks/round-trip-Cy3_SHRZ.js.map +1 -0
- package/dist/chunks/{sigv4-LkAzsLAu.js → sigv4-BXwVbza3.js} +5 -5
- package/dist/chunks/sigv4-BXwVbza3.js.map +1 -0
- package/dist/chunks/{styles-CaABMoO1.js → styles-CAVmBLgp.js} +1237 -138
- package/dist/chunks/styles-CAVmBLgp.js.map +1 -0
- package/dist/chunks/styles-CPczw1Jz.js +1928 -0
- package/dist/chunks/styles-CPczw1Jz.js.map +1 -0
- package/dist/chunks/styles-boK6Ln54.js +2847 -0
- package/dist/chunks/styles-boK6Ln54.js.map +1 -0
- package/dist/chunks/{styles-yed-Cs1nmrjn.js → styles-yed-XeFBQ6VS.js} +506 -175
- package/dist/chunks/styles-yed-XeFBQ6VS.js.map +1 -0
- package/dist/chunks/{text-BuKQVMz2.js → text-ystE2bYi.js} +2 -2
- package/dist/chunks/{text-BuKQVMz2.js.map → text-ystE2bYi.js.map} +1 -1
- package/dist/csv.js +7 -7
- package/dist/cx.js +2 -2
- package/dist/cx2.js +2 -2
- package/dist/cys.js +1 -1
- package/dist/dot.js +8 -4
- package/dist/dot.js.map +1 -1
- package/dist/gexf.js +42 -12
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +848 -194
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +230 -193
- 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 -6
- 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.js +141 -23
- package/dist/sources-cypher.js.map +1 -1
- package/dist/sources-ndex.js +2 -2
- package/dist/sources-rest.js +32 -6
- package/dist/sources-rest.js.map +1 -1
- package/dist/sources-sparql.d.ts +1 -0
- package/dist/sources-sparql.js +439 -0
- package/dist/sources-sparql.js.map +1 -0
- 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 +117 -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/exporter.d.ts.map +1 -1
- package/dist/src/formats/dot/exporter.js +34 -2
- package/dist/src/formats/dot/exporter.js.map +1 -1
- package/dist/src/formats/dot/importer.d.ts +6 -1
- package/dist/src/formats/dot/importer.d.ts.map +1 -1
- package/dist/src/formats/dot/importer.js +170 -33
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/dot/index.d.ts +3 -1
- package/dist/src/formats/dot/index.d.ts.map +1 -1
- package/dist/src/formats/dot/index.js +2 -1
- package/dist/src/formats/dot/index.js.map +1 -1
- package/dist/src/formats/dot/label-places.d.ts +41 -0
- package/dist/src/formats/dot/label-places.d.ts.map +1 -0
- package/dist/src/formats/dot/label-places.js +185 -0
- package/dist/src/formats/dot/label-places.js.map +1 -0
- package/dist/src/formats/dot/names.d.ts +13 -0
- package/dist/src/formats/dot/names.d.ts.map +1 -1
- package/dist/src/formats/dot/names.js +13 -0
- package/dist/src/formats/dot/names.js.map +1 -1
- 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 +72 -2
- package/dist/src/formats/dot/styles.d.ts.map +1 -1
- package/dist/src/formats/dot/styles.js +1500 -119
- 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 +58 -31
- package/dist/src/formats/gexf/styles.d.ts.map +1 -1
- package/dist/src/formats/gexf/styles.js +848 -225
- 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 +754 -102
- 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 +6 -10
- 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 +695 -164
- 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 +431 -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 +1843 -136
- package/dist/src/formats/json/styles.js.map +1 -1
- package/dist/src/formats/pajek/draw.d.ts +104 -0
- package/dist/src/formats/pajek/draw.d.ts.map +1 -0
- package/dist/src/formats/pajek/draw.js +382 -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 +1395 -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 +277 -60
- package/dist/src/formats/xgmml/styles.js.map +1 -1
- package/dist/src/index.d.ts +6 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -5
- 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/sources/builtins.d.ts +1 -1
- package/dist/src/sources/builtins.d.ts.map +1 -1
- package/dist/src/sources/builtins.js +8 -2
- package/dist/src/sources/builtins.js.map +1 -1
- package/dist/src/sources/context.d.ts.map +1 -1
- package/dist/src/sources/context.js +1 -0
- package/dist/src/sources/context.js.map +1 -1
- package/dist/src/sources/credentials.d.ts +50 -1
- package/dist/src/sources/credentials.d.ts.map +1 -1
- package/dist/src/sources/credentials.js +69 -0
- package/dist/src/sources/credentials.js.map +1 -1
- package/dist/src/sources/cypher/descriptor.d.ts.map +1 -1
- package/dist/src/sources/cypher/descriptor.js +5 -0
- package/dist/src/sources/cypher/descriptor.js.map +1 -1
- package/dist/src/sources/cypher/index.d.ts.map +1 -1
- package/dist/src/sources/cypher/index.js +125 -18
- package/dist/src/sources/cypher/index.js.map +1 -1
- package/dist/src/sources/cypher/params.d.ts +1 -1
- package/dist/src/sources/cypher/params.d.ts.map +1 -1
- package/dist/src/sources/cypher/query-builder.d.ts +17 -0
- package/dist/src/sources/cypher/query-builder.d.ts.map +1 -1
- package/dist/src/sources/cypher/query-builder.js +31 -0
- package/dist/src/sources/cypher/query-builder.js.map +1 -1
- package/dist/src/sources/ids.d.ts +5 -0
- package/dist/src/sources/ids.d.ts.map +1 -1
- package/dist/src/sources/ids.js +5 -0
- package/dist/src/sources/ids.js.map +1 -1
- package/dist/src/sources/params.d.ts +3 -0
- package/dist/src/sources/params.d.ts.map +1 -1
- package/dist/src/sources/rest/descriptor.d.ts.map +1 -1
- package/dist/src/sources/rest/descriptor.js +9 -0
- package/dist/src/sources/rest/descriptor.js.map +1 -1
- package/dist/src/sources/rest/openalex.d.ts +4 -2
- package/dist/src/sources/rest/openalex.d.ts.map +1 -1
- package/dist/src/sources/rest/openalex.js +4 -2
- package/dist/src/sources/rest/openalex.js.map +1 -1
- package/dist/src/sources/rest/source.d.ts.map +1 -1
- package/dist/src/sources/rest/source.js +38 -0
- package/dist/src/sources/rest/source.js.map +1 -1
- package/dist/src/sources/run.d.ts +2 -0
- package/dist/src/sources/run.d.ts.map +1 -1
- package/dist/src/sources/run.js +30 -3
- package/dist/src/sources/run.js.map +1 -1
- package/dist/src/sources/sigv4.d.ts +5 -3
- package/dist/src/sources/sigv4.d.ts.map +1 -1
- package/dist/src/sources/sigv4.js +6 -4
- package/dist/src/sources/sigv4.js.map +1 -1
- 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 +327 -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 +73 -0
- package/dist/src/sources/sparql/query.d.ts.map +1 -0
- package/dist/src/sources/sparql/query.js +164 -0
- package/dist/src/sources/sparql/query.js.map +1 -0
- package/dist/src/sources/types.d.ts +60 -0
- package/dist/src/sources/types.d.ts.map +1 -1
- 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 +89 -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 +1139 -79
- 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 +4 -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 +232 -10
- 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 +44 -1
- package/dist/src/styles/cyjs/mappers.d.ts.map +1 -1
- package/dist/src/styles/cyjs/mappers.js +475 -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 +156 -48
- package/dist/src/styles/cytoscape/emit.js.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.d.ts +91 -3
- package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.js +387 -77
- 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 +42 -2
- package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/resolve.js +623 -17
- package/dist/src/styles/cytoscape/resolve.js.map +1 -1
- package/dist/src/styles/defaults.d.ts +46 -26
- package/dist/src/styles/defaults.d.ts.map +1 -1
- package/dist/src/styles/defaults.js +308 -71
- 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/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 +6 -1
- 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 +11 -0
- package/dist/src/styles/plan/resolve.d.ts.map +1 -1
- package/dist/src/styles/plan/resolve.js +40 -4
- 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 +687 -6
- 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 +224 -0
- package/dist/src/styles/vocabulary.js.map +1 -1
- package/dist/styles.js +30 -239
- package/dist/styles.js.map +1 -1
- package/dist/xgmml.js +3 -3
- package/package.json +27 -7
- package/src/formats/cx/importer.ts +6 -1
- package/src/formats/cx/styles.ts +143 -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/exporter.ts +37 -1
- package/src/formats/dot/importer.ts +192 -36
- package/src/formats/dot/index.ts +3 -1
- package/src/formats/dot/label-places.ts +241 -0
- package/src/formats/dot/names.ts +15 -0
- package/src/formats/dot/record.ts +336 -0
- package/src/formats/dot/styles.ts +1702 -149
- 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 +1099 -245
- 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 +852 -110
- package/src/formats/graphml/styles-plain.ts +6 -15
- package/src/formats/graphml/styles-yed.ts +765 -176
- package/src/formats/graphml/styles-yfiles3.ts +487 -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 +2123 -171
- package/src/formats/pajek/draw.ts +469 -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 +1506 -133
- package/src/formats/pajek/syntax.ts +27 -2
- package/src/formats/xgmml/emit.ts +73 -5
- package/src/formats/xgmml/styles.ts +330 -71
- package/src/index.ts +12 -1
- 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/sources/builtins.ts +8 -1
- package/src/sources/context.ts +1 -0
- package/src/sources/credentials.ts +90 -1
- package/src/sources/cypher/descriptor.ts +7 -1
- package/src/sources/cypher/index.ts +149 -18
- package/src/sources/cypher/params.ts +1 -1
- package/src/sources/cypher/query-builder.ts +33 -0
- package/src/sources/ids.ts +6 -0
- package/src/sources/params.ts +3 -0
- package/src/sources/rest/descriptor.ts +9 -0
- package/src/sources/rest/openalex.ts +4 -2
- package/src/sources/rest/source.ts +41 -0
- package/src/sources/run.ts +35 -3
- package/src/sources/sigv4.ts +6 -4
- package/src/sources/sparql/descriptor.ts +67 -0
- package/src/sources/sparql/index.ts +371 -0
- package/src/sources/sparql/ntriples.ts +219 -0
- package/src/sources/sparql/params.ts +28 -0
- package/src/sources/sparql/query.ts +216 -0
- package/src/sources/types.ts +68 -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 +107 -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 +1303 -84
- package/src/styles/cyjs/defaults-table.ts +4 -0
- package/src/styles/cyjs/emit.ts +268 -14
- package/src/styles/cyjs/face.ts +372 -0
- package/src/styles/cyjs/mappers.ts +506 -27
- package/src/styles/cyjs/routes.ts +432 -0
- package/src/styles/cytoscape/charts.ts +684 -0
- package/src/styles/cytoscape/emit.ts +170 -48
- package/src/styles/cytoscape/lexicon.ts +431 -78
- package/src/styles/cytoscape/mappings.ts +108 -0
- package/src/styles/cytoscape/resolve.ts +741 -17
- package/src/styles/defaults.ts +417 -108
- package/src/styles/index.ts +5 -0
- package/src/styles/internal.ts +1 -0
- package/src/styles/io/generic.ts +79 -23
- package/src/styles/io/round-trip.ts +202 -0
- package/src/styles/io/writer.ts +6 -1
- 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 +47 -4
- package/src/styles/slots.ts +25 -0
- package/src/styles/types.ts +698 -5
- package/src/styles/vocabulary.ts +232 -2
- package/dist/chunks/block-Cu22ewuS.js.map +0 -1
- package/dist/chunks/choose-Cdx6Enl2.js +0 -57
- package/dist/chunks/choose-Cdx6Enl2.js.map +0 -1
- package/dist/chunks/codes-CV_Bhcyi.js.map +0 -1
- package/dist/chunks/convert-BcQ8_jMo.js.map +0 -1
- package/dist/chunks/credentials-BiQsnMTb.js.map +0 -1
- package/dist/chunks/descriptor-BJ-W0Jd-.js.map +0 -1
- package/dist/chunks/emit-CD8xnY8s.js.map +0 -1
- package/dist/chunks/export-CZ7VRm4I.js.map +0 -1
- package/dist/chunks/exporter-bxxjOrDZ.js.map +0 -1
- package/dist/chunks/format-BMS-1Nxb.js +0 -64
- package/dist/chunks/format-BMS-1Nxb.js.map +0 -1
- package/dist/chunks/generic-CP6YD34u.js.map +0 -1
- package/dist/chunks/importer-B87_fmVx.js.map +0 -1
- package/dist/chunks/importer-CB_zV5_L.js.map +0 -1
- package/dist/chunks/importer-CVT-JyDE.js.map +0 -1
- package/dist/chunks/importer-Cyy6UseH.js.map +0 -1
- package/dist/chunks/importer-DPZDN40-.js.map +0 -1
- package/dist/chunks/importer-e3huMZbm.js.map +0 -1
- package/dist/chunks/lexicon-u2SI5xcx.js.map +0 -1
- package/dist/chunks/sigv4-LkAzsLAu.js.map +0 -1
- package/dist/chunks/styles-CaABMoO1.js.map +0 -1
- package/dist/chunks/styles-P_gmFAOi.js +0 -770
- package/dist/chunks/styles-P_gmFAOi.js.map +0 -1
- package/dist/chunks/styles-yed-Cs1nmrjn.js.map +0 -1
- package/dist/chunks/writer-DvHTl36J.js +0 -449
- package/dist/chunks/writer-DvHTl36J.js.map +0 -1
|
@@ -14,6 +14,8 @@ function v(value, source) {
|
|
|
14
14
|
}
|
|
15
15
|
const CY = "cytoscape-impl vizmap-gui-impl default_vizmap.xml, style default, line";
|
|
16
16
|
const CYL = "cytoscape-api BasicVisualLexicon.java line";
|
|
17
|
+
/** Cytoscape desktop's zigzag and sine-wave strokes: both swing 10 px and repeat every 20 px. */
|
|
18
|
+
const CY_WAVE = "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)";
|
|
17
19
|
const CYJS = "cytoscape.js 3.34.3 dist/cytoscape.cjs.js line";
|
|
18
20
|
const GV = "graphviz.org/docs/attrs";
|
|
19
21
|
const YED_QA = "yEd Q&A, How can I change the default nodes and/or default edges";
|
|
@@ -23,13 +25,73 @@ const YED_BG = "yFiles for Java 2.19 DefaultBackgroundRenderer API docs";
|
|
|
23
25
|
const Y3 = "yFiles for HTML API docs,";
|
|
24
26
|
const GEPHI = "gephi master 92e503df61a7";
|
|
25
27
|
const VIS = "vis-network 10.1.2 vis-network.esm.js";
|
|
28
|
+
const VIS9 = "vis-network 9.1.9 standalone/umd/vis-network.js";
|
|
26
29
|
const SIGMA = "sigma 3.0.3 packages/sigma/src";
|
|
27
|
-
const
|
|
30
|
+
const SIGMA4 = "sigma 4.0.1 dist/types-d8ce3382.esm.js";
|
|
28
31
|
const PAJEK = "Pajek 6.02 reference manual";
|
|
29
|
-
const PAJEK_SHAPES = "the SHAPES.CFG Pajek writes when none exists (DrawEPS.htm), " +
|
|
30
|
-
"github.com/ohshane/radical-clustering 0f568f67893558035868b3db1bf365870ba52f6b shapes.cfg, SHAPE ELLIPSE";
|
|
31
32
|
const OGDF = "ogdf master 1a40505ac006";
|
|
33
|
+
const OGDF_SVG = "OGDF 2025.10 GraphIO::drawSVG with its default SVGSettings (graph-io/test/fidelity/oracles/gml-specimen-labels-p5.svg: ";
|
|
32
34
|
const NX = "networkx 6da4704cbf32 networkx/drawing/nx_pylab.py line";
|
|
35
|
+
const MEASURED = "measured in the program's own SVG export (graph-io/test/fidelity/oracles/";
|
|
36
|
+
const PAJEK_SVG = `${MEASURED}pajek-`;
|
|
37
|
+
/**
|
|
38
|
+
* Cytoscape desktop draws an arrow `EDGE_*_ARROW_SIZE` (6 by default, the neutral arrowSize 1) plus the line width
|
|
39
|
+
* 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
|
|
40
|
+
* DELTA is long and a tenth of that deep: measured on cx-ndex-90f78bcd (width 1), cx2-u2os-hierarchy (width 2),
|
|
41
|
+
* cx2-signor-aml and cx2-syn-bypass (widths 1 and 7).
|
|
42
|
+
*/
|
|
43
|
+
const CYTOSCAPE_ARROWHEAD = {
|
|
44
|
+
length: (size, width) => 2 * (6 * size + width),
|
|
45
|
+
aspect: 0.5,
|
|
46
|
+
shapes: {
|
|
47
|
+
square: { length: 0.5, aspect: 1 },
|
|
48
|
+
circle: { length: 0.5, aspect: 1 },
|
|
49
|
+
"circle-open": { length: 0.5, aspect: 1 },
|
|
50
|
+
// HALF_TOP's barb: 1.135 long and 1 to one side of its line
|
|
51
|
+
half: { length: 0.5675, aspect: 0.881 },
|
|
52
|
+
"other:half-bottom": { length: 0.5675, aspect: 0.881 },
|
|
53
|
+
tee: { length: 0.1, aspect: 10 },
|
|
54
|
+
// a square's outline, and a half circle (half a CIRCLE deep, as wide)
|
|
55
|
+
"other:open-square": { length: 0.5, aspect: 1 },
|
|
56
|
+
"other:half-circle": { length: 0.25, aspect: 2 },
|
|
57
|
+
"other:open-half-circle": { length: 0.25, aspect: 2 },
|
|
58
|
+
},
|
|
59
|
+
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`,
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Cytoscape desktop draws a node's outline its size less its border's width across and strokes the border along it,
|
|
63
|
+
* 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.
|
|
64
|
+
*/
|
|
65
|
+
/** Cytoscape desktop draws a curved edge through its handles, and the loops it adds itself, through their midpoints. */
|
|
66
|
+
const CYTOSCAPE_BEND_CURVE = v("midpoints", "cytoscape-impl ding-presentation-impl GraphGraphics.java computeCubicPolyEdgePath (cubic pieces between the handles' midpoints, controls pulled toward each handle by CURVE_ELLIPTICAL)");
|
|
67
|
+
/**
|
|
68
|
+
* Cytoscape desktop draws a label's background box round its words alone: as wide as the text and one line tall,
|
|
69
|
+
* the font's ascent plus descent (1.164 of a DejaVu Sans font's size), which is also the step between its lines.
|
|
70
|
+
*/
|
|
71
|
+
const CYTOSCAPE_LABEL_BOX = `${MEASURED}xgmml-specimen-labels: label-background-* boxes and the captions' two lines), Cytoscape 3.10.5`;
|
|
72
|
+
const CYTOSCAPE_LABEL_PADDING = v(0, CYTOSCAPE_LABEL_BOX);
|
|
73
|
+
const CYTOSCAPE_LABEL_LINE_HEIGHT = v(1, CYTOSCAPE_LABEL_BOX);
|
|
74
|
+
const CYTOSCAPE_BORDER_INSIDE = v("inside", `${MEASURED}cx2-repro-shared-interaction, cys-luad-vest-v2, cx2-synthetic-lethal), Cytoscape 3.10.5`);
|
|
75
|
+
/**
|
|
76
|
+
* draw.io draws a yEd or yFiles file's arrows `endSize` 6 plus the line width long and as wide; yEd itself could not
|
|
77
|
+
* be run, so draw.io's drawing stands in.
|
|
78
|
+
*/
|
|
79
|
+
const DRAWIO_ARROWHEAD = {
|
|
80
|
+
length: (size, width) => 6 * size + width,
|
|
81
|
+
aspect: 1,
|
|
82
|
+
source: `${MEASURED}graphml-*, draw.io 32.4.1 standing in for yEd)`,
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* The largest corner radius of a rounded rectangle whose file gives none, in the program's units. Cytoscape.js is the
|
|
86
|
+
* one program that publishes its rule (`getRoundRectangleRadius`); the others draw barely rounded corners too, so they
|
|
87
|
+
* get the same 8, and a 513 x 453 group keeps small corners instead of a quarter of its side.
|
|
88
|
+
* @param tool - the program, when it is not Cytoscape.js and so states no radius of its own
|
|
89
|
+
* @returns the default
|
|
90
|
+
*/
|
|
91
|
+
function cornerCap(tool) {
|
|
92
|
+
const rule = `${CYJS} 4386`;
|
|
93
|
+
return v(8, tool === undefined ? rule : `${rule} (Cytoscape.js's rule; ${tool} states none)`);
|
|
94
|
+
}
|
|
33
95
|
/**
|
|
34
96
|
* The defaults of every program graph-io recognizes as a file's writer, by tool id.
|
|
35
97
|
* @category Styles
|
|
@@ -39,6 +101,8 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
39
101
|
tool: "cytoscape",
|
|
40
102
|
version: "cytoscape-impl develop 6c63e97c5152 (3.11)",
|
|
41
103
|
units: "px",
|
|
104
|
+
roundedCornerRadius: cornerCap("cytoscape"),
|
|
105
|
+
arrowhead: CYTOSCAPE_ARROWHEAD,
|
|
42
106
|
node: {
|
|
43
107
|
fill: v("#89d0f5", `${CY} 382`),
|
|
44
108
|
fillOpacity: v(1, `${CY} 383`),
|
|
@@ -48,29 +112,41 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
48
112
|
borderColor: v("#cccccc", `${CY} 392`),
|
|
49
113
|
borderWidth: v(0, `${CY} 350`),
|
|
50
114
|
borderStyle: v("solid", `${CY} 366`),
|
|
115
|
+
borderPosition: CYTOSCAPE_BORDER_INSIDE,
|
|
116
|
+
borderWaveAmplitude: v(10, CY_WAVE),
|
|
117
|
+
borderWavePeriod: v(20, CY_WAVE),
|
|
51
118
|
labelColor: v("#000000", `${CY} 395`),
|
|
52
|
-
labelFont: v("sans-serif", `${CY} 370`),
|
|
119
|
+
labelFont: v("DejaVu Sans, sans-serif", `${CY} 370 (SansSerif, drawn in Java's face for it)`),
|
|
53
120
|
labelWeight: v("normal", `${CY} 370`),
|
|
54
121
|
labelItalic: v(false, `${CY} 370`),
|
|
55
122
|
labelSize: v(12, `${CY} 371`),
|
|
123
|
+
labelWrapWidth: v(200, `${CY} 372`),
|
|
124
|
+
labelWrapTrailingSpace: v(true, `${MEASURED}cx-ndex-90f78bcd: each word is measured with the space after it), Cytoscape 3.10.5`),
|
|
56
125
|
labelPosition: v("center", `${CY} 380`),
|
|
126
|
+
labelPadding: CYTOSCAPE_LABEL_PADDING,
|
|
127
|
+
labelLineHeight: CYTOSCAPE_LABEL_LINE_HEIGHT,
|
|
57
128
|
},
|
|
58
129
|
edge: {
|
|
59
130
|
color: v("#848484", `${CY} 431`),
|
|
60
131
|
width: v(2, `${CY} 417`),
|
|
61
132
|
lineStyle: v("solid", `${CY} 438`),
|
|
133
|
+
waveAmplitude: v(10, CY_WAVE),
|
|
134
|
+
wavePeriod: v(20, CY_WAVE),
|
|
62
135
|
opacity: v(1, `${CY} 423`),
|
|
63
136
|
sourceArrow: v("none", `${CY} 437`),
|
|
64
137
|
targetArrow: v("none", `${CY} 428`),
|
|
65
138
|
sourceArrowColor: v("#000000", `${CY} 432`),
|
|
66
139
|
targetArrowColor: v("#000000", `${CY} 432`),
|
|
67
140
|
labelColor: v("#000000", `${CY} 415`),
|
|
68
|
-
labelFont: v("sans-serif", `${CY} 439`),
|
|
141
|
+
labelFont: v("DejaVu Sans, sans-serif", `${CY} 439 (SansSerif, drawn in Java's face for it)`),
|
|
69
142
|
labelWeight: v("normal", `${CY} 439`),
|
|
70
143
|
labelItalic: v(false, `${CY} 439`),
|
|
71
144
|
labelSize: v(10, `${CY} 439`),
|
|
145
|
+
labelPadding: CYTOSCAPE_LABEL_PADDING,
|
|
146
|
+
labelLineHeight: CYTOSCAPE_LABEL_LINE_HEIGHT,
|
|
72
147
|
// EDGE_CURVED is true there, but it only rounds an edge's bends: an edge without bends is straight
|
|
73
148
|
curved: v(false, `${CY} 422`),
|
|
149
|
+
bendCurve: CYTOSCAPE_BEND_CURVE,
|
|
74
150
|
},
|
|
75
151
|
graph: { background: v("#ffffff", `${CY} 335`) },
|
|
76
152
|
derived: [{ kind: "labelFromColumn", column: "name", source: `${CY} 406-408` }],
|
|
@@ -79,6 +155,8 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
79
155
|
tool: "cytoscape-fallbacks",
|
|
80
156
|
version: "cytoscape-api develop (3.11)",
|
|
81
157
|
units: "px",
|
|
158
|
+
roundedCornerRadius: cornerCap("cytoscape-fallbacks"),
|
|
159
|
+
arrowhead: CYTOSCAPE_ARROWHEAD,
|
|
82
160
|
node: {
|
|
83
161
|
fill: v("#c80000", `${CYL} 83`),
|
|
84
162
|
fillOpacity: v(1, `${CYL} 273`),
|
|
@@ -87,24 +165,36 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
87
165
|
height: v(40, `${CYL} 163`),
|
|
88
166
|
borderColor: v("#000000", `${CYL} 230`),
|
|
89
167
|
borderWidth: v(2, `${CYL} 54`),
|
|
168
|
+
borderPosition: CYTOSCAPE_BORDER_INSIDE,
|
|
169
|
+
borderWaveAmplitude: v(10, CY_WAVE),
|
|
170
|
+
borderWavePeriod: v(20, CY_WAVE),
|
|
90
171
|
labelColor: v("#000000", `${CYL} 91`),
|
|
91
|
-
labelFont: v("sans-serif", `${CYL} 255`),
|
|
172
|
+
labelFont: v("DejaVu Sans, sans-serif", `${CYL} 255 (SansSerif, drawn in Java's face for it)`),
|
|
92
173
|
labelWeight: v("normal", `${CYL} 255`),
|
|
93
174
|
labelItalic: v(false, `${CYL} 255`),
|
|
94
175
|
labelSize: v(12, `${CYL} 55`),
|
|
176
|
+
labelWrapWidth: v(200, `${CYL} 196`),
|
|
177
|
+
labelWrapTrailingSpace: v(true, `${MEASURED}cx-ndex-90f78bcd: each word is measured with the space after it), Cytoscape 3.10.5`),
|
|
95
178
|
labelPosition: v("center", `${CYL} 205`),
|
|
179
|
+
labelPadding: CYTOSCAPE_LABEL_PADDING,
|
|
180
|
+
labelLineHeight: CYTOSCAPE_LABEL_LINE_HEIGHT,
|
|
96
181
|
},
|
|
97
182
|
edge: {
|
|
98
183
|
color: v("#404040", `${CYL} 469`),
|
|
99
184
|
width: v(1, `${CYL} 368`),
|
|
100
185
|
lineStyle: v("solid", `${CYL} 392`),
|
|
186
|
+
waveAmplitude: v(10, CY_WAVE),
|
|
187
|
+
wavePeriod: v(20, CY_WAVE),
|
|
101
188
|
sourceArrow: v("none", `${CYL} 487`),
|
|
102
189
|
targetArrow: v("none", `${CYL} 493`),
|
|
103
190
|
labelColor: v("#000000", `${CYL} 327`),
|
|
104
|
-
labelFont: v("sans-serif", `${CYL} 408`),
|
|
191
|
+
labelFont: v("DejaVu Sans, sans-serif", `${CYL} 408 (SansSerif, drawn in Java's face for it)`),
|
|
105
192
|
labelWeight: v("normal", `${CYL} 408`),
|
|
106
193
|
labelItalic: v(false, `${CYL} 408`),
|
|
107
194
|
labelSize: v(10, `${CYL} 416`),
|
|
195
|
+
labelPadding: CYTOSCAPE_LABEL_PADDING,
|
|
196
|
+
labelLineHeight: CYTOSCAPE_LABEL_LINE_HEIGHT,
|
|
197
|
+
bendCurve: CYTOSCAPE_BEND_CURVE,
|
|
108
198
|
},
|
|
109
199
|
graph: { background: v("#ffffff", `${CYL} 667`) },
|
|
110
200
|
derived: [],
|
|
@@ -113,6 +203,22 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
113
203
|
tool: "cytoscape-js",
|
|
114
204
|
version: "cytoscape.js 3.34.3",
|
|
115
205
|
units: "px",
|
|
206
|
+
roundedCornerRadius: cornerCap(),
|
|
207
|
+
arrowhead: {
|
|
208
|
+
// getArrowWidth, and the triangle's points at +-0.15, -0.3 of it
|
|
209
|
+
length: (size, width) => 0.3 * Math.max((width * 13.37) ** 0.9, 29) * size,
|
|
210
|
+
aspect: 1,
|
|
211
|
+
// a tee is 0.1 of the arrow width deep, the triangle 0.3 long; triangle-tee reaches back to its bar
|
|
212
|
+
// at 0.5, circle-triangle to 0.6 and triangle-cross to its cross line at 0.4 plus the line's width
|
|
213
|
+
shapes: {
|
|
214
|
+
tee: { length: 1 / 3, aspect: 3 },
|
|
215
|
+
"other:triangle-tee": { length: 5 / 3, aspect: 0.6 },
|
|
216
|
+
"other:triangle-cross": { length: 1.5, aspect: 0.66 },
|
|
217
|
+
"other:circle-triangle": { length: 2, aspect: 0.5 },
|
|
218
|
+
"other:chevron": { length: 2 / 3, aspect: 1.5 },
|
|
219
|
+
},
|
|
220
|
+
source: `${CYJS} 23497 (getArrowWidth), 22714-22716 (triangle), 22813-22814 (tee), 22627 (arrowShapeWidth)`,
|
|
221
|
+
},
|
|
116
222
|
node: {
|
|
117
223
|
fill: v("#999999", `${CYJS} 18536`),
|
|
118
224
|
fillOpacity: v(1, `${CYJS} 18538`),
|
|
@@ -122,17 +228,42 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
122
228
|
borderColor: v("#000000", `${CYJS} 18555`),
|
|
123
229
|
borderWidth: v(0, `${CYJS} 18557`),
|
|
124
230
|
borderStyle: v("solid", `${CYJS} 18558`),
|
|
231
|
+
borderPosition: v("center", `${CYJS} 18563`),
|
|
232
|
+
outerBorderColor: v("#999999", `${CYJS} 18564`),
|
|
233
|
+
// the underlay and the overlay draw nothing until an opacity is set; then these
|
|
234
|
+
underlayColor: v("#000000", `${CYJS} 18524`),
|
|
235
|
+
underlayPadding: v(10, `${CYJS} 18525`),
|
|
236
|
+
underlayShape: v("round-rectangle", `${CYJS} 18526`),
|
|
237
|
+
overlayColor: v("#000000", `${CYJS} 18519`),
|
|
238
|
+
overlayPadding: v(10, `${CYJS} 18520`),
|
|
239
|
+
overlayShape: v("round-rectangle", `${CYJS} 18521`),
|
|
125
240
|
opacity: v(1, `${CYJS} 18503`),
|
|
126
241
|
labelColor: v("#000000", `${CYJS} 18474`),
|
|
127
242
|
labelSize: v(16, `${CYJS} 18496`),
|
|
128
243
|
labelFont: v("Helvetica Neue, Helvetica, sans-serif", `${CYJS} 18493`),
|
|
129
244
|
labelWeight: v("normal", `${CYJS} 18495`),
|
|
130
245
|
labelPosition: v("top", `${CYJS} 18470-18471`),
|
|
246
|
+
// text-wrap: wrap measures `subline + word + wordSeparator` against text-max-width; ponytail: a
|
|
247
|
+
// line's last word has no separator there, where graphty counts a space after it too
|
|
248
|
+
labelWrapTrailingSpace: v(true, `${CYJS} 25218`),
|
|
131
249
|
},
|
|
132
250
|
edge: {
|
|
133
251
|
color: v("#999999", `${CYJS} 18639`),
|
|
134
252
|
sourceArrowColor: v("#999999", `${CYJS} 18639`),
|
|
135
253
|
targetArrowColor: v("#999999", `${CYJS} 18639`),
|
|
254
|
+
outlineColor: v("#000000", `${CYJS} 18644`),
|
|
255
|
+
underlayColor: v("#000000", `${CYJS} 18524`),
|
|
256
|
+
underlayPadding: v(10, `${CYJS} 18525`),
|
|
257
|
+
overlayColor: v("#000000", `${CYJS} 18519`),
|
|
258
|
+
overlayPadding: v(10, `${CYJS} 18520`),
|
|
259
|
+
gradientKind: v("none", `${CYJS} 18640 (line-fill solid)`),
|
|
260
|
+
midSourceArrowColor: v("#999999", `${CYJS} 18639`),
|
|
261
|
+
midTargetArrowColor: v("#999999", `${CYJS} 18639`),
|
|
262
|
+
// an edge's label is centered on the line's middle (recalculateEdgeLabelProjections)
|
|
263
|
+
labelPosition: v("center", `${CYJS} 24942`),
|
|
264
|
+
// a source or target label is centered on the line where it leaves its node, unless offset
|
|
265
|
+
sourceLabelOffset: v(0, `${CYJS} 18511, 18515`),
|
|
266
|
+
targetLabelOffset: v(0, `${CYJS} 18511, 18515`),
|
|
136
267
|
width: v(3, `${CYJS} 18711`),
|
|
137
268
|
lineStyle: v("solid", `${CYJS} 18638`),
|
|
138
269
|
opacity: v(1, `${CYJS} 18503`),
|
|
@@ -140,28 +271,56 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
140
271
|
targetArrow: v("none", `${CYJS} 18671`),
|
|
141
272
|
arrowSize: v(1, `${CYJS} 18660`),
|
|
142
273
|
curved: v(false, `${CYJS} 18658`),
|
|
274
|
+
// control-point-step-size 40: a quadratic's middle is half as far out as its control point
|
|
275
|
+
fanSpacing: v(20, `${CYJS} 18647`),
|
|
143
276
|
labelColor: v("#000000", `${CYJS} 18474`),
|
|
144
277
|
labelSize: v(16, `${CYJS} 18496`),
|
|
145
278
|
labelFont: v("Helvetica Neue, Helvetica, sans-serif", `${CYJS} 18493`),
|
|
146
279
|
labelWeight: v("normal", `${CYJS} 18495`),
|
|
147
280
|
},
|
|
148
|
-
graph: {
|
|
281
|
+
graph: {
|
|
282
|
+
// the canvas is cleared to transparent, so the page's default white shows through
|
|
283
|
+
background: v("#ffffff", `${CYJS} 31537 (clearCanvas: clearRect)`),
|
|
284
|
+
},
|
|
149
285
|
derived: [],
|
|
150
286
|
},
|
|
151
287
|
{
|
|
152
288
|
tool: "graphviz",
|
|
153
289
|
version: "graphviz main (16.1.0)",
|
|
154
290
|
units: "px",
|
|
291
|
+
roundedCornerRadius: cornerCap("graphviz"),
|
|
292
|
+
arrowhead: {
|
|
293
|
+
// ARROW_LENGTH 10 and the normal arrow's half width 0.35 of its length
|
|
294
|
+
length: (size) => 10 * size,
|
|
295
|
+
aspect: 0.7,
|
|
296
|
+
// each arrow type's length factor and the half width its arrow_type_* function draws
|
|
297
|
+
shapes: {
|
|
298
|
+
tee: { length: 0.2, aspect: 5 },
|
|
299
|
+
square: { length: 0.8, aspect: 1 },
|
|
300
|
+
diamond: { length: 1.2, aspect: 2 / 3 },
|
|
301
|
+
"diamond-open": { length: 1.2, aspect: 2 / 3 },
|
|
302
|
+
circle: { length: 0.8, aspect: 1 },
|
|
303
|
+
"circle-open": { length: 0.8, aspect: 1 },
|
|
304
|
+
crow: { length: 1, aspect: 0.9 },
|
|
305
|
+
vee: { length: 1, aspect: 0.9 },
|
|
306
|
+
// the arc of curve and icurve, a half circle of radius half the arrow's length across its
|
|
307
|
+
// stem (the stem is the line, carried on to the tip)
|
|
308
|
+
"other:curve": { length: 0.5, aspect: 2 },
|
|
309
|
+
"other:inv-curve": { length: 0.5, aspect: 2 },
|
|
310
|
+
},
|
|
311
|
+
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)",
|
|
312
|
+
},
|
|
155
313
|
node: {
|
|
156
314
|
fillOpacity: v(0, `${GV}/style/ (default "", not filled)`),
|
|
157
315
|
borderColor: v("#000000", `${GV}/color/`),
|
|
158
316
|
borderWidth: v(1, `${GV}/penwidth/; lib/common/const.h line 77`),
|
|
317
|
+
borderPosition: v("center", `${MEASURED}dot-synth-nodes), Graphviz strokes the node's own outline`),
|
|
159
318
|
shape: v("ellipse", `${GV}/shape/; lib/common/const.h line 76`),
|
|
160
319
|
width: v(54, `${GV}/width/ (0.75 inch); lib/common/const.h line 72`),
|
|
161
320
|
height: v(36, `${GV}/height/ (0.5 inch); lib/common/const.h line 73`),
|
|
162
321
|
labelColor: v("#000000", `${GV}/fontcolor/`),
|
|
163
322
|
labelSize: v(14, `${GV}/fontsize/; lib/common/const.h line 61`),
|
|
164
|
-
labelFont: v("Times
|
|
323
|
+
labelFont: v("Times, serif", `${GV}/fontname/ (Times-Roman); lib/common/const.h line 67`),
|
|
165
324
|
labelPosition: v("center", `${GV}/labelloc/`),
|
|
166
325
|
},
|
|
167
326
|
edge: {
|
|
@@ -173,10 +332,10 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
173
332
|
arrowSize: v(1, `${GV}/arrowsize/`),
|
|
174
333
|
labelColor: v("#000000", `${GV}/fontcolor/`),
|
|
175
334
|
labelSize: v(14, `${GV}/fontsize/`),
|
|
176
|
-
labelFont: v("Times
|
|
335
|
+
labelFont: v("Times, serif", `${GV}/fontname/ (Times-Roman)`),
|
|
177
336
|
},
|
|
178
337
|
graph: {
|
|
179
|
-
background: v("#ffffff", `${GV}/bgcolor/ (default
|
|
338
|
+
background: v("#ffffff", `${GV}/bgcolor/ (default unset); lib/common/emit.c emit_background (an unset bgcolor paints the page white)`),
|
|
180
339
|
},
|
|
181
340
|
derived: [
|
|
182
341
|
{ kind: "labelFromId", source: String.raw `${GV}/label/ (default \N, the node name)` },
|
|
@@ -191,14 +350,17 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
191
350
|
tool: "yed",
|
|
192
351
|
version: "yEd / yFiles for Java 2.19",
|
|
193
352
|
units: "px",
|
|
353
|
+
roundedCornerRadius: cornerCap("yed"),
|
|
354
|
+
arrowhead: DRAWIO_ARROWHEAD,
|
|
194
355
|
node: {
|
|
195
356
|
fill: v("#ffcc00", `${YED_QA}; ${YED_CORPUS} of y:Fill color`),
|
|
196
357
|
shape: v("rectangle", "yFiles for Java 2.19 ShapeNodeRealizer API docs"),
|
|
197
358
|
borderColor: v("#000000", `${YED_CORPUS} of y:BorderStyle`),
|
|
198
359
|
borderWidth: v(1, `${YED_CORPUS} of y:BorderStyle`),
|
|
199
360
|
borderStyle: v("solid", `${YED_CORPUS} of y:BorderStyle`),
|
|
361
|
+
borderPosition: v("center", `${MEASURED}graphml-*, draw.io 32.4.1 standing in for yEd)`),
|
|
200
362
|
labelColor: v("#000000", `${YED_CORPUS} of y:NodeLabel`),
|
|
201
|
-
labelFont: v("
|
|
363
|
+
labelFont: v("DejaVu Sans, sans-serif", `${YED_CORPUS} of y:NodeLabel (Dialog's face)`),
|
|
202
364
|
labelSize: v(12, `${YED_CORPUS} of y:NodeLabel`),
|
|
203
365
|
labelWeight: v("normal", `${YED_CORPUS} of y:NodeLabel`),
|
|
204
366
|
labelPosition: v("center", `${YED_CORPUS} of y:NodeLabel`),
|
|
@@ -210,7 +372,7 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
210
372
|
sourceArrow: v("none", `${YED_EDGE} (defaults to Arrow.NONE)`),
|
|
211
373
|
targetArrow: v("none", `${YED_EDGE} (defaults to Arrow.NONE)`),
|
|
212
374
|
labelColor: v("#000000", `${YED_CORPUS} of y:EdgeLabel`),
|
|
213
|
-
labelFont: v("
|
|
375
|
+
labelFont: v("DejaVu Sans, sans-serif", `${YED_CORPUS} of y:EdgeLabel (Dialog's face)`),
|
|
214
376
|
labelSize: v(12, `${YED_CORPUS} of y:EdgeLabel`),
|
|
215
377
|
},
|
|
216
378
|
graph: {
|
|
@@ -222,14 +384,18 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
222
384
|
tool: "yfiles3",
|
|
223
385
|
version: "yFiles for HTML (API docs retrieved 2026-10-11)",
|
|
224
386
|
units: "px",
|
|
387
|
+
roundedCornerRadius: cornerCap("yfiles3"),
|
|
388
|
+
arrowhead: DRAWIO_ARROWHEAD,
|
|
225
389
|
node: {
|
|
226
390
|
fill: v("#ffffff", `${Y3} ShapeNodeStyle fill`),
|
|
227
391
|
borderColor: v("#000000", `${Y3} ShapeNodeStyle stroke`),
|
|
228
392
|
borderWidth: v(1, `${Y3} ShapeNodeStyle stroke`),
|
|
393
|
+
borderPosition: v("center", `${MEASURED}graphml-yfiles-html-*, draw.io 32.4.1 standing in for yFiles)`),
|
|
229
394
|
shape: v("rectangle", `${Y3} ShapeNodeStyle shape`),
|
|
230
395
|
labelColor: v("#000000", `${Y3} LabelStyle textFill`),
|
|
231
396
|
labelFont: v("Arial", `${Y3} LabelStyle font`),
|
|
232
397
|
labelSize: v(12, `${Y3} LabelStyle font`),
|
|
398
|
+
labelPosition: v("center", `${Y3} IGraph.nodeDefaults labels layoutParameter (InteriorLabelModel center)`),
|
|
233
399
|
},
|
|
234
400
|
edge: {
|
|
235
401
|
color: v("#000000", `${Y3} PolylineEdgeStyle stroke`),
|
|
@@ -240,64 +406,43 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
240
406
|
labelFont: v("Arial", `${Y3} LabelStyle font`),
|
|
241
407
|
labelSize: v(12, `${Y3} LabelStyle font`),
|
|
242
408
|
},
|
|
243
|
-
graph: {
|
|
409
|
+
graph: {
|
|
410
|
+
background: v("#ffffff", `${Y3} GraphComponent (a transparent canvas over the page's white)`),
|
|
411
|
+
},
|
|
244
412
|
derived: [],
|
|
245
413
|
},
|
|
246
414
|
{
|
|
247
415
|
tool: "gephi",
|
|
248
416
|
version: "gephi 0.11.4-SNAPSHOT",
|
|
249
417
|
units: "relative",
|
|
418
|
+
roundedCornerRadius: cornerCap("gephi"),
|
|
419
|
+
arrowhead: {
|
|
420
|
+
length: (size, width) => 3.25 * width * size,
|
|
421
|
+
aspect: 0.9,
|
|
422
|
+
source: `${MEASURED}gexf-synth-nx-viz, widths 1 to 4), Gephi Toolkit 0.11.3`,
|
|
423
|
+
},
|
|
250
424
|
node: {
|
|
251
425
|
fill: v("#000000", "gephi/graphstore a4c790b2343e NodeImpl.java line 322"),
|
|
252
|
-
width: v(
|
|
253
|
-
height: v(
|
|
426
|
+
width: v(20, `${GEPHI} AbstractProcessor.java lines 195-198 (size 10 is a radius)`),
|
|
427
|
+
height: v(20, `${GEPHI} AbstractProcessor.java lines 195-198 (size 10 is a radius)`),
|
|
254
428
|
shape: v("ellipse", "GEXF 1.3 viz shape default disc; Preview NodeRenderer"),
|
|
255
|
-
|
|
256
|
-
// Preview hides labels (DefaultPreset.java line 106) and so does the Overview (VizConfig.java
|
|
257
|
-
// line 113); graph-io shows them as sigma.js and gexf-js do (see formats/gexf/styles.ts), in
|
|
258
|
-
// the color and font Gephi gives a label it shows
|
|
259
|
-
labelColor: v("#000000", `${GEPHI} DefaultPreset.java line 91 (DependantOriginalColor(BLACK))`),
|
|
260
|
-
labelFont: v("Arial", `${GEPHI} DefaultPreset.java line 93 (Arial plain 12)`),
|
|
261
|
-
// the size of a size-10 node's label; Preview scales it with the node (labelSizeFromWidth below)
|
|
262
|
-
labelSize: v(12, `${GEPHI} DefaultPreset.java line 93 (Arial plain 12)`),
|
|
429
|
+
borderPosition: v("inside", `${MEASURED}gexf-specimen-node-fills-borders-p3), Gephi Toolkit 0.11.3: the border is stroked on a circle of radius size - border / 2`),
|
|
263
430
|
labelPosition: v("center", `${GEPHI} NodeLabelRenderer.java (a label is drawn centered on its node)`),
|
|
431
|
+
// a node drawn under another still shows its label (gexf-cns-wos n5 under n109: "Borner, K")
|
|
432
|
+
labelOnTop: v(true, `${GEPHI} PreviewController (the node label items are drawn after every node); Gephi Toolkit 0.11.3 SVG export: g#node-labels after g#nodes`),
|
|
264
433
|
},
|
|
265
434
|
edge: {
|
|
266
|
-
curved: v(true, `${GEPHI} DefaultPreset.java line 66 (EDGE_CURVED true); EdgeRenderer.java line 117`),
|
|
267
435
|
sourceArrow: v("none", `${GEPHI} DefaultPreset.java line 62`),
|
|
268
436
|
targetArrow: v("none", `${GEPHI} DefaultPreset.java line 62`),
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
opacity: v(1, `${GEPHI} DefaultPreset.java line 71 (EDGE_OPACITY 100)`),
|
|
437
|
+
curved: v(true, `${GEPHI} DefaultPreset.java (EDGE_CURVED true); Gephi Toolkit 0.11.3 SVG export`),
|
|
438
|
+
fanned: v(false, `${GEPHI} EdgeRenderer.java (each curved edge bows left of its own direction, siblings ignored); Gephi Toolkit 0.11.3 SVG export`),
|
|
439
|
+
arcRadius: v(1 / 1.2, `${GEPHI} EdgeRenderer.java (CurvedEdgeRenderer: an arc through both node centers of radius length / ARC_CURVENESS, default 1.2)`),
|
|
273
440
|
},
|
|
274
441
|
graph: { background: v("#ffffff", `${GEPHI} VizConfig.java line 111`) },
|
|
275
442
|
derived: [
|
|
276
|
-
{
|
|
277
|
-
kind: "labelFromColumn",
|
|
278
|
-
column: "label",
|
|
279
|
-
source: `${SIGMA}/settings.ts lines 119-126 (renderLabels); ${GEXFJS} lines 1019-1040`,
|
|
280
|
-
},
|
|
281
443
|
{
|
|
282
444
|
kind: "colorFromEndNodes",
|
|
283
|
-
source: `${GEPHI} DefaultPreset.java
|
|
284
|
-
"PreviewAPI types/EdgeColor.java lines 89-93",
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
kind: "borderFromFill",
|
|
288
|
-
darken: 0.498,
|
|
289
|
-
widthFactor: 0.08,
|
|
290
|
-
source: `${GEPHI} DefaultPreset.java lines 84, 86 (DependantColor DARKER, NODE_BORDER_FIXED false); ` +
|
|
291
|
-
"PreviewAPI types/DependantColor.java lines 55, 85-86; Utils ColorUtils.java lines 22-34; " +
|
|
292
|
-
"PreviewPlugin renderers/SizeUtils.java lines 11, 33-38 (0.16 x size / 2 of a node drawn " +
|
|
293
|
-
"size x 2 wide, builders/NodeBuilder.java line 65)",
|
|
294
|
-
},
|
|
295
|
-
{
|
|
296
|
-
kind: "labelSizeFromWidth",
|
|
297
|
-
factor: 1.2,
|
|
298
|
-
source: `${GEPHI} DefaultPreset.java lines 93, 98 (Arial 12, NODE_LABEL_PROPORTIONAL_SIZE true); ` +
|
|
299
|
-
"PreviewPlugin renderers/NodeLabelRenderer.java lines 165-173 (12 x the node drawn size x 2 " +
|
|
300
|
-
"wide x 0.05, builders/NodeBuilder.java line 65)",
|
|
445
|
+
source: `${GEPHI} DefaultPreset.java (EDGE_COLOR EdgeColor.Mode.MIXED); Gephi Toolkit 0.11.3 SVG export`,
|
|
301
446
|
},
|
|
302
447
|
{
|
|
303
448
|
kind: "widthFromWeight",
|
|
@@ -314,26 +459,56 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
314
459
|
tool: "vis-network",
|
|
315
460
|
version: "vis-network 10.1.2",
|
|
316
461
|
units: "px",
|
|
462
|
+
roundedCornerRadius: cornerCap("vis-network"),
|
|
463
|
+
arrowhead: {
|
|
464
|
+
// EdgeBase.getArrowData: 15 * scaleFactor + 3 * width; ArrowHead's points at -1, +-0.3
|
|
465
|
+
length: (size, width) => 15 * size + 3 * width,
|
|
466
|
+
aspect: 0.6,
|
|
467
|
+
// 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
|
|
468
|
+
// length square, its circle 0.8 of the length across, and its curve and inv_curve arcs have a
|
|
469
|
+
// radius of 0.4 of it
|
|
470
|
+
shapes: {
|
|
471
|
+
tee: { length: 0.15, aspect: 1 / 0.15 },
|
|
472
|
+
square: { length: 0.6, aspect: 1 },
|
|
473
|
+
circle: { length: 0.8, aspect: 1 },
|
|
474
|
+
"other:curve": { length: 0.4, aspect: 2 },
|
|
475
|
+
"other:inv-curve": { length: 0.4, aspect: 2 },
|
|
476
|
+
},
|
|
477
|
+
source: `${VIS} EdgeBase.getArrowData, ArrowHead, Bar, Box, Circle, Curve, InvertedCurve (measured on json-vis-unix, json-vis-world, json-vis-synth)`,
|
|
478
|
+
},
|
|
479
|
+
nodeBorderOnScreen: v(true, `${VIS9} NodeBase.initContextForDraw and performStroke: borderWidth / view.scale, at most the node's width`),
|
|
317
480
|
node: {
|
|
318
481
|
fill: v("#97c2fc", `${VIS} lines 32986-33110`),
|
|
319
482
|
borderColor: v("#2b7ce9", `${VIS} lines 32986-33110`),
|
|
320
483
|
borderWidth: v(1, `${VIS} lines 32986-33110`),
|
|
484
|
+
// a canvas stroke along the node's own outline, half in and half out (NodeBase.performStroke)
|
|
485
|
+
borderPosition: v("center", `${VIS9} NodeBase.performStroke: ctx.stroke() on the shape's own path`),
|
|
321
486
|
shape: v("ellipse", `${VIS} lines 32986-33110`),
|
|
322
487
|
labelColor: v("#343434", `${VIS} lines 32986-33110`),
|
|
323
488
|
labelSize: v(14, `${VIS} lines 32986-33110`),
|
|
324
489
|
labelFont: v("arial", `${VIS} lines 32986-33110`),
|
|
325
490
|
labelPosition: v("center", `${VIS} lines 32986-33110`),
|
|
491
|
+
// Label.draw returns before drawing when the font is under drawThreshold - 1 px on screen
|
|
492
|
+
labelMinScreenSize: v(4, `${VIS9} Label.draw, nodes scaling.label.drawThreshold 5`),
|
|
326
493
|
},
|
|
327
494
|
edge: {
|
|
328
495
|
width: v(1, `${VIS} lines 25160-25290`),
|
|
496
|
+
outlineColor: v("#6f6f6f", `${VIS} lines 25160-25290 (background.color)`),
|
|
329
497
|
lineStyle: v("solid", `${VIS} lines 25160-25290 (dashes false)`),
|
|
330
498
|
sourceArrow: v("none", `${VIS} lines 25160-25290`),
|
|
331
499
|
targetArrow: v("none", `${VIS} lines 25160-25290`),
|
|
332
500
|
labelColor: v("#343434", `${VIS} lines 25160-25290`),
|
|
333
501
|
labelSize: v(14, `${VIS} lines 25160-25290`),
|
|
334
502
|
labelFont: v("arial", `${VIS} lines 25160-25290`),
|
|
503
|
+
labelMinScreenSize: v(4, `${VIS9} Label.draw, edges scaling.label.drawThreshold 5`),
|
|
504
|
+
// an edge label is drawn on the line, its letters stroked white 2 px wide (font.strokeWidth 2)
|
|
505
|
+
labelPosition: v("center", `${VIS9} Edge.drawLabel (the label at the line's middle point)`),
|
|
506
|
+
labelOutlineColor: v("#ffffff", `${VIS} lines 25160-25290 (font.strokeColor)`),
|
|
507
|
+
labelOutlineWidth: v(2, `${VIS} lines 25160-25290 (font.strokeWidth)`),
|
|
508
|
+
},
|
|
509
|
+
graph: {
|
|
510
|
+
background: v("#ffffff", "vis-network 9.1.9 vis-network.esm.js line 32378 (clearRect: the page's white shows through)"),
|
|
335
511
|
},
|
|
336
|
-
graph: {},
|
|
337
512
|
derived: [
|
|
338
513
|
{ kind: "labelFromColumn", column: "label", source: `${VIS} lines 32986-33110` },
|
|
339
514
|
{ kind: "colorFromSourceNode", source: `${VIS} lines 25160-25290 (color.inherit "from")` },
|
|
@@ -341,50 +516,95 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
341
516
|
},
|
|
342
517
|
{
|
|
343
518
|
tool: "sigma",
|
|
344
|
-
version: "sigma
|
|
519
|
+
version: "sigma 4.0.1",
|
|
345
520
|
units: "relative",
|
|
521
|
+
roundedCornerRadius: cornerCap("sigma"),
|
|
346
522
|
node: {
|
|
347
|
-
fill: v("#
|
|
523
|
+
fill: v("#666666", `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (color "#666")`),
|
|
348
524
|
shape: v("ellipse", `${SIGMA}/settings.ts lines 119-126`),
|
|
349
|
-
width: v(
|
|
350
|
-
height: v(
|
|
525
|
+
width: v(20, `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (size 10 is a radius)`),
|
|
526
|
+
height: v(20, `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (size 10 is a radius)`),
|
|
351
527
|
labelColor: v("#000000", `${SIGMA}/settings.ts lines 119-126`),
|
|
352
528
|
labelFont: v("Arial", `${SIGMA}/settings.ts lines 119-126`),
|
|
353
|
-
labelSize
|
|
529
|
+
// sigma 4 sets every node's labelSize to 12 before its styles run; the 14 in sigma.esm.js
|
|
530
|
+
// (`defaultLabelSize`) is only reached by a node whose styles cleared it.
|
|
531
|
+
labelSize: v(12, `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (labelSize 12)`),
|
|
354
532
|
labelWeight: v("normal", `${SIGMA}/settings.ts lines 119-126`),
|
|
533
|
+
labelPosition: v("right", `${SIGMA4} DEFAULT_NODE_DISPLAY_DATA (labelPosition "right")`),
|
|
534
|
+
// sigma keeps the largest node's label per 100 px cell of its first framing; it avoids no overlap
|
|
535
|
+
labelGridCellSize: v(100, `${SIGMA4} LabelGrid.getLabelsToDisplay (labelDensity 1, labelGridCellSize 100)`),
|
|
536
|
+
labelOnTop: v(true, `${SIGMA4} labels are drawn by their own program after every node and edge`),
|
|
537
|
+
// a node's label is drawn only while its node's rendered size (a radius) is 6 px or more
|
|
538
|
+
labelMinNodeScreenSize: v(12, `${SIGMA4} renderLabels (labelRenderedSizeThreshold 6, a radius)`),
|
|
355
539
|
},
|
|
356
540
|
edge: {
|
|
357
541
|
color: v("#cccccc", `${SIGMA}/settings.ts lines 119-126`),
|
|
358
|
-
|
|
542
|
+
// an edge of sigma's default size 1, drawn half as wide as its size (readSigmaRow)
|
|
543
|
+
width: v(0.5, `${SIGMA4} DEFAULT_EDGE_DISPLAY_DATA (size 1)`),
|
|
544
|
+
// an edge label (renderEdgeLabels) is drawn at its line's middle, 12 px, in #666
|
|
545
|
+
labelColor: v("#666666", `${SIGMA4} DEFAULT_EDGE_DISPLAY_DATA (labelColor "#666")`),
|
|
546
|
+
labelSize: v(12, "sigma 4.0.1 dist/sigma.esm.js line 2816 (DEFAULT_EDGE_LABEL_SIZE)"),
|
|
547
|
+
labelPosition: v("center", "sigma 4.0.1 dist/sigma.esm.js line 3647 (the middle of its two ends)"),
|
|
359
548
|
sourceArrow: v("none", `${SIGMA}/settings.ts lines 119-126 (type line)`),
|
|
360
549
|
targetArrow: v("none", `${SIGMA}/settings.ts lines 119-126 (type line)`),
|
|
550
|
+
// no edge is drawn thinner on screen, whatever its size (the shader's max(size, minEdgeThickness 1.7),
|
|
551
|
+
// drawn half as wide as a node of that size is in radius, as readSigmaRow halves a size)
|
|
552
|
+
minScreenWidth: v(0.85, `${SIGMA4} edge program (pixelsThickness = max(size, minEdgeThickness 1.7))`),
|
|
553
|
+
},
|
|
554
|
+
graph: {
|
|
555
|
+
background: v("#ffffff", "sigma 4.0.1 dist/sigma.esm.js line 5202 (gl.clear to transparent: the page's white shows through)"),
|
|
361
556
|
},
|
|
362
|
-
graph: {},
|
|
363
557
|
derived: [{ kind: "labelFromColumn", column: "label", source: `${SIGMA}/settings.ts lines 119-126` }],
|
|
364
558
|
},
|
|
365
559
|
{
|
|
366
560
|
tool: "pajek",
|
|
367
561
|
version: "Pajek 6.02",
|
|
368
|
-
|
|
562
|
+
// PostScript points, the unit of Pajek's EPS and SVG export (formats/pajek/styles.ts)
|
|
563
|
+
units: "px",
|
|
564
|
+
roundedCornerRadius: cornerCap("pajek"),
|
|
565
|
+
// a line's `s` (arrowSize) scales Pajek's arrowhead whatever its width: 6 x s long (tip to its back
|
|
566
|
+
// corners) and 5 x s wide
|
|
567
|
+
arrowhead: {
|
|
568
|
+
length: (size) => 6 * size,
|
|
569
|
+
aspect: 5 / 6,
|
|
570
|
+
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)`,
|
|
571
|
+
},
|
|
369
572
|
node: {
|
|
370
573
|
shape: v("ellipse", `${PAJEK} p. 85`),
|
|
371
574
|
opacity: v(1, `${PAJEK} p. 87`),
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
575
|
+
// Pajek 6.02's own defaults, as its SVG export draws a vertex and label the file gives no
|
|
576
|
+
// parameters for (the manual names these settings but not their values)
|
|
577
|
+
borderColor: v("#660000", `${PAJEK_SVG}football, kdorola: every vertex without bc)`),
|
|
578
|
+
borderWidth: v(0.5, `${PAJEK_SVG}football, kdorola: every vertex without bw)`),
|
|
579
|
+
// an SVG stroke along the vertex's own outline, half in and half out
|
|
580
|
+
borderPosition: v("center", `${PAJEK_SVG}specimen-node-fills-borders-p3: bw 8 draws a vertex of size 36 44 across)`),
|
|
581
|
+
width: v(20, `${PAJEK_SVG}football, iliad: a vertex without s_size, x_fact or y_fact)`),
|
|
582
|
+
height: v(20, `${PAJEK_SVG}football, iliad: a vertex without s_size, x_fact or y_fact)`),
|
|
583
|
+
fill: v("#ffd9bc", `${PAJEK_SVG}football, kdorola: every vertex without ic)`),
|
|
584
|
+
labelColor: v("#ad0000", `${PAJEK_SVG}football, 1crn: every label without lc)`),
|
|
585
|
+
labelSize: v(15, `${PAJEK_SVG}football, 1crn: every label without fos)`),
|
|
586
|
+
labelFont: v("Arial", `${PAJEK_SVG}football, 1crn: every label without font)`),
|
|
587
|
+
labelWeight: v("bold", `${PAJEK_SVG}football, 1crn: every label is bold)`),
|
|
588
|
+
// the text starts 20 from the center at lphi 285 and runs to the right, its baseline through
|
|
589
|
+
// that point: its left edge's middle at 20 cos 285 across and 20 sin 285 less 0.3465 of its
|
|
590
|
+
// size down (formats/pajek/styles.ts readLabelPosition)
|
|
591
|
+
labelPosition: v("center", `${PAJEK_SVG}football, 1crn, specimen-labels: lr 20 lphi 285)`),
|
|
592
|
+
labelOffsetX: v(5.176380902, `${PAJEK_SVG}football, 1crn, specimen-labels: lr 20 lphi 285)`),
|
|
593
|
+
labelOffsetY: v(14.121016526, `${PAJEK_SVG}football, 1crn, specimen-labels: lr 20 lphi 285)`),
|
|
594
|
+
labelShiftX: v(0.5, `${PAJEK_SVG}football, 1crn, specimen-labels: text-anchor start)`),
|
|
376
595
|
},
|
|
377
596
|
edge: {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
// of the drawing was scaled by, and a border 0.2 wide was drawn far too thin to see.
|
|
597
|
+
// an edge (undirected) is drawn twice the width of an arc; the arc rule below sets an arc's
|
|
598
|
+
width: v(2, `${PAJEK_SVG}1crn, lin-rel4, synth-vertices: edges without w; c: w 0.5 drawn 1)`),
|
|
599
|
+
color: v("#007091", `${PAJEK_SVG}1crn, lin-rel4, c: edges without c)`),
|
|
382
600
|
lineStyle: v("solid", `${PAJEK} p. 90`),
|
|
383
601
|
opacity: v(1, `${PAJEK} p. 87`),
|
|
384
602
|
sourceArrow: v("none", `${PAJEK} p. 91`),
|
|
385
603
|
targetArrow: v("none", `${PAJEK} p. 91 (edges have none)`),
|
|
386
604
|
},
|
|
387
|
-
graph: {
|
|
605
|
+
graph: {
|
|
606
|
+
background: v("#ffffff", `${PAJEK}, Draw window (assumed: a white background)`),
|
|
607
|
+
},
|
|
388
608
|
derived: [
|
|
389
609
|
{ kind: "labelFromColumn", column: "label", source: `${PAJEK}, vertex labels (drawn by default)` },
|
|
390
610
|
{ kind: "targetArrowOnDirected", arrow: "triangle", source: `${PAJEK} p. 91 (arcs)` },
|
|
@@ -394,6 +614,13 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
394
614
|
tool: "ogdf",
|
|
395
615
|
version: "ogdf master 1a40505ac006",
|
|
396
616
|
units: "px",
|
|
617
|
+
roundedCornerRadius: cornerCap("ogdf"),
|
|
618
|
+
// OGDF's arrowhead is three times its line's width long and half as wide as it is long
|
|
619
|
+
arrowhead: {
|
|
620
|
+
length: (size, width) => 3 * width * size,
|
|
621
|
+
aspect: 0.5,
|
|
622
|
+
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)`,
|
|
623
|
+
},
|
|
397
624
|
node: {
|
|
398
625
|
fill: v("#ffffff", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
399
626
|
shape: v("rectangle", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
@@ -402,19 +629,29 @@ export const TOOL_DEFAULTS = new Map([
|
|
|
402
629
|
borderColor: v("#000000", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
403
630
|
borderWidth: v(1, `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
404
631
|
borderStyle: v("solid", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
632
|
+
// GraphIO::drawSVG's default SVGSettings: every label in one font, centered on its node
|
|
633
|
+
labelColor: v("#000000", `${OGDF_SVG}fill #000000)`),
|
|
634
|
+
labelFont: v("Arial", `${OGDF_SVG}font-family Arial)`),
|
|
635
|
+
labelSize: v(10, `${OGDF_SVG}font-size 10)`),
|
|
636
|
+
labelPosition: v("center", `${OGDF_SVG}text-anchor middle at the node's center)`),
|
|
405
637
|
},
|
|
406
638
|
edge: {
|
|
407
639
|
color: v("#000000", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
408
640
|
width: v(1, `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
409
641
|
lineStyle: v("solid", `${OGDF} LayoutStandards.cpp lines 38-45`),
|
|
642
|
+
labelColor: v("#000000", `${OGDF_SVG}fill #000000)`),
|
|
643
|
+
labelFont: v("Arial", `${OGDF_SVG}font-family Arial)`),
|
|
644
|
+
labelSize: v(10, `${OGDF_SVG}font-size 10)`),
|
|
645
|
+
labelPosition: v("center", `${OGDF_SVG}text-anchor middle on the line, dominant-baseline middle)`),
|
|
410
646
|
},
|
|
411
|
-
graph: {},
|
|
647
|
+
graph: { background: v("#ffffff", `${OGDF_SVG}no background: the page's white shows through)`) },
|
|
412
648
|
derived: [],
|
|
413
649
|
},
|
|
414
650
|
{
|
|
415
651
|
tool: "networkx",
|
|
416
652
|
version: "networkx 3.7 (main 6da4704cbf32)",
|
|
417
653
|
units: "px",
|
|
654
|
+
roundedCornerRadius: cornerCap("networkx"),
|
|
418
655
|
node: {
|
|
419
656
|
fill: v("#1f78b4", `${NX} 1378`),
|
|
420
657
|
fillOpacity: v(1, `${NX} 549`),
|