edfcore 0.4.308 → 0.4.310

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.
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
109
109
  readonly reserved: 224;
110
110
  };
111
111
  /** Published package version. Kept in sync with package.json by a test. */
112
- export declare const VERSION = "0.4.308";
112
+ export declare const VERSION = "0.4.310";
113
113
  //# sourceMappingURL=constants.d.ts.map
package/dist/constants.js CHANGED
@@ -79,5 +79,5 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
79
79
  reserved: 224,
80
80
  };
81
81
  /** Published package version. Kept in sync with package.json by a test. */
82
- export const VERSION = '0.4.308';
82
+ export const VERSION = '0.4.310';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,29 @@ alone does not tell you whether you were affected.
6
6
  edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
7
7
  defect; those are called out below.
8
8
 
9
+ ## 0.4.310
10
+
11
+ - **Added** the second half of 0.4.309: the per-signal address table on `edf-format.md`, ten rows
12
+ of `256 + ns*K + i*W`. Each row's `K` and `W` are checked against `SIGNAL_FIELD_BLOCK_OFFSETS`
13
+ and `SIGNAL_FIELD_WIDTHS`, each address is resolved for several signal counts and compared with
14
+ `signalFieldOffset`, and the two claims the page makes about the table's own shape — that every
15
+ `K` is the sum of the widths before it, and that the widths total 256 — are computed from it.
16
+ - This is the table the page calls "the layout detail that produces the most wrong parsers", and
17
+ the reason is in the check: at `ns = 1` the field-major and struct-per-signal layouts are
18
+ identical, so a one-signal fixture cannot tell them apart. The addresses are resolved at 1, 2 and
19
+ 30 for that reason.
20
+
21
+ ## 0.4.309
22
+
23
+ - **Added** a check over the fixed header table on `edf-format.md`: ten rows giving the offset and
24
+ width of every field in the first 256 bytes. The rows are parsed out of the page and compared
25
+ with `HEADER_FIELDS`, and they also have to tile the block — no gap, no overlap, ending exactly
26
+ at 256.
27
+ - That page and `physical-values.md` were the only two documentation pages no test named at all.
28
+ The page is a hand-typed copy of the same table the parser reads, and its whole value is being
29
+ independent of the library, so an offset corrected in `constants.ts` alone would leave it
30
+ teaching a byte address that no longer exists.
31
+
9
32
  ## 0.4.308
10
33
 
11
34
  - **Added** the guard for what 0.4.307 fixed: a version another entry calls a hole has to say so in
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.308",
3
+ "version": "0.4.310",
4
4
  "description": "Modern, typed, zero-dependency reader for EDF, EDF+, BDF and BDF+ biosignal files. Works in browsers and Node with true random access.",
5
5
  "keywords": [
6
6
  "edf",
package/src/constants.ts CHANGED
@@ -93,4 +93,4 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
93
93
  } as const;
94
94
 
95
95
  /** Published package version. Kept in sync with package.json by a test. */
96
- export const VERSION = '0.4.308';
96
+ export const VERSION = '0.4.310';