edfcore 0.6.36 → 0.6.38
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 +41 -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.38";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,47 @@ 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.38
|
|
10
|
+
|
|
11
|
+
- **Documented** the third regime the sample helpers have. `api-helpers.md` described two: on a
|
|
12
|
+
contiguous file the recording-aware forms agree with the grid functions exactly, and on a
|
|
13
|
+
discontinuous one they differ by the gaps, with `sampleAt` able to answer `undefined` for an
|
|
14
|
+
instant in a hole.
|
|
15
|
+
- A file whose records OVERLAP is neither. Two samples start at the same instant there, so
|
|
16
|
+
`sampleAt(sampleStartSecondsOf(recording, signal, i))` can answer with a sample that is not `i`
|
|
17
|
+
— on the shape added in 0.6.36 it does for twenty of the first forty-eight indices. No error, no
|
|
18
|
+
`undefined`: the sample it names does start at the instant asked for, and nothing can choose
|
|
19
|
+
between two that do. A caller round-tripping an index through an instant gets a different index
|
|
20
|
+
back, which is the answer the page did not prepare them for.
|
|
21
|
+
- The page now names the regime, says how to detect it (`contiguityOf`, or the timeline's
|
|
22
|
+
`RECORD_ONSET_SPACING_VIOLATION`), and says to compare instants rather than indices.
|
|
23
|
+
- `an-instant-two-samples-share.test.ts` executes the property in both forms over all seventeen
|
|
24
|
+
shapes: the weak one that holds everywhere — the sample found starts at the instant asked for —
|
|
25
|
+
and the strong one that holds on the sixteen whose records do not overlap. The overlapping shape
|
|
26
|
+
is asserted to be the only place they differ, and to differ on twenty indices rather than on one
|
|
27
|
+
edge case.
|
|
28
|
+
- No library change: there is no better answer for it to give.
|
|
29
|
+
|
|
30
|
+
## 0.6.37
|
|
31
|
+
|
|
32
|
+
- **Fixed** an incomplete sentence on `api-reading.md`. It said the index traversal "is chunked so
|
|
33
|
+
memory stays bounded whatever the file size: each chunk holds
|
|
34
|
+
`min(4 MiB, maxMaterializeBytes) / recordByteLength` records, and never fewer than one" — which
|
|
35
|
+
is true and reads as though a small budget only makes the scan slower. Below one record's worth
|
|
36
|
+
it does not: one record cannot be read within the budget and there is no smaller count to ask
|
|
37
|
+
for, so the scan is refused. The page says that now, and says the refusal names the record's size.
|
|
38
|
+
- **Added** `the-page-says-always.test.ts`, which executes the five claims on that page that say
|
|
39
|
+
"always", "never" or "every" against all seventeen shapes. Each was written when the matrix held
|
|
40
|
+
eight, and a universal claim is only as checked as the widest file anyone pointed it at — 0.6.36
|
|
41
|
+
is what happens when one meets a shape it had not: four sweeps turned out to be asserting
|
|
42
|
+
something narrower than they said. The claims are read off the page, so a rewording fails here.
|
|
43
|
+
- Two are worth naming. `readAnnotations` answers on a file with NO annotations channel, returning
|
|
44
|
+
one onset per record from the nominal grid — "always" includes the file with nowhere to store an
|
|
45
|
+
annotation. And on that same file a budget of one byte does not refuse, because the page's next
|
|
46
|
+
sentence says such a file "is not scanned at all, because its record onsets are arithmetic": the
|
|
47
|
+
two claims agree, and the test checks that they do rather than exempting one.
|
|
48
|
+
- No library change.
|
|
49
|
+
|
|
9
50
|
## 0.6.36
|
|
10
51
|
|
|
11
52
|
- **Added** a seventeenth shape to the `AWKWARD` matrix: records that overlap in time, where a
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED