edfcore 0.2.49 → 0.2.51

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/CHANGELOG.md CHANGED
@@ -6,6 +6,37 @@ 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.2.51
10
+
11
+ - **Added** the tests only a real, large recording can support, against the 22-hour sleep-edfx
12
+ polysomnogram. Three claims edfcore advertises are invisible on a hundred-byte fixture:
13
+ - **Envelope decimation is faithful.** 7,950,000 samples reduced to 1,000 buckets, compared with
14
+ an EXHAUSTIVE reduction of every one of them — not a spot check. This is the case the feature
15
+ exists for, and until now it was only demonstrated on 40 records.
16
+ - **The bucket grid does not move with the read chunk size.** 265 chunks versus a handful. A fold
17
+ that computed its bucket on the chunk's grid rather than the run's would diverge here and agree
18
+ on a two-record fixture.
19
+ - **Memory is bounded by the chunk, not the window.** The 22-hour envelope is produced under a
20
+ 512 KiB budget; materialising the window would need ~32 MB, so the budget makes the claim
21
+ falsifiable rather than asserted.
22
+ - Also pins that a 100 Hz and a 1 Hz channel keep their own sample grids across the whole file,
23
+ checked at the LAST 30 seconds — where a shared-grid error is largest, and nowhere else.
24
+ - **Fixed** an unnecessary biome suppression added in 0.2.50 that was itself the only warning in
25
+ the tree.
26
+
27
+ ## 0.2.50
28
+
29
+ - **Added** a corpus-coverage report that always runs. Every other test in `tests/corpus/` skips
30
+ when the files are absent, which is right — a fresh clone must stay green and offline, and none
31
+ of the corpus is redistributed. But a skipped test is indistinguishable from a passing one in a
32
+ summary line, and the corpus is where this project's strongest claims live: `1487 passed` reads
33
+ the same whether the bit-for-bit check against a 22-hour clinical recording ran or not. It now
34
+ says which state the run is in, once, in a line a reader sees.
35
+ - It also checks the parts that need no corpus: every manifest entry names a source, a licence and
36
+ a SHA-256, no committed golden refers to a file the manifest no longer lists, and every fetched
37
+ file has a parity golden. A golden that has drifted from the corpus definition still looks like
38
+ coverage, which is the failure this catches.
39
+
9
40
  ## 0.2.49
10
41
 
11
42
  - **Added** annotation, start-date and geometry parity on the real corpus, alongside the sample
@@ -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.2.49";
112
+ export declare const VERSION = "0.2.51";
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.2.49';
82
+ export const VERSION = '0.2.51';
83
83
  //# sourceMappingURL=constants.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.2.49",
3
+ "version": "0.2.51",
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.2.49';
96
+ export const VERSION = '0.2.51';