edfcore 0.4.347 → 0.4.349

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.347";
112
+ export declare const VERSION = "0.4.349";
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.347';
82
+ export const VERSION = '0.4.349';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,33 @@ 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.349
10
+
11
+ - **Added** an execution of the cost table on `reading-signals.md`: one call for three channels
12
+ against three calls for one, at one read and 15,380 bytes versus three and 46,140. The file is
13
+ rebuilt from the sentence above the table, and both rows are measured through a recording source.
14
+ - The table is an argument about how to write a loop, and it is the argument most likely to be
15
+ ignored, because three calls return the same answers as one and nothing in the result says the
16
+ caller paid triple. The check also constrains the direction that would look like an improvement:
17
+ narrowing a multi-signal read to per-signal ranges decodes fewer bytes and turns one request into
18
+ three. The row that must not move is the first — one read, and the whole record.
19
+ - The three calls are additionally asserted to read the identical byte range each time, which is
20
+ what makes the extra two waste rather than work.
21
+
22
+ ## 0.4.348
23
+
24
+ - **Added** a check for what `index.locate` costs, against the two read counts `discontinuous.md`
25
+ prints — three for the first call, zero for a second one nearby.
26
+ - The zero is the one worth holding. A UI that calls `locate` on every pointer move is either free
27
+ or a request per frame, and nothing at the call site says which; a memo dropped in a refactor
28
+ changes no result at all, so no other test would notice. The three is worth holding for its
29
+ parenthesis rather than its size: records 0 and 5 are already known because `openEdf` probed
30
+ them, so the search starts from what the open already paid for.
31
+ - Also pinned: that the search reads one record at a time rather than widening to a range, which
32
+ would still answer correctly and cost far more over HTTP; and the file the page draws, whose span
33
+ of 16 and coverage of 6 are computed independently and differ by the ten seconds no record
34
+ covers.
35
+
9
36
  ## 0.4.347
10
37
 
11
38
  - **Added** an execution of the `bigint` ticks decision on `design-decisions.md`. It is defended
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.347",
3
+ "version": "0.4.349",
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.347';
96
+ export const VERSION = '0.4.349';