@swf2es/player 0.1.0 → 0.1.1
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/package.json +7 -7
- package/dist/audio.d.ts +0 -22
- package/dist/audio.d.ts.map +0 -1
- package/dist/audio.js +0 -106
- package/dist/audio.js.map +0 -1
- package/dist/bitmap-filters.d.ts +0 -29
- package/dist/bitmap-filters.d.ts.map +0 -1
- package/dist/bitmap-filters.js +0 -906
- package/dist/bitmap-filters.js.map +0 -1
- package/dist/bitmap-ops.d.ts +0 -113
- package/dist/bitmap-ops.d.ts.map +0 -1
- package/dist/bitmap-ops.js +0 -725
- package/dist/bitmap-ops.js.map +0 -1
- package/dist/bitmap.d.ts +0 -98
- package/dist/bitmap.d.ts.map +0 -1
- package/dist/bitmap.js +0 -314
- package/dist/bitmap.js.map +0 -1
- package/dist/bounds.d.ts +0 -26
- package/dist/bounds.d.ts.map +0 -1
- package/dist/bounds.js +0 -300
- package/dist/bounds.js.map +0 -1
- package/dist/color.d.ts +0 -7
- package/dist/color.d.ts.map +0 -1
- package/dist/color.js +0 -42
- package/dist/color.js.map +0 -1
- package/dist/display.d.ts +0 -425
- package/dist/display.d.ts.map +0 -1
- package/dist/display.js +0 -1274
- package/dist/display.js.map +0 -1
- package/dist/drawing.d.ts +0 -52
- package/dist/drawing.d.ts.map +0 -1
- package/dist/drawing.js +0 -204
- package/dist/drawing.js.map +0 -1
- package/dist/filters.d.ts +0 -54
- package/dist/filters.d.ts.map +0 -1
- package/dist/filters.js +0 -155
- package/dist/filters.js.map +0 -1
- package/dist/fonts.d.ts +0 -23
- package/dist/fonts.d.ts.map +0 -1
- package/dist/fonts.js +0 -91
- package/dist/fonts.js.map +0 -1
- package/dist/geometry.d.ts +0 -21
- package/dist/geometry.d.ts.map +0 -1
- package/dist/geometry.js +0 -76
- package/dist/geometry.js.map +0 -1
- package/dist/gradients.d.ts +0 -29
- package/dist/gradients.d.ts.map +0 -1
- package/dist/gradients.js +0 -116
- package/dist/gradients.js.map +0 -1
- package/dist/images.d.ts +0 -22
- package/dist/images.d.ts.map +0 -1
- package/dist/images.js +0 -147
- package/dist/images.js.map +0 -1
- package/dist/input.d.ts +0 -79
- package/dist/input.d.ts.map +0 -1
- package/dist/input.js +0 -366
- package/dist/input.js.map +0 -1
- package/dist/keyboard.d.ts +0 -97
- package/dist/keyboard.d.ts.map +0 -1
- package/dist/keyboard.js +0 -583
- package/dist/keyboard.js.map +0 -1
- package/dist/morph.d.ts +0 -17
- package/dist/morph.d.ts.map +0 -1
- package/dist/morph.js +0 -218
- package/dist/morph.js.map +0 -1
- package/dist/pixi-blend.d.ts +0 -7
- package/dist/pixi-blend.d.ts.map +0 -1
- package/dist/pixi-blend.js +0 -253
- package/dist/pixi-blend.js.map +0 -1
- package/dist/pixi-color.d.ts +0 -54
- package/dist/pixi-color.d.ts.map +0 -1
- package/dist/pixi-color.js +0 -336
- package/dist/pixi-color.js.map +0 -1
- package/dist/pixi-filters.d.ts +0 -40
- package/dist/pixi-filters.d.ts.map +0 -1
- package/dist/pixi-filters.js +0 -953
- package/dist/pixi-filters.js.map +0 -1
- package/dist/pixi-resolve.d.ts +0 -4
- package/dist/pixi-resolve.d.ts.map +0 -1
- package/dist/pixi-resolve.js +0 -76
- package/dist/pixi-resolve.js.map +0 -1
- package/dist/pixi.d.ts +0 -219
- package/dist/pixi.d.ts.map +0 -1
- package/dist/pixi.js +0 -2169
- package/dist/pixi.js.map +0 -1
- package/dist/playerglobal/flash/filters/filters.d.ts +0 -26
- package/dist/playerglobal/flash/filters/filters.d.ts.map +0 -1
- package/dist/playerglobal/flash/filters/filters.js +0 -287
- package/dist/playerglobal/flash/filters/filters.js.map +0 -1
- package/dist/playerglobal/flash/system/FSCommand.d.ts +0 -4
- package/dist/playerglobal/flash/system/FSCommand.d.ts.map +0 -1
- package/dist/playerglobal/flash/system/FSCommand.js +0 -18
- package/dist/playerglobal/flash/system/FSCommand.js.map +0 -1
- package/dist/playerglobal/natives.d.ts +0 -10
- package/dist/playerglobal/natives.d.ts.map +0 -1
- package/dist/playerglobal/natives.js +0 -53
- package/dist/playerglobal/natives.js.map +0 -1
- package/dist/png.d.ts +0 -4
- package/dist/png.d.ts.map +0 -1
- package/dist/png.js +0 -140
- package/dist/png.js.map +0 -1
- package/dist/render/art.d.ts +0 -148
- package/dist/render/art.d.ts.map +0 -1
- package/dist/render/art.js +0 -575
- package/dist/render/art.js.map +0 -1
- package/dist/render/batchers.d.ts +0 -23
- package/dist/render/batchers.d.ts.map +0 -1
- package/dist/render/batchers.js +0 -52
- package/dist/render/batchers.js.map +0 -1
- package/dist/render/bitmaps.d.ts +0 -117
- package/dist/render/bitmaps.d.ts.map +0 -1
- package/dist/render/bitmaps.js +0 -422
- package/dist/render/bitmaps.js.map +0 -1
- package/dist/render/blend.d.ts +0 -37
- package/dist/render/blend.d.ts.map +0 -1
- package/dist/render/blend.js +0 -195
- package/dist/render/blend.js.map +0 -1
- package/dist/render/color.d.ts +0 -111
- package/dist/render/color.d.ts.map +0 -1
- package/dist/render/color.js +0 -533
- package/dist/render/color.js.map +0 -1
- package/dist/render/compositing.d.ts +0 -77
- package/dist/render/compositing.d.ts.map +0 -1
- package/dist/render/compositing.js +0 -188
- package/dist/render/compositing.js.map +0 -1
- package/dist/render/filters.d.ts +0 -98
- package/dist/render/filters.d.ts.map +0 -1
- package/dist/render/filters.js +0 -1326
- package/dist/render/filters.js.map +0 -1
- package/dist/render/hooks.d.ts +0 -4
- package/dist/render/hooks.d.ts.map +0 -1
- package/dist/render/hooks.js +0 -48
- package/dist/render/hooks.js.map +0 -1
- package/dist/render/node.d.ts +0 -139
- package/dist/render/node.d.ts.map +0 -1
- package/dist/render/node.js +0 -59
- package/dist/render/node.js.map +0 -1
- package/dist/render/patches.d.ts +0 -54
- package/dist/render/patches.d.ts.map +0 -1
- package/dist/render/patches.js +0 -154
- package/dist/render/patches.js.map +0 -1
- package/dist/render/planes.d.ts +0 -74
- package/dist/render/planes.d.ts.map +0 -1
- package/dist/render/planes.js +0 -267
- package/dist/render/planes.js.map +0 -1
- package/dist/render/pointer.d.ts +0 -5
- package/dist/render/pointer.d.ts.map +0 -1
- package/dist/render/pointer.js +0 -279
- package/dist/render/pointer.js.map +0 -1
- package/dist/render/pools.d.ts +0 -122
- package/dist/render/pools.d.ts.map +0 -1
- package/dist/render/pools.js +0 -238
- package/dist/render/pools.js.map +0 -1
- package/dist/render/resolve.d.ts +0 -4
- package/dist/render/resolve.d.ts.map +0 -1
- package/dist/render/resolve.js +0 -76
- package/dist/render/resolve.js.map +0 -1
- package/dist/render/saffron.d.ts +0 -135
- package/dist/render/saffron.d.ts.map +0 -1
- package/dist/render/saffron.js +0 -725
- package/dist/render/saffron.js.map +0 -1
- package/dist/render/settle.d.ts +0 -60
- package/dist/render/settle.d.ts.map +0 -1
- package/dist/render/settle.js +0 -128
- package/dist/render/settle.js.map +0 -1
- package/dist/render/shared.d.ts +0 -25
- package/dist/render/shared.d.ts.map +0 -1
- package/dist/render/shared.js +0 -33
- package/dist/render/shared.js.map +0 -1
- package/dist/render/snapshot.d.ts +0 -21
- package/dist/render/snapshot.d.ts.map +0 -1
- package/dist/render/snapshot.js +0 -91
- package/dist/render/snapshot.js.map +0 -1
- package/dist/render/spares.d.ts +0 -56
- package/dist/render/spares.d.ts.map +0 -1
- package/dist/render/spares.js +0 -160
- package/dist/render/spares.js.map +0 -1
- package/dist/render/strokes.d.ts +0 -107
- package/dist/render/strokes.d.ts.map +0 -1
- package/dist/render/strokes.js +0 -448
- package/dist/render/strokes.js.map +0 -1
- package/dist/render/table.d.ts +0 -213
- package/dist/render/table.d.ts.map +0 -1
- package/dist/render/table.js +0 -795
- package/dist/render/table.js.map +0 -1
- package/dist/render/tessellate.d.ts +0 -89
- package/dist/render/tessellate.d.ts.map +0 -1
- package/dist/render/tessellate.js +0 -386
- package/dist/render/tessellate.js.map +0 -1
- package/dist/render/text.d.ts +0 -40
- package/dist/render/text.d.ts.map +0 -1
- package/dist/render/text.js +0 -309
- package/dist/render/text.js.map +0 -1
- package/dist/render/three.d.ts +0 -83
- package/dist/render/three.d.ts.map +0 -1
- package/dist/render/three.js +0 -511
- package/dist/render/three.js.map +0 -1
- package/dist/render/triangles.d.ts +0 -28
- package/dist/render/triangles.d.ts.map +0 -1
- package/dist/render/triangles.js +0 -189
- package/dist/render/triangles.js.map +0 -1
- package/dist/render/view.d.ts +0 -238
- package/dist/render/view.d.ts.map +0 -1
- package/dist/render/view.js +0 -1173
- package/dist/render/view.js.map +0 -1
- package/dist/render/worker/bitmaps.d.ts +0 -43
- package/dist/render/worker/bitmaps.d.ts.map +0 -1
- package/dist/render/worker/bitmaps.js +0 -151
- package/dist/render/worker/bitmaps.js.map +0 -1
- package/dist/render/worker/drawing.d.ts +0 -21
- package/dist/render/worker/drawing.d.ts.map +0 -1
- package/dist/render/worker/drawing.js +0 -356
- package/dist/render/worker/drawing.js.map +0 -1
- package/dist/render/worker/filters.d.ts +0 -7
- package/dist/render/worker/filters.d.ts.map +0 -1
- package/dist/render/worker/filters.js +0 -125
- package/dist/render/worker/filters.js.map +0 -1
- package/dist/render/worker/frames.d.ts +0 -32
- package/dist/render/worker/frames.d.ts.map +0 -1
- package/dist/render/worker/frames.js +0 -124
- package/dist/render/worker/frames.js.map +0 -1
- package/dist/render/worker/host.d.ts +0 -60
- package/dist/render/worker/host.d.ts.map +0 -1
- package/dist/render/worker/host.js +0 -297
- package/dist/render/worker/host.js.map +0 -1
- package/dist/render/worker/libraries.d.ts +0 -36
- package/dist/render/worker/libraries.d.ts.map +0 -1
- package/dist/render/worker/libraries.js +0 -153
- package/dist/render/worker/libraries.js.map +0 -1
- package/dist/render/worker/presentation.d.ts +0 -18
- package/dist/render/worker/presentation.d.ts.map +0 -1
- package/dist/render/worker/presentation.js +0 -47
- package/dist/render/worker/presentation.js.map +0 -1
- package/dist/render/worker/renderer.d.ts +0 -4
- package/dist/render/worker/renderer.d.ts.map +0 -1
- package/dist/render/worker/renderer.js +0 -21
- package/dist/render/worker/renderer.js.map +0 -1
- package/dist/render/worker/scene.d.ts +0 -32
- package/dist/render/worker/scene.d.ts.map +0 -1
- package/dist/render/worker/scene.js +0 -611
- package/dist/render/worker/scene.js.map +0 -1
- package/dist/render/worker/text.d.ts +0 -47
- package/dist/render/worker/text.d.ts.map +0 -1
- package/dist/render/worker/text.js +0 -261
- package/dist/render/worker/text.js.map +0 -1
- package/dist/render/worker/thread.d.ts +0 -23
- package/dist/render/worker/thread.d.ts.map +0 -1
- package/dist/render/worker/thread.js +0 -107
- package/dist/render/worker/thread.js.map +0 -1
- package/dist/render/worker/values.d.ts +0 -18
- package/dist/render/worker/values.d.ts.map +0 -1
- package/dist/render/worker/values.js +0 -64
- package/dist/render/worker/values.js.map +0 -1
- package/dist/sha256.d.ts +0 -5
- package/dist/sha256.d.ts.map +0 -1
- package/dist/sha256.js +0 -96
- package/dist/sha256.js.map +0 -1
- package/dist/shapes.d.ts +0 -71
- package/dist/shapes.d.ts.map +0 -1
- package/dist/shapes.js +0 -340
- package/dist/shapes.js.map +0 -1
- package/dist/static-text.d.ts +0 -33
- package/dist/static-text.d.ts.map +0 -1
- package/dist/static-text.js +0 -105
- package/dist/static-text.js.map +0 -1
- package/dist/text-layout.d.ts +0 -66
- package/dist/text-layout.d.ts.map +0 -1
- package/dist/text-layout.js +0 -315
- package/dist/text-layout.js.map +0 -1
- package/dist/text.d.ts +0 -67
- package/dist/text.d.ts.map +0 -1
- package/dist/text.js +0 -383
- package/dist/text.js.map +0 -1
- package/dist/timeline.d.ts +0 -150
- package/dist/timeline.d.ts.map +0 -1
- package/dist/timeline.js +0 -266
- package/dist/timeline.js.map +0 -1
package/dist/render/spares.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { CHILDREN, CONTENT, Container, TRANSFORM } from "../display/display.js";
|
|
2
|
-
import { FilterChain } from "./filters.js";
|
|
3
|
-
import { IDLE_MS, SPARE_NODES_MOST } from "./pools.js";
|
|
4
|
-
/** The view's released nodes, by their objects' character. */
|
|
5
|
-
export class SpareNodes {
|
|
6
|
-
fresh;
|
|
7
|
-
nodes;
|
|
8
|
-
containerNodes;
|
|
9
|
-
/**
|
|
10
|
-
* The released nodes, by their objects' character, for a new object of
|
|
11
|
-
* the character to take. A timeline that places its children anew on
|
|
12
|
-
* every frame, as an animated character's often does, made hundreds of
|
|
13
|
-
* nodes a frame, each with its containers, and dropped as many: taken, a
|
|
14
|
-
* node keeps its containers and Graphics, where they are in Pixi's tree
|
|
15
|
-
* when it comes back in its place, and its filters where the new
|
|
16
|
-
* object's are the same. And all of them, oldest first, with the time
|
|
17
|
-
* each was listed: SPARE_NODES_MOST at most, none past IDLE_MS, and none
|
|
18
|
-
* past an unload (`clear`), which would keep its SWF's characters.
|
|
19
|
-
*/
|
|
20
|
-
byCharacter = new Map();
|
|
21
|
-
since = new Map();
|
|
22
|
-
constructor(
|
|
23
|
-
/** Whether the view draws once (PixiView's `fresh`), which keeps no spares. */
|
|
24
|
-
fresh,
|
|
25
|
-
/** The view's nodes by their objects, and by their containers. */
|
|
26
|
-
nodes, containerNodes) {
|
|
27
|
-
this.fresh = fresh;
|
|
28
|
-
this.nodes = nodes;
|
|
29
|
-
this.containerNodes = containerNodes;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* A released node of `o`'s character and class for `o` to take, the one
|
|
33
|
-
* whose container is `hint`, in `o`'s place, where it is one. Its object
|
|
34
|
-
* gets a node of its own if it comes back. The node is synced as one
|
|
35
|
-
* that comes back is, which `o`, new, has redrawn and placed whole;
|
|
36
|
-
* what only its old object's history set (a stale cache, a slice, a
|
|
37
|
-
* colour) is forgotten here.
|
|
38
|
-
*/
|
|
39
|
-
take(o, hint) {
|
|
40
|
-
const character = o.character;
|
|
41
|
-
const listed = character && this.byCharacter.get(character);
|
|
42
|
-
if (!listed) {
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
let node;
|
|
46
|
-
const placed = hint ? this.containerNodes.get(hint) : undefined;
|
|
47
|
-
if (placed && listed.has(placed) && this.fits(placed, o)) {
|
|
48
|
-
node = placed;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
// Oldest first; one no longer fit to take, as one made a mask, is let go of on the way.
|
|
52
|
-
for (const spare of listed) {
|
|
53
|
-
if (this.fits(spare, o)) {
|
|
54
|
-
node = spare;
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
this.unlist(spare);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
if (!node) {
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
this.unlist(node);
|
|
64
|
-
// Back on the list, the old object is drawn whole into a node of its own.
|
|
65
|
-
const was = node.owner.deref();
|
|
66
|
-
if (was) {
|
|
67
|
-
this.nodes.delete(was);
|
|
68
|
-
was.dirty |= TRANSFORM | CONTENT | (was instanceof Container ? CHILDREN : 0);
|
|
69
|
-
}
|
|
70
|
-
node.owner = o.ref;
|
|
71
|
-
node.stale = null;
|
|
72
|
-
node.color = null;
|
|
73
|
-
node.inherited = null;
|
|
74
|
-
// The chain it keeps, as filters set alike keep it, is coloured only as the colour changes:
|
|
75
|
-
// from none, as node.color now is, not in the old object's.
|
|
76
|
-
const chain = node.filters[0];
|
|
77
|
-
if (chain instanceof FilterChain) {
|
|
78
|
-
chain.recolor(null);
|
|
79
|
-
}
|
|
80
|
-
node.slice = null;
|
|
81
|
-
node.sliceKey = "";
|
|
82
|
-
node.sliceOwner = null;
|
|
83
|
-
node.sliceLinear = null;
|
|
84
|
-
node.lineSpace = null;
|
|
85
|
-
this.nodes.set(o, node);
|
|
86
|
-
return node;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Whether `node`, listed spare, may be taken by `o`: still off the list,
|
|
90
|
-
* of its class, and not made a mask since it was listed, as an object
|
|
91
|
-
* taken off the list in the frame a script makes it one is.
|
|
92
|
-
*/
|
|
93
|
-
fits(node, o) {
|
|
94
|
-
const container = node.container;
|
|
95
|
-
return (node.released &&
|
|
96
|
-
node.kind === o.constructor &&
|
|
97
|
-
node.character === o.character &&
|
|
98
|
-
container.includeInBuild !== false &&
|
|
99
|
-
container.measurable !== false);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* List a node just released for a new object of its character to take:
|
|
103
|
-
* not a mask's, whose container a masked one may still hold.
|
|
104
|
-
*/
|
|
105
|
-
list(node) {
|
|
106
|
-
// As its object is now: a timeline may have swapped the character it was made of.
|
|
107
|
-
const owner = node.owner.deref();
|
|
108
|
-
if (owner) {
|
|
109
|
-
node.character = owner.character;
|
|
110
|
-
node.kind = owner.constructor;
|
|
111
|
-
}
|
|
112
|
-
const character = node.character;
|
|
113
|
-
const container = node.container;
|
|
114
|
-
if (this.fresh ||
|
|
115
|
-
!character ||
|
|
116
|
-
node.masking ||
|
|
117
|
-
container.includeInBuild === false ||
|
|
118
|
-
container.measurable === false ||
|
|
119
|
-
this.since.has(node)) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
let listed = this.byCharacter.get(character);
|
|
123
|
-
if (!listed) {
|
|
124
|
-
listed = new Set();
|
|
125
|
-
this.byCharacter.set(character, listed);
|
|
126
|
-
}
|
|
127
|
-
listed.add(node);
|
|
128
|
-
this.since.set(node, performance.now());
|
|
129
|
-
if (this.since.size > SPARE_NODES_MOST) {
|
|
130
|
-
this.unlist(this.since.keys().next().value);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/** A node off the spares: taken, come back, kept too long, or past the most. */
|
|
134
|
-
unlist(node) {
|
|
135
|
-
if (!this.since.delete(node)) {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
const character = node.character;
|
|
139
|
-
const listed = this.byCharacter.get(character);
|
|
140
|
-
listed?.delete(node);
|
|
141
|
-
if (listed?.size === 0) {
|
|
142
|
-
this.byCharacter.delete(character);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
/** Every spare let go of, as a SWF unloads (PixiView.dropSpares). */
|
|
146
|
-
clear() {
|
|
147
|
-
this.byCharacter.clear();
|
|
148
|
-
this.since.clear();
|
|
149
|
-
}
|
|
150
|
-
/** The spares listed IDLE_MS or more before `now` let go of, oldest first. */
|
|
151
|
-
expire(now) {
|
|
152
|
-
for (const [node, since] of this.since) {
|
|
153
|
-
if (now - since < IDLE_MS) {
|
|
154
|
-
break;
|
|
155
|
-
}
|
|
156
|
-
this.unlist(node);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=spares.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spares.js","sourceRoot":"","sources":["../../src/render/spares.ts"],"names":[],"mappings":"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"}
|
package/dist/render/strokes.d.ts
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { type GraphicsContext, Matrix } from "pixi.js";
|
|
2
|
-
import { type ShapeLayer } from "../display/shapes.js";
|
|
3
|
-
import { type DeviceMemory, IdleBudget } from "./pools.js";
|
|
4
|
-
/** The linear part of a matrix, [a, b, c, d]: all a stroke's width depends on. */
|
|
5
|
-
export type Linear = [number, number, number, number];
|
|
6
|
-
export declare const UNIT: Linear;
|
|
7
|
-
export declare function sameLinear(p: Linear, q: Linear): boolean;
|
|
8
|
-
/**
|
|
9
|
-
* The context a line's Graphics shows until restroke gives it its own: one
|
|
10
|
-
* for all, never given back nor destroyed, where each made one of its own
|
|
11
|
-
* to throw away.
|
|
12
|
-
*/
|
|
13
|
-
export declare const NO_LINES: GraphicsContext;
|
|
14
|
-
/**
|
|
15
|
-
* Lines' contexts by shape layer and the linear transform they are seen
|
|
16
|
-
* through, shared by every instance that sees a character's layer alike:
|
|
17
|
-
* instances of one creature in step, or one instance on its loop's next
|
|
18
|
-
* turn. Contexts are counted as they are taken and given back, a removed
|
|
19
|
-
* object's too; one no longer taken waits among the idle, destroyed after
|
|
20
|
-
* LINES_IDLE_MS or, the oldest first, past the budget of their vertices,
|
|
21
|
-
* which grows from LINES_IDLE_VERTICES as content comes back to what it
|
|
22
|
-
* let go (IdleBudget), or past as many of them, LINES_IDLE_MOST for that
|
|
23
|
-
* budget's least and more for more. Only a character's layers
|
|
24
|
-
* are shared, which never change, and a blend's while its morph keeps it:
|
|
25
|
-
* one it has dropped is never drawn from again, so its lines go at once.
|
|
26
|
-
*/
|
|
27
|
-
export declare class StrokeContexts {
|
|
28
|
-
private readonly counts;
|
|
29
|
-
private readonly byLayer;
|
|
30
|
-
private readonly uses;
|
|
31
|
-
private readonly keys;
|
|
32
|
-
/** Contexts no one holds, oldest first, with the time each went idle. */
|
|
33
|
-
private readonly idle;
|
|
34
|
-
/** The idle ones' vertices as they went idle, and their sum. */
|
|
35
|
-
private readonly idleSizes;
|
|
36
|
-
private idleVertices;
|
|
37
|
-
/** How many vertices the idle may hold, grown as content comes back to what went for room. */
|
|
38
|
-
readonly budget: IdleBudget;
|
|
39
|
-
/** Each layer's number, for the budget's keys, which must hold no layer. */
|
|
40
|
-
private readonly layerIds;
|
|
41
|
-
private layerCount;
|
|
42
|
-
/** The idle ones of blends, which go as soon as their morph drops the blend. */
|
|
43
|
-
private readonly idleBlends;
|
|
44
|
-
constructor(counts: {
|
|
45
|
-
strokeContexts: number;
|
|
46
|
-
strokeReuses: number;
|
|
47
|
-
}, device?: DeviceMemory);
|
|
48
|
-
/** Content unloaded: the budget back to its floor, the unloaded content's idle lines going on the next tick. */
|
|
49
|
-
unloaded(): void;
|
|
50
|
-
/** The layer's lines under `key` if they are kept, not taken: for a view drawn once to borrow. */
|
|
51
|
-
peek(layer: ShapeLayer, key: string): GraphicsContext | null;
|
|
52
|
-
/** The layer's lines seen through `m`, taken: made or found. */
|
|
53
|
-
take(layer: ShapeLayer, m: Linear, least: number, key?: string): GraphicsContext;
|
|
54
|
-
/** Give a context back: one of these goes idle when no one holds it; any other is destroyed. */
|
|
55
|
-
give(context: GraphicsContext): void;
|
|
56
|
-
/** A frame prepared: the contexts idle too long go, and those of blends their morph dropped. */
|
|
57
|
-
tick(): void;
|
|
58
|
-
/** The oldest idle let go, their keys remembered, till the rest are within the budget. */
|
|
59
|
-
private trim;
|
|
60
|
-
private ghostKey;
|
|
61
|
-
/** Take a context off the idle, if it is there. */
|
|
62
|
-
private wake;
|
|
63
|
-
private drop;
|
|
64
|
-
}
|
|
65
|
-
/** Lines stroked through `m`: the key they are kept by, and the inverse that takes them back to the object's axes. */
|
|
66
|
-
export declare function strokeFrame(m: Linear, least: number): {
|
|
67
|
-
m: Linear;
|
|
68
|
-
key: string;
|
|
69
|
-
inverse: Matrix | null;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* `m`'s stretch, without its turn or mirror: m is a rotation or a mirror
|
|
73
|
-
* times this symmetric stretch, and a line scaled both ways is as wide
|
|
74
|
-
* through either (screenWidth reads |m's columns' sum|, which no rotation
|
|
75
|
-
* changes), so its lines are the same stroked through the stretch alone
|
|
76
|
-
* and then turned. A limb that turns on every frame of a loop, a spinning
|
|
77
|
-
* particle squashed one way, every mirror and every instance alike then
|
|
78
|
-
* share the lines of one context, where each angle was tessellated anew.
|
|
79
|
-
* Rounded, so that one stretch has one key however its turn rounded it;
|
|
80
|
-
* null where m flattens everything, or nearly, where rounding would.
|
|
81
|
-
*/
|
|
82
|
-
export declare function stretchOf(m: Linear, out?: Linear): Linear | null;
|
|
83
|
-
/**
|
|
84
|
-
* The stretch `s` (stretchOf's, symmetric with a positive determinant)
|
|
85
|
-
* moved to the nearest point of a grid, `widest` the width of its widest
|
|
86
|
-
* line in twips and `least` a pixel of the screen; or `s` itself. A tween
|
|
87
|
-
* that scales a little on every frame, a character that breathes, gave
|
|
88
|
-
* each frame a stretch of its own, and its lines were tessellated again
|
|
89
|
-
* on every frame of every loop, faster than the cache could keep them; the
|
|
90
|
-
* grid gives such a pulse a few. Lines stroked through the grid's stretch
|
|
91
|
-
* and taken back through its inverse (strokeFrame) follow the shape's path
|
|
92
|
-
* exactly; only their width and joins see the small difference between
|
|
93
|
-
* the two stretches, s q⁻¹'s from the identity, which the grid keeps under
|
|
94
|
-
* EDGE_SLACK of a pixel at their edges. The grid is on the stretch's
|
|
95
|
-
* logarithm, a symmetric matrix whose entries measure scale and shear
|
|
96
|
-
* alike, in a step that is a power of two, so that stretches settled alike
|
|
97
|
-
* share their contexts; one it would move further than a step, as it may
|
|
98
|
-
* one that squashes nearly flat, is its own.
|
|
99
|
-
*/
|
|
100
|
-
export declare function settledStretch(s: Linear, widest: number, least: number, out?: Linear): Linear;
|
|
101
|
-
/** The width of the layer's widest line, in twips. */
|
|
102
|
-
export declare function widestLine(layer: ShapeLayer): number;
|
|
103
|
-
/** Whether every line of the layer scales both ways, whose width no rotation changes; one scaled one way alone turns with it. */
|
|
104
|
-
export declare function scalesEvenly(layer: ShapeLayer): boolean;
|
|
105
|
-
/** A layer's lines seen through `m`, nothing where `m` flattens them. */
|
|
106
|
-
export declare function linesContext(layer: ShapeLayer, m: Linear, least: number, by?: Linear): GraphicsContext;
|
|
107
|
-
//# sourceMappingURL=strokes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strokes.d.ts","sourceRoot":"","sources":["../../src/render/strokes.ts"],"names":[],"mappings":"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"}
|