edfcore 0.6.35 → 0.6.37
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 +47 -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.6.
|
|
112
|
+
export declare const VERSION = "0.6.37";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,53 @@ 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.37
|
|
10
|
+
|
|
11
|
+
- **Fixed** an incomplete sentence on `api-reading.md`. It said the index traversal "is chunked so
|
|
12
|
+
memory stays bounded whatever the file size: each chunk holds
|
|
13
|
+
`min(4 MiB, maxMaterializeBytes) / recordByteLength` records, and never fewer than one" — which
|
|
14
|
+
is true and reads as though a small budget only makes the scan slower. Below one record's worth
|
|
15
|
+
it does not: one record cannot be read within the budget and there is no smaller count to ask
|
|
16
|
+
for, so the scan is refused. The page says that now, and says the refusal names the record's size.
|
|
17
|
+
- **Added** `the-page-says-always.test.ts`, which executes the five claims on that page that say
|
|
18
|
+
"always", "never" or "every" against all seventeen shapes. Each was written when the matrix held
|
|
19
|
+
eight, and a universal claim is only as checked as the widest file anyone pointed it at — 0.6.36
|
|
20
|
+
is what happens when one meets a shape it had not: four sweeps turned out to be asserting
|
|
21
|
+
something narrower than they said. The claims are read off the page, so a rewording fails here.
|
|
22
|
+
- Two are worth naming. `readAnnotations` answers on a file with NO annotations channel, returning
|
|
23
|
+
one onset per record from the nominal grid — "always" includes the file with nowhere to store an
|
|
24
|
+
annotation. And on that same file a budget of one byte does not refuse, because the page's next
|
|
25
|
+
sentence says such a file "is not scanned at all, because its record onsets are arithmetic": the
|
|
26
|
+
two claims agree, and the test checks that they do rather than exempting one.
|
|
27
|
+
- No library change.
|
|
28
|
+
|
|
29
|
+
## 0.6.36
|
|
30
|
+
|
|
31
|
+
- **Added** a seventeenth shape to the `AWKWARD` matrix: records that overlap in time, where a
|
|
32
|
+
record starts before the one before it ended and two records claim the same instant. edfcore has
|
|
33
|
+
always known about them — the gap list carries one with a negative duration (0.2.69),
|
|
34
|
+
`mergeChunks` refuses the join, `edfcore gaps` prints it in its own column, and the probe raises
|
|
35
|
+
`RECORD_ONSET_SPACING_VIOLATION`, a warning rather than an error because an overlapping file is
|
|
36
|
+
still readable.
|
|
37
|
+
- **Fixed** four sweeps that were asserting things true only of files whose records do not overlap,
|
|
38
|
+
which nothing had ever supplied:
|
|
39
|
+
- `header-helpers-agree` said the sum of the record durations never exceeds the span. It exceeds
|
|
40
|
+
it by exactly the overlap, because an overlap counts an instant twice.
|
|
41
|
+
- `timeline-helpers-agree` said an instant inside a segment is answered with THAT segment, and
|
|
42
|
+
that a gap's midpoint is in no segment. Two segments contain an overlapped instant, and an
|
|
43
|
+
overlap's interval runs backwards, so its midpoint is inside a segment rather than in a hole.
|
|
44
|
+
- `reading-helpers-agree` said a window at a sample's start begins at that sample's record, and
|
|
45
|
+
that a window's chunks join. Neither holds here — and the second was the half of its own
|
|
46
|
+
comment the code had never run: "either join or are refused with a reason" had only ever seen
|
|
47
|
+
joining.
|
|
48
|
+
- None of the four was a defect in `src/`. The library refuses the unindexed read with a message in
|
|
49
|
+
the file's own numbers ("records covering 6 s are packed into a 3.5 s span"), returns both
|
|
50
|
+
covering records in separate chunks once it has an index, and refuses to concatenate them. Each
|
|
51
|
+
sweep now states the weaker thing true of every file and the stronger thing true of this one,
|
|
52
|
+
rather than exempting the shape.
|
|
53
|
+
- That is what a matrix is for: the claims were not wrong because anyone was careless, they were
|
|
54
|
+
claims with no counterexample.
|
|
55
|
+
|
|
9
56
|
## 0.6.35
|
|
10
57
|
|
|
11
58
|
- **Added** the census that closes the class four releases in a row have been fixing. A sample rate
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED