edfcore 0.5.4 → 0.5.6

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.5.4";
112
+ export declare const VERSION = "0.5.6";
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.5.4';
82
+ export const VERSION = '0.5.6';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,48 @@ 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.5.6
10
+
11
+ - **Fixed** two lines of the `EdfSignal` block on `api-types.md` describing a different file from
12
+ the other five. The page prints one running example — six one-second records, one 100-sample
13
+ signal — and its test builds that file and checks `index`, `kind`, `samplesPerRecord`,
14
+ `sampleRateHz` and `sampleCount`. It stopped there, and the two lines it stopped before are the
15
+ two that would have failed: `signal.scale` prints a bitValue of `0.1221001221001221` and
16
+ `signal.raw.digitalMinimum` prints `'-2048 '`, while the fixture took the writer's defaults and
17
+ produced `0.015259021896696421` and `'-32768 '`.
18
+ - The page is the specification and the fixture is the reconstruction, so the fixture moved: the
19
+ printed values imply 500 µV over 4,095 digital steps and nothing else, and the conventions
20
+ paragraph at the top of the page introduces the "exposed twice" rule with the same `-2048` as its
21
+ example. Declaring `-250`..`250` over `-2048`..`2047` makes every line of the block true of one
22
+ file, and makes the sentence at the top true of it too.
23
+ - `bitValue` is re-derived through the pinned expression from the declared fields rather than
24
+ compared against the printed float. It is the number a reader checks their own port against, and
25
+ copying the page's sixteen digits into the test would make the two agree without either being
26
+ right.
27
+ - The whole block is now under test, including the raw field with its padding intact — compared
28
+ against the page without collapsing whitespace, since collapsing turns `'-2048 '` into
29
+ `'-2048 '` and quietly passes the check the sentence exists to make.
30
+
31
+ ## 0.5.5
32
+
33
+ - **Added** the table under "Files with several sample rates" on `reading-signals.md`, and the
34
+ sentence after it. Nine numbers — three channels' `samplesPerRecord`, `sampleCount` and
35
+ `firstSampleIndex` over `[10, 14)`, then three more counts after trimming the same chunk to
36
+ `[10.5, 12.5)` — and none had been run. `multi-signal-cost.test.ts` covers a different table on
37
+ the same page and `reading-signals-arithmetic.test.ts` the section above it.
38
+ - The last sentence is the one worth having under test: "The temperature channel's trimmed window
39
+ starts at 11 s rather than 10.5 s. At 1 Hz there's no sample at 10.5, and the first one inside the
40
+ window is the one at 11." That is `startSeconds` becoming genuinely per-signal — before the trim
41
+ all three share a value, because a record-aligned read starts every channel at the same record,
42
+ and the run asserts that too so the change is visible as a change.
43
+ - It is the difference between a boundary computed on each channel's own grid and one computed from
44
+ a rate. A viewer that reused the requested 10.5 for all three would draw the temperature trace
45
+ half a sample to the left, on the one channel where half a sample is half a second. The boundary
46
+ is checked in ticks as well as seconds.
47
+ - Every figure is read out of the page's own table and prose, so neither side can drift, and the
48
+ row arithmetic is checked against itself: a sample count is the rate times the window, a first
49
+ index is the rate times the start.
50
+
9
51
  ## 0.5.4
10
52
 
11
53
  - **Added** the rest of the block `discontinuous.md` prints for `index.segments` and `index.gaps`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.5.4",
3
+ "version": "0.5.6",
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.5.4';
96
+ export const VERSION = '0.5.6';