edfcore 0.4.444 → 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.
- 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.446";
|
|
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.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
|
+
|
|
27
|
+
## 0.4.445
|
|
28
|
+
|
|
29
|
+
- **Added** tests for what a cached read passes down to the source and what it keeps. A block read
|
|
30
|
+
serves every concurrent reader of that block, which makes the caller's read options a question
|
|
31
|
+
rather than a detail: an option belonging to one reader must not travel, and one belonging to the
|
|
32
|
+
read must.
|
|
33
|
+
- `signal` does not travel, and `cache.test.ts` covers why at length — a viewer aborting the window
|
|
34
|
+
the user scrolled away from killed the fresh window whenever both landed in the same block
|
|
35
|
+
(0.3.43). `maxMaterializeBytes` does travel, and nothing checked it. It is not one reader's
|
|
36
|
+
preference but a ceiling on what may be allocated, and the block read is the allocation.
|
|
37
|
+
- `cachedSource` over `httpSource` is the composition `api-sources.md` recommends, and there the
|
|
38
|
+
block read is the request that goes out. A caller who lowered the budget for a read on a phone,
|
|
39
|
+
and had it dropped on the way to the transport, gets exactly the allocation they were refusing.
|
|
40
|
+
- The pair is the point: two options, two answers, one call site, and the reason each is what it is
|
|
41
|
+
has nothing to do with the other. An unset budget is checked to be absent rather than present and
|
|
42
|
+
`undefined`, because `exactOptionalPropertyTypes` is on and a source reading it with `??` would
|
|
43
|
+
see a different thing.
|
|
44
|
+
|
|
9
45
|
## 0.4.444
|
|
10
46
|
|
|
11
47
|
- **Fixed** the likeliest mistake anyone makes with this library saying nothing about itself.
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED