@graphty/graph-io 0.3.29 → 0.3.31

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.
Files changed (141) hide show
  1. package/dist/chunks/{choose-DT5da6OC.js → choose-BJq_vp1b.js} +2 -2
  2. package/dist/chunks/{choose-DT5da6OC.js.map → choose-BJq_vp1b.js.map} +1 -1
  3. package/dist/chunks/{constants-DowRD9ai.js → constants-Bw-6JQuC.js} +2 -2
  4. package/dist/chunks/{constants-DowRD9ai.js.map → constants-Bw-6JQuC.js.map} +1 -1
  5. package/dist/chunks/{escape-DQC5HWqF.js → escape-CnTfa_y8.js} +2 -2
  6. package/dist/chunks/{escape-DQC5HWqF.js.map → escape-CnTfa_y8.js.map} +1 -1
  7. package/dist/chunks/{export-CVi12U7J.js → export-ZucVKiU4.js} +97 -91
  8. package/dist/chunks/{export-CVi12U7J.js.map → export-ZucVKiU4.js.map} +1 -1
  9. package/dist/chunks/{exporter-JubAlNWi.js → exporter-BOLJIzvA.js} +5 -5
  10. package/dist/chunks/exporter-BOLJIzvA.js.map +1 -0
  11. package/dist/chunks/{exporter-C3Pa2PSd.js → exporter-DRNkA2k0.js} +9 -10
  12. package/dist/chunks/exporter-DRNkA2k0.js.map +1 -0
  13. package/dist/chunks/{exporter-Cy_1da4c.js → exporter-DgDjwLOm.js} +7 -8
  14. package/dist/chunks/exporter-DgDjwLOm.js.map +1 -0
  15. package/dist/chunks/{exporter-CgsO2nSl.js → exporter-hc2ZuqVe.js} +8 -7
  16. package/dist/chunks/{exporter-CgsO2nSl.js.map → exporter-hc2ZuqVe.js.map} +1 -1
  17. package/dist/chunks/{importer-Dej72hIF.js → importer-BAlFKpHP.js} +10 -9
  18. package/dist/chunks/importer-BAlFKpHP.js.map +1 -0
  19. package/dist/chunks/{importer-CDXlxXlS.js → importer-ByCd2CAY.js} +11 -20
  20. package/dist/chunks/importer-ByCd2CAY.js.map +1 -0
  21. package/dist/chunks/{importer-lLH9gQF_.js → importer-CaLIrkjL.js} +10 -19
  22. package/dist/chunks/importer-CaLIrkjL.js.map +1 -0
  23. package/dist/chunks/{importer-q-R-Q98w.js → importer-D7xB8oVV.js} +4 -4
  24. package/dist/chunks/{importer-q-R-Q98w.js.map → importer-D7xB8oVV.js.map} +1 -1
  25. package/dist/chunks/{importer-DLz2Vb4q.js → importer-DsNj_zoG.js} +5 -5
  26. package/dist/chunks/importer-DsNj_zoG.js.map +1 -0
  27. package/dist/chunks/{importer-BA_hZKo7.js → importer-WPz-AUz8.js} +6 -6
  28. package/dist/chunks/importer-WPz-AUz8.js.map +1 -0
  29. package/dist/chunks/{importer-DVxzzibh.js → importer-rjFCmKfx.js} +5 -5
  30. package/dist/chunks/{importer-DVxzzibh.js.map → importer-rjFCmKfx.js.map} +1 -1
  31. package/dist/chunks/{json-elements-1IUzkRNy.js → json-elements-CkC87El2.js} +12 -16
  32. package/dist/chunks/{json-elements-1IUzkRNy.js.map → json-elements-CkC87El2.js.map} +1 -1
  33. package/dist/chunks/{ontology-export-b0GLNIj-.js → ontology-export-BRErBO6J.js} +11 -9
  34. package/dist/chunks/ontology-export-BRErBO6J.js.map +1 -0
  35. package/dist/chunks/{records-CdyqwXeY.js → records-DwfSjH8c.js} +2 -2
  36. package/dist/chunks/{records-CdyqwXeY.js.map → records-DwfSjH8c.js.map} +1 -1
  37. package/dist/chunks/{text-CDgjbkLC.js → text-BEEWD-G1.js} +2 -2
  38. package/dist/chunks/{text-CDgjbkLC.js.map → text-BEEWD-G1.js.map} +1 -1
  39. package/dist/csv.js +4 -4
  40. package/dist/cx.js +1 -1
  41. package/dist/cx2.js +2 -2
  42. package/dist/cys.js +1 -1
  43. package/dist/dot.js +1 -1
  44. package/dist/gexf.js +9 -8
  45. package/dist/gexf.js.map +1 -1
  46. package/dist/gml.js +3 -3
  47. package/dist/graph-io.js +69 -69
  48. package/dist/graphml.js +2 -2
  49. package/dist/json.js +1 -1
  50. package/dist/neo4j.js +3 -3
  51. package/dist/obo.js +1 -1
  52. package/dist/pajek.js +1 -1
  53. package/dist/src/common/export.d.ts +6 -1
  54. package/dist/src/common/export.d.ts.map +1 -1
  55. package/dist/src/common/export.js +18 -2
  56. package/dist/src/common/export.js.map +1 -1
  57. package/dist/src/common/format.d.ts +0 -8
  58. package/dist/src/common/format.d.ts.map +1 -1
  59. package/dist/src/common/format.js +0 -10
  60. package/dist/src/common/format.js.map +1 -1
  61. package/dist/src/common/json-elements.d.ts +1 -9
  62. package/dist/src/common/json-elements.d.ts.map +1 -1
  63. package/dist/src/common/json-elements.js +2 -12
  64. package/dist/src/common/json-elements.js.map +1 -1
  65. package/dist/src/common/ontology-export.d.ts.map +1 -1
  66. package/dist/src/common/ontology-export.js +11 -15
  67. package/dist/src/common/ontology-export.js.map +1 -1
  68. package/dist/src/formats/cx/importer.d.ts.map +1 -1
  69. package/dist/src/formats/cx/importer.js +3 -3
  70. package/dist/src/formats/cx/importer.js.map +1 -1
  71. package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
  72. package/dist/src/formats/cx2/exporter.js +2 -4
  73. package/dist/src/formats/cx2/exporter.js.map +1 -1
  74. package/dist/src/formats/cx2/importer.d.ts.map +1 -1
  75. package/dist/src/formats/cx2/importer.js +3 -3
  76. package/dist/src/formats/cx2/importer.js.map +1 -1
  77. package/dist/src/formats/cys/exporter.d.ts.map +1 -1
  78. package/dist/src/formats/cys/exporter.js +4 -3
  79. package/dist/src/formats/cys/exporter.js.map +1 -1
  80. package/dist/src/formats/dot/exporter.js +1 -1
  81. package/dist/src/formats/dot/importer.d.ts +2 -2
  82. package/dist/src/formats/dot/importer.d.ts.map +1 -1
  83. package/dist/src/formats/dot/importer.js +7 -11
  84. package/dist/src/formats/dot/importer.js.map +1 -1
  85. package/dist/src/formats/gexf/exporter.d.ts +2 -2
  86. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  87. package/dist/src/formats/gexf/exporter.js +7 -5
  88. package/dist/src/formats/gexf/exporter.js.map +1 -1
  89. package/dist/src/formats/gexf/schema.js +1 -1
  90. package/dist/src/formats/json/exporter.js +1 -1
  91. package/dist/src/formats/json/importer.d.ts.map +1 -1
  92. package/dist/src/formats/json/importer.js +4 -6
  93. package/dist/src/formats/json/importer.js.map +1 -1
  94. package/dist/src/formats/obo/exporter.d.ts +2 -2
  95. package/dist/src/formats/obo/exporter.js +2 -2
  96. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  97. package/dist/src/formats/pajek/exporter.js +5 -4
  98. package/dist/src/formats/pajek/exporter.js.map +1 -1
  99. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  100. package/dist/src/formats/pajek/importer.js +3 -7
  101. package/dist/src/formats/pajek/importer.js.map +1 -1
  102. package/dist/src/formats/pajek/syntax.d.ts +1 -1
  103. package/dist/src/formats/pajek/syntax.js +1 -1
  104. package/dist/src/formats/xgmml/constants.d.ts +1 -1
  105. package/dist/src/formats/xgmml/constants.js +1 -1
  106. package/dist/src/formats/xgmml/emit.js +1 -1
  107. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
  108. package/dist/src/formats/xgmml/exporter.js +4 -3
  109. package/dist/src/formats/xgmml/exporter.js.map +1 -1
  110. package/dist/xgmml.js +2 -2
  111. package/package.json +2 -2
  112. package/src/common/export.ts +25 -3
  113. package/src/common/format.ts +0 -11
  114. package/src/common/json-elements.ts +2 -13
  115. package/src/common/ontology-export.ts +12 -17
  116. package/src/formats/cx/importer.ts +2 -3
  117. package/src/formats/cx2/exporter.ts +2 -4
  118. package/src/formats/cx2/importer.ts +2 -3
  119. package/src/formats/cys/exporter.ts +4 -3
  120. package/src/formats/dot/exporter.ts +1 -1
  121. package/src/formats/dot/importer.ts +7 -17
  122. package/src/formats/gexf/exporter.ts +7 -5
  123. package/src/formats/gexf/schema.ts +1 -1
  124. package/src/formats/json/exporter.ts +1 -1
  125. package/src/formats/json/importer.ts +4 -7
  126. package/src/formats/obo/exporter.ts +2 -2
  127. package/src/formats/pajek/exporter.ts +5 -4
  128. package/src/formats/pajek/importer.ts +3 -13
  129. package/src/formats/pajek/syntax.ts +1 -1
  130. package/src/formats/xgmml/constants.ts +1 -1
  131. package/src/formats/xgmml/emit.ts +1 -1
  132. package/src/formats/xgmml/exporter.ts +4 -3
  133. package/dist/chunks/exporter-C3Pa2PSd.js.map +0 -1
  134. package/dist/chunks/exporter-Cy_1da4c.js.map +0 -1
  135. package/dist/chunks/exporter-JubAlNWi.js.map +0 -1
  136. package/dist/chunks/importer-BA_hZKo7.js.map +0 -1
  137. package/dist/chunks/importer-CDXlxXlS.js.map +0 -1
  138. package/dist/chunks/importer-DLz2Vb4q.js.map +0 -1
  139. package/dist/chunks/importer-Dej72hIF.js.map +0 -1
  140. package/dist/chunks/importer-lLH9gQF_.js.map +0 -1
  141. package/dist/chunks/ontology-export-b0GLNIj-.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/exporter.ts"],"names":[],"mappings":"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"}
package/dist/xgmml.js CHANGED
@@ -1,5 +1,5 @@
1
- import { X, a, x } from "./chunks/importer-DVxzzibh.js";
2
- import { x as x2 } from "./chunks/exporter-CgsO2nSl.js";
1
+ import { X, a, x } from "./chunks/importer-rjFCmKfx.js";
2
+ import { x as x2 } from "./chunks/exporter-hc2ZuqVe.js";
3
3
  export {
4
4
  X as XGMML_ISSUE,
5
5
  a as XGMML_LOSS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphty/graph-io",
3
- "version": "0.3.29",
3
+ "version": "0.3.31",
4
4
  "description": "Read and write 13 graph file formats (JSON, GraphML, GEXF, CSV, GML, DOT, Pajek, Neo4j CSV, XGMML, CX2, CX, OBO, Cytoscape sessions) as @graphty/graph-format snapshots",
5
5
  "author": "Adam Powers <apowers@ato.ms>",
6
6
  "type": "module",
@@ -121,7 +121,7 @@
121
121
  },
122
122
  "homepage": "https://graphty.app/docs/graph-io/",
123
123
  "dependencies": {
124
- "@graphty/graph-format": "^1.3.8"
124
+ "@graphty/graph-format": "^1.3.9"
125
125
  },
126
126
  "peerDependencies": {
127
127
  "@graphty/graph-format": "^1.0.0"
@@ -293,9 +293,14 @@ export interface CheckExtras {
293
293
  /**
294
294
  * Roles the format writes into a fixed slot whose importer reads them back under a fixed name;
295
295
  * a role column named otherwise is reported as W_COLUMN_NAME_CHANGED (role -> the name the
296
- * importer gives it). Defaults to none.
296
+ * importer gives it). Defaults to none. `nodeRoleNames` and `edgeRoleNames` override it for one
297
+ * kind, for a format whose slot exists for nodes only (or edges only).
297
298
  */
298
299
  readonly roleNames?: Readonly<Record<string, string>> | undefined;
300
+ /** Like `roleNames`, for node columns only. */
301
+ readonly nodeRoleNames?: Readonly<Record<string, string>> | undefined;
302
+ /** Like `roleNames`, for edge columns only: `{}` for a format with no edge slot for any role. */
303
+ readonly edgeRoleNames?: Readonly<Record<string, string>> | undefined;
299
304
  /**
300
305
  * False for a format that writes no node or edge attributes except the ones whose role is in
301
306
  * `roles`: every other attribute column is reported once as W_COLUMN_DROPPED, instead of the
@@ -555,6 +560,22 @@ function charsetText(charset: ExportCapabilities["idCharset"], n: number): strin
555
560
  }
556
561
  }
557
562
 
563
+ /**
564
+ * The role names of one kind (CheckExtras.nodeRoleNames / edgeRoleNames, else roleNames).
565
+ * @param domain - "node", "edge" or "graph"
566
+ * @param extras - format extras
567
+ * @returns the role names, or undefined when the extras name none
568
+ */
569
+ function roleNamesOf(domain: string, extras: CheckExtras): Readonly<Record<string, string>> | undefined {
570
+ if (domain === "node") {
571
+ return extras.nodeRoleNames ?? extras.roleNames;
572
+ }
573
+ if (domain === "edge") {
574
+ return extras.edgeRoleNames ?? extras.roleNames;
575
+ }
576
+ return extras.roleNames;
577
+ }
578
+
558
579
  /**
559
580
  * Whether a format writes the attributes of one kind (CheckExtras.nodeAttributes / edgeAttributes, else attributes).
560
581
  * @param domain - "node", "edge" or "graph"
@@ -622,8 +643,9 @@ function checkColumns(
622
643
  continue;
623
644
  }
624
645
  const label = `${domain} column "${name}"`;
625
- if (role !== null && extras.roleNames !== undefined) {
626
- const fixed = extras.roleNames[role];
646
+ const roleNames = roleNamesOf(domain, extras);
647
+ if (role !== null && roleNames !== undefined) {
648
+ const fixed = roleNames[role];
627
649
  if (fixed !== undefined && fixed !== name) {
628
650
  note(
629
651
  LOSS.COLUMN_NAME_CHANGED,
@@ -30,17 +30,6 @@ export function formatF32(value: number): string {
30
30
  return String(value);
31
31
  }
32
32
 
33
- /**
34
- * Whether a number read from a file keeps its decimal value in an f32 column: the shortest decimal
35
- * of its f32 rounding reads back as the same number (0.2 does; 123456789.123 and 0.123456789 do not).
36
- * @param value - a finite number
37
- * @returns true when nothing a reader would see is lost
38
- * @category Plugin helpers
39
- */
40
- export function survivesF32(value: number): boolean {
41
- return Number(formatF32(Math.fround(value))) === value;
42
- }
43
-
44
33
  /**
45
34
  * The shortest text of an f64 value: `String(x)`, which is already the shortest round-tripping
46
35
  * decimal in JS, except for negative zero, which `String()` writes as "0".
@@ -1655,7 +1655,7 @@ export const POSITION_COLUMN = "position";
1655
1655
  const Z_COLUMN = "z";
1656
1656
 
1657
1657
  /**
1658
- * The position column of a Cytoscape-family importer: f32 x3, y-up, 2 source dimensions.
1658
+ * The position column of a Cytoscape-family importer: f64 x3, y-up, 2 source dimensions.
1659
1659
  * @param format - the importer's format name
1660
1660
  * @param sourceDims - 3 when z goes into the position (zAs "position")
1661
1661
  * @returns the declaration
@@ -1664,7 +1664,7 @@ const Z_COLUMN = "z";
1664
1664
  export function positionDecl(format: string, sourceDims = 2): ColumnDecl {
1665
1665
  return {
1666
1666
  name: POSITION_COLUMN,
1667
- dtype: "f32",
1667
+ dtype: "f64",
1668
1668
  components: 3,
1669
1669
  role: "position",
1670
1670
  mutable: true,
@@ -1690,17 +1690,6 @@ export function zDecl(format: string): ColumnDecl {
1690
1690
  };
1691
1691
  }
1692
1692
 
1693
- /**
1694
- * Whether a coordinate fits the f32 position column: finite once rounded to f32 (1e39 and the
1695
- * Infinity of a literal like 1e400 do not, nor does NaN).
1696
- * @param value - the coordinate
1697
- * @returns true when the column can hold it
1698
- * @category Plugin helpers
1699
- */
1700
- export function fitsF32(value: number): boolean {
1701
- return Number.isFinite(Math.fround(value));
1702
- }
1703
-
1704
1693
  /**
1705
1694
  * The head of an input as text for a sniff: UTF-16 by its byte order mark, else UTF-8, never
1706
1695
  * failing, without the BOM.
@@ -8,7 +8,7 @@
8
8
 
9
9
  import { type Column, GraphFormatError, type GraphSnapshot } from "@graphty/graph-format";
10
10
 
11
- import { type ExportCapabilities, type LossNote } from "../types.js";
11
+ import { type ExportCapabilities } from "../types.js";
12
12
  import { COLUMN_AS_PROPERTY_VALUE_CODE, ROLE_ASSUMED_CODE } from "./codes.js";
13
13
  import { checkCapabilities, LOSS } from "./export.js";
14
14
  import { formatNumber } from "./format.js";
@@ -32,7 +32,8 @@ const SUPERSEDED: ReadonlySet<string> = new Set([
32
32
 
33
33
  /** The roles the ontology formats have a slot for, and the column names their importers give them. */
34
34
  const SLOT_ROLES: ReadonlySet<string> = new Set(["label", "kind"]);
35
- const ROLE_NAMES: Readonly<Record<string, string>> = Object.freeze({ label: "name", kind: "relation" });
35
+ const NODE_ROLE_NAMES: Readonly<Record<string, string>> = Object.freeze({ label: "name" });
36
+ const EDGE_ROLE_NAMES: Readonly<Record<string, string>> = Object.freeze({ kind: "relation" });
36
37
 
37
38
  /**
38
39
  * The roles whose columns are never written as values (their loss notes come from checkCapabilities()).
@@ -335,8 +336,15 @@ export function capabilityNotes(
335
336
  const { label, note } = spec;
336
337
  let fatal: GraphFormatError | null = null;
337
338
  const kind = snapshot.edges.byRole("kind");
338
- for (const gen of checkCapabilities(snapshot, spec.caps, common, { roles: SLOT_ROLES, roleNames: ROLE_NAMES })) {
339
- if (SUPERSEDED.has(gen.code) || (gen.code === LOSS.COLUMN_NAME_CHANGED && !isSlotRename(gen, label, kind))) {
339
+ // a node label goes into the name slot and an edge kind into the relation slot, when written there;
340
+ // an edge label has no slot (it becomes edge qualifiers or metadata), so it is never renamed
341
+ const extras = {
342
+ roles: SLOT_ROLES,
343
+ nodeRoleNames: label === null ? {} : NODE_ROLE_NAMES,
344
+ edgeRoleNames: kind !== null && isText(kind) ? EDGE_ROLE_NAMES : {},
345
+ };
346
+ for (const gen of checkCapabilities(snapshot, spec.caps, common, extras)) {
347
+ if (SUPERSEDED.has(gen.code)) {
340
348
  continue;
341
349
  }
342
350
  if (gen.code === LOSS.MIXED_DIRECTION_ERROR && fatal === null) {
@@ -384,19 +392,6 @@ function slotlessRoleNotes(snapshot: GraphSnapshot, spec: CapabilityNoteSpec): v
384
392
  }
385
393
  }
386
394
 
387
- /**
388
- * Whether a name-change note is about a column written into its slot: the node label, or a text
389
- * edge kind column.
390
- * @param gen - the note
391
- * @param label - the node label column, or null
392
- * @param kind - the edge kind column, or null
393
- * @returns true when it is
394
- */
395
- function isSlotRename(gen: LossNote, label: Column | null, kind: Column | null): boolean {
396
- const isLabel = label !== null && gen.column === label.meta.name;
397
- return isLabel || (kind !== null && gen.column === kind.meta.name && isText(kind));
398
- }
399
-
400
395
  /**
401
396
  * Record the columns that read back absent: a node or edge column without a set cell on a written
402
397
  * element (the importers declare a column when a value needs it).
@@ -86,7 +86,6 @@ import {
86
86
  CxStructure,
87
87
  declareFresh,
88
88
  ExactInteger,
89
- fitsF32,
90
89
  flipY,
91
90
  headText,
92
91
  inexactLiteral,
@@ -2445,11 +2444,11 @@ class CxReader {
2445
2444
  );
2446
2445
  continue;
2447
2446
  }
2448
- if (!fitsF32(value.x) || !fitsF32(value.y)) {
2447
+ if (!Number.isFinite(value.x) || !Number.isFinite(value.y)) {
2449
2448
  this.report.error(
2450
2449
  "validation-error",
2451
2450
  BAD_VALUE_CODE,
2452
- `a cartesianLayout element for node ${shown(value.node)} has the coordinates ${String(value.x)}, ${String(value.y)}, beyond what the f32 position column holds; skipped`,
2451
+ `a cartesianLayout element for node ${shown(value.node)} has the coordinates ${String(value.x)}, ${String(value.y)}, which are not both finite; skipped`,
2453
2452
  { line, element: "cartesianLayout" },
2454
2453
  );
2455
2454
  continue;
@@ -297,6 +297,8 @@ function capabilityNotes(
297
297
  for (const gen of checkCapabilities(snapshot, CX2_CAPABILITIES, common, {
298
298
  roles: SLOT_ROLES,
299
299
  roleNames: ROLE_NAMES,
300
+ // only the node label is written into the "n" slot; an edge label keeps its own name
301
+ edgeRoleNames: {},
300
302
  })) {
301
303
  if (!keepGenericNote(gen, bypassNames)) {
302
304
  continue;
@@ -337,10 +339,6 @@ function keepGenericNote(gen: LossNote, bypassNames: ReadonlySet<string>): boole
337
339
  if (gen.column !== null && bypassNames.has(gen.column) && (gen.code === LOSS.JSON || gen.code === LOSS.DTYPE)) {
338
340
  return false;
339
341
  }
340
- if (gen.code === LOSS.COLUMN_NAME_CHANGED && gen.message.startsWith("edge column")) {
341
- // only the node label is written into the "n" slot; an edge label keeps its own name
342
- return false;
343
- }
344
342
  // ids are counted by planNodeIds(): CX2 also keeps integer ids beyond 2^53, which the generic rule refuses
345
343
  return gen.code !== LOSS.ID_CHARSET && gen.code !== LOSS.ID_MANGLED;
346
344
  }
@@ -79,7 +79,6 @@ import {
79
79
  CxStructure,
80
80
  declareFresh,
81
81
  ExactInteger,
82
- fitsF32,
83
82
  flipY,
84
83
  headText,
85
84
  inexactLiteral,
@@ -1638,11 +1637,11 @@ class Cx2Reader {
1638
1637
  `${CX2_ISSUE.PARTIAL_LAYOUT}:z`,
1639
1638
  );
1640
1639
  }
1641
- if (x !== null && y !== null && (!fitsF32(x) || !fitsF32(y))) {
1640
+ if (x !== null && y !== null && (!Number.isFinite(x) || !Number.isFinite(y))) {
1642
1641
  this.report.error(
1643
1642
  "validation-error",
1644
1643
  BAD_VALUE_CODE,
1645
- `${element}: the coordinates ${String(x)}, ${String(y)} are beyond what the f32 position column holds; the position is unset`,
1644
+ `${element}: the coordinates ${String(x)}, ${String(y)} are not both finite; the position is unset`,
1646
1645
  { line, element },
1647
1646
  );
1648
1647
  } else if (x !== null && y !== null) {
@@ -966,7 +966,7 @@ function plan(snapshot: GraphSnapshot, common: ResolvedExportOptions): Plan {
966
966
  for (const gen of checkCapabilities(snapshot, CYS_CAPABILITIES, common, {
967
967
  roles: SLOT_ROLES,
968
968
  roleNames: ROLE_NAMES,
969
- positionDtype: "f32",
969
+ positionDtype: "f64",
970
970
  })) {
971
971
  // json is reported per column below; ids by the SUID rule (positive integers)
972
972
  if (gen.code !== LOSS.JSON && gen.code !== LOSS.ID_CHARSET && gen.code !== LOSS.ID_MANGLED) {
@@ -1224,8 +1224,9 @@ function viewCoords(p: Plan, i: number): string[] {
1224
1224
  const coords: string[] = [];
1225
1225
  if (p.position?.isSet(i) === true) {
1226
1226
  const [x, y, z] = Array.from(p.position.value(i) as ArrayLike<number>);
1227
+ const fmt = p.position.dtype === "f32" ? formatF32 : formatF64;
1227
1228
  if (Number.isFinite(x) && Number.isFinite(y)) {
1228
- coords.push(`x="${formatF32(x)}"`, `y="${formatF32(y === 0 ? 0 : -y)}"`);
1229
+ coords.push(`x="${fmt(x)}"`, `y="${fmt(y === 0 ? 0 : -y)}"`);
1229
1230
  }
1230
1231
  if (
1231
1232
  Number.isFinite(x) &&
@@ -1235,7 +1236,7 @@ function viewCoords(p: Plan, i: number): string[] {
1235
1236
  z !== 0 &&
1236
1237
  Number.isFinite(z)
1237
1238
  ) {
1238
- coords.push(`z="${formatF32(z)}"`);
1239
+ coords.push(`z="${fmt(z)}"`);
1239
1240
  }
1240
1241
  }
1241
1242
  if (p.z?.isSet(i) === true) {
@@ -206,7 +206,7 @@ export const dotExporter: GraphExporter<DotExportOptions> = Object.freeze({
206
206
  check(snapshot: GraphSnapshot, options?: DotExportOptions & CommonExportOptions): readonly LossNote[] {
207
207
  const resolved = resolveExportOptions(options);
208
208
  const notes = checkCapabilities(snapshot, CAPABILITIES, resolved, {
209
- positionDtype: "f32",
209
+ positionDtype: "f64",
210
210
  roles: KEPT_ROLES,
211
211
  roleNames: ROLE_NAMES,
212
212
  });
@@ -21,7 +21,7 @@
21
21
  * name (fdp's cluster edges) merge into that one node with a warning. Other subgraphs are
22
22
  * transparent grouping; their attributes are reported as dropped.
23
23
  * - attribute values are ID strings inferred per column by the sink under the 5.1 grammar, except
24
- * `label` (text, role label), `pos` on a node (the position role column, f32 x3, design section
24
+ * `label` (text, role label), `pos` on a node (the position role column, f64 x3, design section
25
25
  * 5.2), `weight` (THE weight, `weightFrom`) and `key` (cgraph's edge identity, the edge id role).
26
26
  * - ids are coerced with the common rule (`canonical` by default: `1` and `"1"` are the same node,
27
27
  * as the DOT grammar says).
@@ -68,7 +68,6 @@ import {
68
68
  UNKNOWN_ENCODING_CODE,
69
69
  } from "../../common/codes.js";
70
70
  import { DirectionResolver, type EdgeKind } from "../../common/direction.js";
71
- import { survivesF32 } from "../../common/format.js";
72
71
  import { IdCoercer } from "../../common/ids.js";
73
72
  import { canonicalEncoding, readText, throwIfAborted } from "../../common/input.js";
74
73
  import {
@@ -177,7 +176,7 @@ export const DOT_ISSUE = Object.freeze({
177
176
  CLUSTER_NODE_MERGED: "W_DOT_CLUSTER_NODE_MERGED",
178
177
  /** A node mentioned in two unrelated clusters keeps the first. */
179
178
  CLUSTER_CONFLICT: "W_DOT_CLUSTER_CONFLICT",
180
- /** A node's `pos` is not a point, or is too large for a 32-bit float position; the value was dropped. */
179
+ /** A node's `pos` is not a point, or has a coordinate that is not finite; the value was dropped. */
181
180
  BAD_POS: "W_DOT_BAD_POS",
182
181
  /** Node `pos` values mix two and three coordinates; the position column records the first's. */
183
182
  POS_DIMS: "W_DOT_POS_DIMS",
@@ -1672,25 +1671,16 @@ class DotParser {
1672
1671
  const z = match[3] === undefined ? 0 : Number(match[3]);
1673
1672
  const dims = match[3] === undefined ? 2 : 3;
1674
1673
  const point = [x, y, z];
1675
- if (point.some((v) => !Number.isFinite(Math.fround(v)))) {
1676
- // the position column is f32: a half-infinite point would be a half-valid position
1674
+ if (point.some((v) => !Number.isFinite(v))) {
1675
+ // a half-infinite point would be a half-valid position
1677
1676
  this.report.warning(
1678
1677
  "validation-error",
1679
1678
  DOT_ISSUE.BAD_POS,
1680
- `pos ${JSON.stringify(text)} is beyond the f32 range of the position column; dropped`,
1679
+ `pos ${JSON.stringify(text)} has a coordinate that is not finite; dropped`,
1681
1680
  { line, element },
1682
1681
  );
1683
1682
  return;
1684
1683
  }
1685
- if (!point.every(survivesF32)) {
1686
- this.report.warnOnce(
1687
- "precision",
1688
- DOT_ISSUE.PRECISION,
1689
- `pos ${JSON.stringify(text)} has a coordinate the f32 position column rounds (warned once; positions=false keeps pos as written)`,
1690
- { line, element },
1691
- `${DOT_ISSUE.PRECISION}:pos`,
1692
- );
1693
- }
1694
1684
  if (this.posDims === 0) {
1695
1685
  this.posDims = dims;
1696
1686
  } else if (dims !== this.posDims) {
@@ -1769,7 +1759,7 @@ class DotParser {
1769
1759
  }
1770
1760
 
1771
1761
  /**
1772
- * The position column (f32 x3, role position, design section 5.2), declared on the first `pos`.
1762
+ * The position column (f64 x3, role position, design section 5.2), declared on the first `pos`.
1773
1763
  * @param dims - the dimensions of the first value, recorded in extra.sourceDims
1774
1764
  * @returns the handle
1775
1765
  */
@@ -1777,7 +1767,7 @@ class DotParser {
1777
1767
  if (this.positionHandle === INVALID_INDEX) {
1778
1768
  this.positionHandle = this.declare("node", {
1779
1769
  name: POS_ATTRIBUTE,
1780
- dtype: "f32",
1770
+ dtype: "f64",
1781
1771
  components: 3,
1782
1772
  nullable: true,
1783
1773
  mutable: true,
@@ -93,8 +93,8 @@ export const GEXF_LOSS = Object.freeze({
93
93
  /** A numeric edge id column: GEXF edge ids read back as strings. */
94
94
  EDGE_ID_TEXT: "W_GEXF_EDGE_ID_TEXT",
95
95
  /**
96
- * A visual attribute (position, color, size, thickness) is stored at more precision than GEXF keeps; it reads back
97
- * as a 32-bit float.
96
+ * A visual attribute (position, color, size, thickness) is stored at another precision than the importer gives it;
97
+ * a position reads back as a 64-bit float, a color, size or thickness as a 32-bit float.
98
98
  */
99
99
  VIZ_DTYPE: "W_GEXF_VIZ_DTYPE",
100
100
  /**
@@ -271,7 +271,7 @@ function planExport(
271
271
  ...checkCapabilities(snapshot, caps, resolved, {
272
272
  openIntervals: version === "1.2",
273
273
  temporalText: true,
274
- positionDtype: "f32",
274
+ positionDtype: "f64",
275
275
  roles: MAPPED_ROLES,
276
276
  // GEXF 1.2 has no edge kind: the kind column is dropped (W_GEXF_KIND_DROPPED), not renamed
277
277
  roleNames: version === "1.2" ? ROLE_NAMES_1_2 : ROLE_NAMES,
@@ -608,10 +608,12 @@ function collectRoles(
608
608
  }
609
609
  continue;
610
610
  }
611
- if (VIZ_NUMERIC_ROLES.has(role) && column.dtype !== "f32") {
611
+ // the importer reads a position as f64 and every other viz value as f32
612
+ const vizDtype = role === "position" ? "f64" : "f32";
613
+ if (VIZ_NUMERIC_ROLES.has(role) && column.dtype !== vizDtype) {
612
614
  note(
613
615
  GEXF_LOSS.VIZ_DTYPE,
614
- `${domain} column "${meta.name}" (${role}) is ${column.dtype}; viz values read back as f32`,
616
+ `${domain} column "${meta.name}" (${role}) is ${column.dtype}; viz values read back as ${vizDtype}`,
615
617
  meta.name,
616
618
  column.length - column.nullCount,
617
619
  );
@@ -184,7 +184,7 @@ export const NODE_DECLS: Readonly<Record<keyof typeof NODE_COLUMNS, ColumnDecl>>
184
184
  },
185
185
  position: {
186
186
  name: NODE_COLUMNS.position,
187
- dtype: "f32",
187
+ dtype: "f64",
188
188
  components: 3,
189
189
  role: "position",
190
190
  mutable: true,
@@ -648,7 +648,7 @@ function plan(snapshot: GraphSnapshot, resolved: Resolved): Plan {
648
648
  // plain attributes and read back without their role)
649
649
  const notes = checkCapabilities(snapshot, caps, resolved.common, {
650
650
  roles: SLOT_ROLES[dialect],
651
- positionDtype: "f32",
651
+ positionDtype: "f64",
652
652
  }).filter((n) => n.code !== LOSS.POSITIONS && n.code !== LOSS.EDGE_IDS_DROPPED);
653
653
  const note: NoteFn = (code, message, column = null, count = null): void => {
654
654
  notes.push(Object.freeze({ code, message, column, count }));
@@ -3369,7 +3369,7 @@ function importCytoscape(ctx: ImportContext, root: unknown): void {
3369
3369
  const positionColumn = ctx.nodes.declareIf(
3370
3370
  {
3371
3371
  name: POSITION_COLUMN,
3372
- dtype: "f32",
3372
+ dtype: "f64",
3373
3373
  components: 3,
3374
3374
  role: "position",
3375
3375
  mutable: true,
@@ -3450,7 +3450,7 @@ function importCytoscape(ctx: ImportContext, root: unknown): void {
3450
3450
  report.error(
3451
3451
  "validation-error",
3452
3452
  JSON_ISSUE.BAD_VALUE,
3453
- `${element}: position must be an object with numeric x and y (and z) that are finite and within the f32 range`,
3453
+ `${element}: position must be an object with numeric x and y (and z) that are finite numbers`,
3454
3454
  { element },
3455
3455
  );
3456
3456
  }
@@ -3656,16 +3656,13 @@ function hasPositionZ(element: unknown): boolean {
3656
3656
  return isJsonObject(element) && isJsonObject(element.position) && typeof element.position.z === "number";
3657
3657
  }
3658
3658
 
3659
- /** The largest finite f32, the bound of a position coordinate. */
3660
- const F32_MAX = 3.4028234663852886e38;
3661
-
3662
3659
  /**
3663
- * Whether a value is a coordinate the f32 position column holds: a finite number within the f32 range.
3660
+ * Whether a value is a coordinate the position column holds: a finite number.
3664
3661
  * @param value - the value
3665
3662
  * @returns true for a storable coordinate
3666
3663
  */
3667
3664
  function isCoordinate(value: unknown): value is number {
3668
- return typeof value === "number" && Number.isFinite(value) && Math.abs(value) <= F32_MAX;
3665
+ return typeof value === "number" && Number.isFinite(value);
3669
3666
  }
3670
3667
 
3671
3668
  /**