edfcore 0.4.445 → 0.4.446

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.445";
112
+ export declare const VERSION = "0.4.446";
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.445';
82
+ export const VERSION = '0.4.446';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,24 @@ 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.446
10
+
11
+ - **Added** a property test that flooring a sample's published start names the same sample again,
12
+ including before t = 0. `gridSampleStartTicks` rounds a start up to a whole tick on purpose — 256
13
+ samples in a one-second record puts sample 1 at 39,062.5 ticks, published as 39,063 — and the
14
+ rounding exists so that flooring it back names the sample it came from. `time/window.ts` records
15
+ what happens when a bound uses the other rounding: half of all indices excluded from a window
16
+ beginning at their own published start, and a one-sample window coming back empty (0.3.56).
17
+ - Examples are where this arithmetic hides. A geometry whose boundaries land on whole ticks — 100
18
+ or 256 samples a second — cannot tell the two roundings apart at all, and those are the
19
+ geometries anyone writing a test reaches for first. The fractional ones are generated
20
+ deliberately.
21
+ - Negative indices are the half with a branch of their own. A time before the recording gives a
22
+ negative index rather than truncating toward zero and colliding with sample 0 — a pre-stimulus
23
+ window in an ERP analysis is exactly that — and for a negative numerator bigint division already
24
+ truncates toward positive infinity, so the ceiling is the quotient itself and stepping would be
25
+ wrong. One `?:` separates the two, and nothing had ever asked it for a negative index.
26
+
9
27
  ## 0.4.445
10
28
 
11
29
  - **Added** tests for what a cached read passes down to the source and what it keeps. A block read
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.445",
3
+ "version": "0.4.446",
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.445';
96
+ export const VERSION = '0.4.446';