edfcore 0.4.491 → 0.4.493
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/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/docs/CHANGELOG.md +36 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -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.
|
|
112
|
+
export declare const VERSION = "0.4.493";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,42 @@ 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.493
|
|
10
|
+
|
|
11
|
+
- **Added** the two edges of `readHeader`'s prefetch decision, both of which could be moved with
|
|
12
|
+
the suite green.
|
|
13
|
+
- The upper one is the one that matters. Narrowing `<= 9999` refuses the hint for a file declaring
|
|
14
|
+
the most signals a header can — and the consequence is not a slower read but a wrong answer: the
|
|
15
|
+
second read is skipped, `parseHeader` gets a quarter of a kilobyte of a 2.56 MB header, and a
|
|
16
|
+
perfectly good recording is reported `SOURCE_TOO_SMALL`. At exactly one signal count.
|
|
17
|
+
- The other side of that guard is unreachable, and the test says so with a check rather than in
|
|
18
|
+
prose: the field is four ASCII bytes and `parseEdfInteger` admits no exponent, so `9999` is the
|
|
19
|
+
largest value that parses. Widening the field or admitting `9e9` makes the guard live, and fails
|
|
20
|
+
this in the same commit.
|
|
21
|
+
- The lower edge is a source that ends with the fixed header. `remaining` is zero, and asking for
|
|
22
|
+
zero bytes is still a read — a round trip over HTTP, and an entry in every read-count claim this
|
|
23
|
+
file makes.
|
|
24
|
+
|
|
25
|
+
## 0.4.492
|
|
26
|
+
|
|
27
|
+
- **Added** a test that runs the worked example on `reading-signals.md`. That page carries the
|
|
28
|
+
argument the whole indexing design exists for — `trimToWindow` compares integers taken from the
|
|
29
|
+
header as written, never `round(t * sampleRateHz)` — and it makes the case with six concrete
|
|
30
|
+
numbers and a footnote counting how often the two disagree. Nothing ran any of them.
|
|
31
|
+
`documented-examples.test-d.ts` compiles the snippets, which proves they are valid TypeScript
|
|
32
|
+
and says nothing about whether 8534 is the answer.
|
|
33
|
+
- Numbers in prose rot in a direction that is hard to see. A value that was right when it was
|
|
34
|
+
written stays plausible for ever, because a reader checks it against their intuition rather than
|
|
35
|
+
against the library — and this page exists to correct an intuition. The footnote is the extreme
|
|
36
|
+
case: "1,000 of the first 3,001, always by exactly one sample" is a claim nobody can check by
|
|
37
|
+
reading, and the argument leans on it.
|
|
38
|
+
- Every figure is read OUT OF THE PAGE and compared with what the library does, the way
|
|
39
|
+
`scaling-page-arithmetic.test.ts` reads the count it checks, so neither side can drift from the
|
|
40
|
+
other. All of them hold, footnote included: 1,000 disagreements over 3,001 second boundaries,
|
|
41
|
+
every one of them exactly one sample, and the float answer earlier every time.
|
|
42
|
+
- Restoring the pre-0.3.56 rounding — the defect the code's own comment records — now fails this
|
|
43
|
+
file rather than only the unit tests written for it.
|
|
44
|
+
|
|
9
45
|
## 0.4.491
|
|
10
46
|
|
|
11
47
|
- **Added** the `maxMaterializeBytes` boundary for `toPhysical` and `clampToDigitalRange` — the
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED