edfcore 0.6.80 → 0.6.82

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.6.80";
112
+ export declare const VERSION = "0.6.82";
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.6.80';
82
+ export const VERSION = '0.6.82';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,36 @@ 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.6.82
10
+
11
+ - **Fixed** the clock the inspector prints beside each event, which read
12
+ `onsetSecondsFromFirstRecord` and floored it. `format-annotations.ts` states the rule for the
13
+ library's own event list and why it is not fussiness: the seconds are "a float64 produced by
14
+ dividing an exact tick count by 10,000,000 … and an event list is exactly where someone reads a
15
+ number off the screen and types it into something else."
16
+ - The inspector's table is that event list. It now divides `onsetTicksFromFirstRecord` in integers,
17
+ floors the way the library floors — so the printed time never names an instant later than the
18
+ event — and keeps the sign a negative onset carries, which EDF+ allows because a recording may
19
+ begin after its first annotation.
20
+ - The test finds a tick count where the two routes disagree rather than assuming one exists: one
21
+ tick short of a whole second, at a scale where one tick is below the float's ulp, the float
22
+ route names the second AFTER the event.
23
+
24
+ ## 0.6.81
25
+
26
+ - **Fixed** the inspector deciding which events fall in the window it draws by comparing
27
+ `onsetSecondsFromFirstRecord` against the bounds itself. `annotations-query.ts` exists for that
28
+ comparison and quotes the expression that was there: "The obvious filter is
29
+ `a.onsetSecondsFromFirstRecord >= from && … < to`, and those are float64 seconds converted from
30
+ exact tick counts."
31
+ - Mistake 4 on `AGENTS.md` — "Compare event times in `bigint` ticks, not the floats" — on the page
32
+ that draws the events and the samples on one axis.
33
+ - It changes two things, not one. The bounds are now converted to ticks once and compared exactly,
34
+ and the window is HALF-OPEN: the hand-written test used `<=` at the right edge, so an event
35
+ landing exactly on a window boundary was drawn in that window and in the next one. The test
36
+ builds a file with an event on every second and shows the old comparison returning three events
37
+ for a two-second window.
38
+
9
39
  ## 0.6.80
10
40
 
11
41
  - **Changed** `decodeStatusWord` to refuse a value that is not a BDF sample. It was
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.80",
3
+ "version": "0.6.82",
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.6.80';
96
+ export const VERSION = '0.6.82';