postext-folio 0.74.1 → 0.75.0

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.
@@ -49,6 +49,7 @@ export declare class FinishTextures {
49
49
  throughOf(src: unknown): {
50
50
  texture: Texture;
51
51
  layers: number;
52
+ end?: boolean;
52
53
  } | null;
53
54
  /** The textures alive (for tests and for the frame budget). */
54
55
  get size(): number;
@@ -113,6 +114,11 @@ export declare const FINISH_NORMAL = "\n if (finishMask.r > 0.0) normal = norma
113
114
  export declare const FINISH_EMISSIVE = "\n totalEmissiveRadiance += finishMask.b * finishInk * 0.45;\n";
114
115
  /** The clear coat a varnish lays (after three.js has set the stock's): a
115
116
  * gloss varnish a hard, sharp coat, a satin one softer, a matte or soft-
116
- * touch one next to none. A bare metal takes none. */
117
- export declare const FINISH_COAT = "\n #ifdef USE_CLEARCOAT\n if (finishMask.g > 0.0) {\n float s = smoothstep(0.3, 1.0, finishSheen);\n float w = finishCover * (1.0 - finishMask.r);\n material.clearcoat = mix(material.clearcoat, s, w);\n material.clearcoatRoughness = mix(material.clearcoatRoughness, min(1.0, max(mix(0.6, 0.03, s), 0.0525) + geometryRoughness), w);\n }\n #endif\n";
117
+ * touch one next to none. A bare metal takes none. Under a coat the print
118
+ * has no surface of its own (the varnish wets it): the paper's own
119
+ * reflection goes, and all the light the surface sends back is the
120
+ * coat's, a sharp image of the lamps over a deep print (#1587). Left on,
121
+ * the stock's blurred reflection laid a milky veil over the photographs a
122
+ * spot gloss should deepen. */
123
+ export declare const FINISH_COAT = "\n #ifdef USE_CLEARCOAT\n if (finishMask.g > 0.0) {\n float s = smoothstep(0.3, 1.0, finishSheen);\n float w = finishCover * (1.0 - finishMask.r);\n material.clearcoat = mix(material.clearcoat, s, w);\n material.clearcoatRoughness = mix(material.clearcoatRoughness, min(1.0, max(mix(0.6, 0.03, s), 0.0525) + geometryRoughness), w);\n float wet = 1.0 - s * w;\n material.specularColor *= wet;\n material.specularF90 *= wet;\n }\n #endif\n";
118
124
  //# sourceMappingURL=finish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"finish.d.ts","sourceRoot":"","sources":["../../src/pageFlip/finish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finish.d.ts","sourceRoot":"","sources":["../../src/pageFlip/finish.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,7 @@ export class FinishTextures {
87
87
  let t = this.throughs.get(through);
88
88
  if (!t)
89
89
  this.throughs.set(through, (t = throughTexture(through)));
90
- return { texture: t, layers: through.layers };
90
+ return { texture: t, layers: through.layers, ...(through.end ? { end: true } : {}) };
91
91
  }
92
92
  /** The textures alive (for tests and for the frame budget). */
93
93
  get size() {
@@ -211,7 +211,12 @@ export const FINISH_EMISSIVE = /* glsl */ `
211
211
  `;
212
212
  /** The clear coat a varnish lays (after three.js has set the stock's): a
213
213
  * gloss varnish a hard, sharp coat, a satin one softer, a matte or soft-
214
- * touch one next to none. A bare metal takes none. */
214
+ * touch one next to none. A bare metal takes none. Under a coat the print
215
+ * has no surface of its own (the varnish wets it): the paper's own
216
+ * reflection goes, and all the light the surface sends back is the
217
+ * coat's, a sharp image of the lamps over a deep print (#1587). Left on,
218
+ * the stock's blurred reflection laid a milky veil over the photographs a
219
+ * spot gloss should deepen. */
215
220
  export const FINISH_COAT = /* glsl */ `
216
221
  #ifdef USE_CLEARCOAT
217
222
  if (finishMask.g > 0.0) {
@@ -219,6 +224,9 @@ export const FINISH_COAT = /* glsl */ `
219
224
  float w = finishCover * (1.0 - finishMask.r);
220
225
  material.clearcoat = mix(material.clearcoat, s, w);
221
226
  material.clearcoatRoughness = mix(material.clearcoatRoughness, min(1.0, max(mix(0.6, 0.03, s), 0.0525) + geometryRoughness), w);
227
+ float wet = 1.0 - s * w;
228
+ material.specularColor *= wet;
229
+ material.specularF90 *= wet;
222
230
  }
223
231
  #endif
224
232
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"finish.js","sourceRoot":"","sources":["../../src/pageFlip/finish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finish.js","sourceRoot":"","sources":["../../src/pageFlip/finish.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, Mesh, BoxGeometry, MeshStandardMaterial, Plane } from 'three';
1
+ import { BufferGeometry, Mesh, BoxGeometry, MeshStandardMaterial, Plane, PlaneGeometry } from 'three';
2
2
  import { type Profile } from '../bookGeometry.js';
3
3
  import type { PaperSpec } from '../paper.js';
4
4
  import { type PageMaterial } from './materials.js';
@@ -9,6 +9,14 @@ export declare const MAX_PITCH: number;
9
9
  export declare const column: (t: number) => number;
10
10
  /** Sets a page mesh's u coordinates to its columns. */
11
11
  export declare function spreadColumns(geometry: BufferGeometry, nx: number): void;
12
+ /** A leaf's mesh: a grid of NX × NY columns from the spine, its ambient
13
+ * occlusion clear, and the side of a board it draws (see
14
+ * {@link setLeafFace}). */
15
+ export declare function leafGeometry(): PlaneGeometry;
16
+ /** Which side of a leaf's mesh looks out of it: +1 its front, −1 its back
17
+ * (a board's two faces, each drawn by a mesh of its own: the other side is
18
+ * inside the board, seen only through a hole, #1586), 0 both (a sheet). */
19
+ export declare function setLeafFace(geometry: BufferGeometry, face: -1 | 0 | 1): void;
12
20
  /** A point in a leaf's own coordinates: `u` from the spine (0 … W), `v`
13
21
  * from the middle of the page (−H/2 … H/2). Backward turns mirror x. */
14
22
  export interface Pt {
@@ -1 +1 @@
1
- {"version":3,"file":"leaf.d.ts","sourceRoot":"","sources":["../../src/pageFlip/leaf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leaf.d.ts","sourceRoot":"","sources":["../../src/pageFlip/leaf.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // A leaf's shape: the open book's two surfaces, the fold and roll of a
2
2
  // turning leaf, how far through its turn it is, and laying its mesh out
3
3
  // (#1276: split out of pageFlip.ts).
4
- import { Plane, Vector3 } from 'three';
4
+ import { BufferAttribute, Plane, PlaneGeometry, Vector3 } from 'three';
5
5
  import { along, topAt } from '../bookGeometry.js';
6
6
  import { ROLL, BLOCK_GAP, NX, NY, OWN_GAP } from './constants.js';
7
7
  import { smooth } from './materials.js';
@@ -21,6 +21,27 @@ export function spreadColumns(geometry, nx) {
21
21
  uv.setX(i, column((i % (nx + 1)) / nx));
22
22
  uv.needsUpdate = true;
23
23
  }
24
+ /** A leaf's mesh: a grid of NX × NY columns from the spine, its ambient
25
+ * occlusion clear, and the side of a board it draws (see
26
+ * {@link setLeafFace}). */
27
+ export function leafGeometry() {
28
+ const geometry = new PlaneGeometry(1, 1, NX, NY);
29
+ spreadColumns(geometry, NX);
30
+ const n = geometry.attributes.position.count;
31
+ geometry.setAttribute("ao", new BufferAttribute(new Float32Array(n).fill(1), 1));
32
+ geometry.setAttribute("leafFace", new BufferAttribute(new Float32Array(n), 1));
33
+ return geometry;
34
+ }
35
+ /** Which side of a leaf's mesh looks out of it: +1 its front, −1 its back
36
+ * (a board's two faces, each drawn by a mesh of its own: the other side is
37
+ * inside the board, seen only through a hole, #1586), 0 both (a sheet). */
38
+ export function setLeafFace(geometry, face) {
39
+ const attr = geometry.attributes.leafFace;
40
+ if (!attr || attr.getX(0) === face)
41
+ return;
42
+ attr.array.fill(face);
43
+ attr.needsUpdate = true;
44
+ }
24
45
  /** max(a, b), rounded over a band `k` wide (no crease where they meet). */
25
46
  function smoothMax(a, b, k) {
26
47
  return (a + b + Math.sqrt((a - b) * (a - b) + k * k)) / 2;
@@ -1 +1 @@
1
- {"version":3,"file":"leaf.js","sourceRoot":"","sources":["../../src/pageFlip/leaf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leaf.js","sourceRoot":"","sources":["../../src/pageFlip/leaf.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/pageFlip/materials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/pageFlip/materials.ts"],"names":[],"mappings":"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"}
@@ -65,12 +65,15 @@ export function pageMaterial(mirror, sign, cutMode = CUT_OFF) {
65
65
  shader.vertexShader = shader.vertexShader
66
66
  .replace("#include <common>", `#include <common>
67
67
  attribute float ao;
68
+ attribute float leafFace;
68
69
  varying float vAo;
69
70
  varying vec2 vPageUv;
71
+ varying float vLeafFace;
70
72
  ${BOOK_POS_PARS}`)
71
73
  .replace("#include <begin_vertex>", `#include <begin_vertex>
72
74
  vAo = ao;
73
75
  vPageUv = uv;
76
+ vLeafFace = leafFace;
74
77
  ${BOOK_POS}`);
75
78
  shader.fragmentShader = keyShadowed(shader.fragmentShader)
76
79
  .replace("#include <common>", `#include <common>
@@ -109,6 +112,7 @@ export function pageMaterial(mirror, sign, cutMode = CUT_OFF) {
109
112
  uniform vec3 uReflectionNormal;
110
113
  varying float vAo;
111
114
  varying vec2 vPageUv;
115
+ varying float vLeafFace;
112
116
  varying vec3 vBookPos;
113
117
  ${FINISH_PARS}
114
118
  ${CUT_PARS}
@@ -153,6 +157,17 @@ export function pageMaterial(mirror, sign, cutMode = CUT_OFF) {
153
157
  }
154
158
  ${CUT_FRAGMENT}
155
159
  ${FINISH_READ}
160
+ // A board's face seen from inside the board, through a hole in
161
+ // the other face (#1586): the board's core, unprinted. A board
162
+ // draws each face from its own mesh, leafFace the side that
163
+ // looks out (+1 the front, −1 the back; 0 a sheet, both).
164
+ if (vLeafFace * (gl_FrontFacing ? 1.0 : -1.0) < -0.5) {
165
+ ink = uPaper * 0.8;
166
+ cutA = 1.0;
167
+ finishMask = vec4(0.0);
168
+ finishSheen = 0.0;
169
+ finishCover = 0.0;
170
+ }
156
171
  // The other side's print, seen through the sheet (the same point
157
172
  // of paper, so mirrored as it should be).
158
173
  float other = front ? uHasBack : uHasFront;
@@ -1 +1 @@
1
- {"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/pageFlip/materials.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,qEAAqE;AACrE,kFAAkF;AAClF,OAAO,EAAW,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAA2C,oBAAoB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGnL,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAuB,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7L;;;;;6DAK6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,IAAsB,EAAE;IAC1C,YAAY,EAAE,EAAE,KAAK,EAAE,IAAsB,EAAE;IAC/C,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;IACvB,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IACzC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IACzC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;IAC1B,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;CAC3B,CAAC;AAiDF;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,IAAY,EAAE,OAAO,GAAG,OAAO;IAC3E,MAAM,CAAC,GAAG,IAAI,oBAAoB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAiB,CAAC;IAC1F,MAAM,QAAQ,GAAiB;QAC7B,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACvB,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACtB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACvB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACtB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAClC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACvB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACvB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACrB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACvB,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;QACrC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACzB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACtB,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACvB,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QACvC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACvB,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE;QAC/E,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE;QAC/E,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE;QACjF,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QAC5B,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QAC3B,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC7C,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;QAClD,GAAG,cAAc,EAAE;QACnB,GAAG,WAAW,CAAC,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,CAAC,CAAC,eAAe,GAAG,CAAC,MAA0C,EAAE,EAAE;QACjE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxG,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;aACtC,OAAO,CACN,mBAAmB,EACnB;;;;UAIE,aAAa,EAAE,CAClB;aACA,OAAO,CACN,yBAAyB,EACzB;;;UAGE,QAAQ,EAAE,CACb,CAAC;QACJ,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;aACvD,OAAO,CACN,mBAAmB,EACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA2BsB,eAAe;8BACf,eAAe;gCACb,eAAe;;;;;;;;UAQrC,WAAW;UACX,QAAQ;UACR,SAAS,EAAE,CACd;aACA,OAAO,CACN,yBAAyB,EACzB;;;;;;;;;;;;;;;;;;;;;;;;;gCAyBwB,eAAe;;;;;;;;;;;;;YAanC,YAAY;YACZ,WAAW;;;;;;;;;;;;;;;;;;;YAmBX,cAAc;UAChB,CACH;aACA,OAAO,CAAC,kCAAkC,EAAE,qCAAqC,gBAAgB,EAAE,CAAC;aACpG,OAAO,CAAC,kCAAkC,EAAE,qCAAqC,gBAAgB,EAAE,CAAC;aACpG,OAAO,CAAC,iCAAiC,EAAE,oCAAoC,aAAa,EAAE,CAAC;aAC/F,OAAO,CAAC,iCAAiC,EAAE,oCAAoC,eAAe,EAAE,CAAC;aACjG,OAAO,CAAC,qCAAqC,EAAE,wCAAwC,WAAW,EAAE,CAAC;aACrG,OAAO,CACN,2BAA2B,EAC3B;;;;;;;;;;;;;;UAcE,WAAW,CAAC,0FAA0F,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAyCvG,CACH,CAAC;IACN,CAAC,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;kDAEkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;IACpB,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;CAC1B,CAAC;AAEF,uEAAuE;AACvE,yEAAyE;AACzE,uEAAuE;AACvE,wEAAwE;AACxE,0EAA0E;AAC1E,oEAAoE;AACpE,uEAAuE;AACvE,wEAAwE;AACxE,MAAM,WAAW,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC9B,CAAC;AAEF;;iBAEiB;AACjB,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAgD,EAAE,KAAa;IACxG,MAAM,CAAC,GAAG,IAAI,oBAAoB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,KAAK;QAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACvJ,CAAC,CAAC,eAAe,GAAG,CAAC,MAAM,EAAE,EAAE;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAClG,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;aACtC,OAAO,CAAC,mBAAmB,EAAE,iKAAiK,aAAa,EAAE,CAAC;aAC9M,OAAO,CAAC,yBAAyB,EAAE,6EAA6E,QAAQ,EAAE,CAAC,CAAC;QAC/H,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;aACvD,OAAO,CAAC,mBAAmB,EAAE,0KAA0K,SAAS,KAAK,WAAW,EAAE,CAAC;aACnO,OAAO,CACN,iCAAiC,EACjC;;;;;;;;;;;;;UAaE,CACH;aACA,OAAO,CACN,yBAAyB,EACzB;;;;;;;;;;;UAWE,CACH;aACA,OAAO,CACN,2BAA2B,EAC3B,kGAAkG,CACnG,CAAC;IACN,CAAC,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA8B,EAAE,KAAa;IAC9E,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;IAC3B,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1G,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAC1E,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;IACxE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;0CAE0C;AAC1C,MAAM,UAAU,WAAW,CAAC,KAA4D;IACtF,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;oBAAE,SAAS;gBACjD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACV,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACf,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACd,CAAC,EAAE,CAAC;YACN,CAAC;QACH,OAAO,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/pageFlip/materials.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MeshDepthMaterial, type Texture } from 'three';
1
+ import { BoxGeometry, MeshDepthMaterial, MeshStandardMaterial, type Texture } from 'three';
2
2
  /** A through picture as the document side paints it: RGBA bytes, top row
3
3
  * first; RGB the stack seen through the holes, A the depth code (0 off
4
4
  * the holes, k the k-th layer beneath). `layers`: how many there are. */
@@ -7,6 +7,9 @@ export interface FaceThroughData {
7
7
  height: number;
8
8
  data: Uint8ClampedArray;
9
9
  layers: number;
10
+ /** The deepest layer is past the book's end (the board or what the
11
+ * book lies on), not a page. */
12
+ end?: boolean;
10
13
  }
11
14
  /** A through picture as a texture: its colour sRGB like the pages' (the
12
15
  * alpha, the depth codes, stays as it is), filtered; the shader reads
@@ -48,41 +51,78 @@ export interface CutUniforms {
48
51
  uLeafDepth: {
49
52
  value: number;
50
53
  };
54
+ /** The depth code of the layer past the book's end, per face (0: the
55
+ * holes stop at a page). */
56
+ uFrontEnd: {
57
+ value: number;
58
+ };
59
+ uBackEnd: {
60
+ value: number;
61
+ };
62
+ /** Nothing lies past the book's end but the desk (no case): the ray
63
+ * that gets there leaves the book. */
64
+ uSeeDesk: {
65
+ value: number;
66
+ };
51
67
  }
52
68
  export declare const cutUniforms: (mode: number) => CutUniforms;
53
69
  /** Declarations for the page material's fragment shader. */
54
- export declare const CUT_PARS = "\n uniform float uCutMode;\n uniform float uHasFrontCut;\n uniform float uHasBackCut;\n uniform sampler2D uFrontThrough;\n uniform sampler2D uBackThrough;\n uniform float uHasFrontThrough;\n uniform float uHasBackThrough;\n uniform float uThroughLayers;\n uniform float uLeafDepth;\n // The direct light a hole's wall keeps from a point deep in it, and the\n // sky its depth leaves it.\n float throughLit = 1.0;\n float throughAo = 1.0;\n vec4 throughAt(bool front, ivec2 t) {\n return front ? texelFetch(uFrontThrough, t, 0) : texelFetch(uBackThrough, t, 0);\n }\n // The depth code at a point of the face (y down), 0 off the holes.\n float throughDepth(bool front, vec2 p, vec2 size) {\n ivec2 t = ivec2(clamp(p, vec2(0.0), vec2(0.999999)) * size);\n return floor(throughAt(front, t).a * 255.0 + 0.5);\n }\n vec3 throughColour(bool front, vec2 p) {\n return front ? texture2D(uFrontThrough, p).rgb : texture2D(uBackThrough, p).rgb;\n }\n";
70
+ export declare const CUT_PARS = "\n uniform float uCutMode;\n uniform float uHasFrontCut;\n uniform float uHasBackCut;\n uniform sampler2D uFrontThrough;\n uniform sampler2D uBackThrough;\n uniform float uHasFrontThrough;\n uniform float uHasBackThrough;\n uniform float uThroughLayers;\n uniform float uLeafDepth;\n uniform float uFrontEnd;\n uniform float uBackEnd;\n uniform float uSeeDesk;\n // The direct light a hole's wall keeps from a point deep in it, and the\n // sky its depth leaves it.\n float throughLit = 1.0;\n float throughAo = 1.0;\n vec4 throughAt(bool front, ivec2 t) {\n return front ? texelFetch(uFrontThrough, t, 0) : texelFetch(uBackThrough, t, 0);\n }\n // The depth code at a point of the face (y down), 0 off the holes.\n float throughDepth(bool front, vec2 p, vec2 size) {\n ivec2 t = ivec2(clamp(p, vec2(0.0), vec2(0.999999)) * size);\n return floor(throughAt(front, t).a * 255.0 + 0.5);\n }\n vec3 throughColour(bool front, vec2 p) {\n return front ? texture2D(uFrontThrough, p).rgb : texture2D(uBackThrough, p).rgb;\n }\n";
55
71
  /**
56
72
  * In `map_fragment`, once the face's page texel `page` (RGBA, alpha the
57
73
  * cut) and its print `ink` are known. A leaf in the air drops its holes;
58
74
  * an open page draws them: the view ray walked down the stack.
59
75
  */
60
- export declare const CUT_FRAGMENT = "\n if (uCutMode > 0.5 && (front ? uHasFrontCut : uHasBackCut) > 0.5 && cutA < 0.999) {\n if (uCutMode > 1.5) {\n if (cutA < 0.5) discard;\n } else {\n vec2 p0 = vec2(tuv.x, 1.0 - tuv.y);\n bool hasThrough = (front ? uHasFrontThrough : uHasBackThrough) > 0.5;\n vec2 size = hasThrough ? vec2(front ? textureSize(uFrontThrough, 0) : textureSize(uBackThrough, 0)) : vec2(1.0);\n float d0 = hasThrough ? throughDepth(front, p0, size) : 0.0;\n // The picture is coarser than the page: at the hole's rim it may\n // still say paper where the page's alpha says hole.\n if (hasThrough && d0 < 0.5) {\n for (int i = 0; i < 4; i++) {\n vec2 o = vec2(i == 0 ? 1.0 : i == 1 ? -1.0 : 0.0, i == 2 ? 1.0 : i == 3 ? -1.0 : 0.0) / size;\n d0 = max(d0, throughDepth(front, p0 + o, size));\n }\n }\n // Off the holes (past the leaf's outline): nothing of this page.\n if (d0 < 0.5 && cutA < 0.5) discard;\n vec3 hole = uPaper;\n if (hasThrough && d0 > 0.5) {\n // The face's frame on screen: the gradients of its uv, so a step\n // on the page in view space is a step in the picture.\n vec3 pos = -vViewPosition;\n vec3 dp1 = dFdx(pos);\n vec3 dp2 = dFdy(pos);\n vec3 n = normalize(cross(dp1, dp2));\n vec3 eye = normalize(vViewPosition);\n if (dot(n, eye) < 0.0) n = -n;\n vec2 duv1 = dFdx(p0);\n vec2 duv2 = dFdy(p0);\n vec3 dp2perp = cross(dp2, n);\n vec3 dp1perp = cross(n, dp1);\n float det = dot(dp2perp, dp1);\n vec3 gu = (dp2perp * duv1.x + dp1perp * duv2.x) / det;\n vec3 gv = (dp2perp * duv1.y + dp1perp * duv2.y) / det;\n // A leaf down along the view ray, and a leaf up towards the key.\n float h = uLeafDepth;\n vec3 down = -eye * (h / max(dot(eye, n), 0.05)) + n * h;\n vec2 stepDown = vec2(dot(down, gu), dot(down, gv));\n vec2 stepUp = vec2(0.0);\n #if NUM_DIR_LIGHTS > 0\n vec3 l = directionalLights[0].direction;\n vec3 up = l * (h / max(dot(l, n), 0.05)) - n * h;\n stepUp = vec2(dot(up, gu), dot(up, gv));\n #endif\n float k = 1.0;\n float wall = 0.0;\n vec2 hit = p0;\n for (int i = 1; i <= 33; i++) {\n k = float(i);\n if (k > uThroughLayers) break;\n hit = p0 + stepDown * k;\n float d = throughDepth(front, hit, size);\n if (d < k) { wall = 1.0; break; }\n if (d < k + 0.5) break;\n }\n // The key's ray from there back up: paper on its way is a wall's\n // shadow.\n float lit = 1.0;\n float top = wall > 0.5 ? k - 0.5 : k;\n for (int j = 1; j <= 33; j++) {\n float z = top - float(j);\n if (z < 0.0) break;\n if (throughDepth(front, hit + stepUp * float(j), size) <= z) { lit = 0.0; break; }\n }\n throughLit = wall > 0.5 ? 0.45 * lit : lit;\n // Deeper is darker: less of the sky reaches down a narrow shaft.\n throughAo = mix(0.35, 1.0, exp(-0.12 * (k - 1.0))) * (wall > 0.5 ? 0.7 : 1.0);\n hole = wall > 0.5 ? uPaper * 0.8 : throughColour(front, hit);\n }\n ink = mix(hole, ink, cutA);\n }\n }\n";
76
+ export declare const CUT_FRAGMENT = "\n if (uCutMode > 0.5 && (front ? uHasFrontCut : uHasBackCut) > 0.5 && cutA < 0.999) {\n if (uCutMode > 1.5) {\n if (cutA < 0.5) discard;\n } else {\n vec2 p0 = vec2(tuv.x, 1.0 - tuv.y);\n bool hasThrough = (front ? uHasFrontThrough : uHasBackThrough) > 0.5;\n vec2 size = hasThrough ? vec2(front ? textureSize(uFrontThrough, 0) : textureSize(uBackThrough, 0)) : vec2(1.0);\n float d0 = hasThrough ? throughDepth(front, p0, size) : 0.0;\n // The picture is coarser than the page: at the hole's rim it may\n // still say paper where the page's alpha says hole.\n if (hasThrough && d0 < 0.5) {\n for (int i = 0; i < 4; i++) {\n vec2 o = vec2(i == 0 ? 1.0 : i == 1 ? -1.0 : 0.0, i == 2 ? 1.0 : i == 3 ? -1.0 : 0.0) / size;\n d0 = max(d0, throughDepth(front, p0 + o, size));\n }\n }\n // Off the holes (past the leaf's outline): nothing of this page.\n if (d0 < 0.5 && cutA < 0.5) discard;\n vec3 hole = uPaper;\n if (hasThrough && d0 > 0.5) {\n // The face's frame on screen: the gradients of its uv, so a step\n // on the page in view space is a step in the picture.\n vec3 pos = -vViewPosition;\n vec3 dp1 = dFdx(pos);\n vec3 dp2 = dFdy(pos);\n vec3 n = normalize(cross(dp1, dp2));\n vec3 eye = normalize(vViewPosition);\n if (dot(n, eye) < 0.0) n = -n;\n vec2 duv1 = dFdx(p0);\n vec2 duv2 = dFdy(p0);\n vec3 dp2perp = cross(dp2, n);\n vec3 dp1perp = cross(n, dp1);\n float det = dot(dp2perp, dp1);\n vec3 gu = (dp2perp * duv1.x + dp1perp * duv2.x) / det;\n vec3 gv = (dp2perp * duv1.y + dp1perp * duv2.y) / det;\n // A leaf down along the view ray, and a leaf up towards the key.\n float h = uLeafDepth;\n vec3 down = -eye * (h / max(dot(eye, n), 0.05)) + n * h;\n vec2 stepDown = vec2(dot(down, gu), dot(down, gv));\n vec2 stepUp = vec2(0.0);\n #if NUM_DIR_LIGHTS > 0\n vec3 l = directionalLights[0].direction;\n vec3 up = l * (h / max(dot(l, n), 0.05)) - n * h;\n stepUp = vec2(dot(up, gu), dot(up, gv));\n #endif\n float k = 1.0;\n float wall = 0.0;\n vec2 hit = p0;\n for (int i = 1; i <= 33; i++) {\n k = float(i);\n if (k > uThroughLayers) break;\n hit = p0 + stepDown * k;\n float d = throughDepth(front, hit, size);\n if (d < k) { wall = 1.0; break; }\n if (d < k + 0.5) break;\n }\n // Out past the book's last page with nothing there but the desk:\n // the page lets the eye through, to the real desk under the book.\n float endK = front ? uFrontEnd : uBackEnd;\n if (uSeeDesk > 0.5 && endK > 0.5 && wall < 0.5 && k > endK - 0.5) discard;\n // The key's ray from there back up: paper on its way is a wall's\n // shadow.\n float lit = 1.0;\n float top = wall > 0.5 ? k - 0.5 : k;\n for (int j = 1; j <= 33; j++) {\n float z = top - float(j);\n if (z < 0.0) break;\n if (throughDepth(front, hit + stepUp * float(j), size) <= z) { lit = 0.0; break; }\n }\n throughLit = wall > 0.5 ? 0.45 * lit : lit;\n // Deeper is darker: less of the sky reaches down a narrow shaft.\n throughAo = mix(0.35, 1.0, exp(-0.12 * (k - 1.0))) * (wall > 0.5 ? 0.7 : 1.0);\n hole = wall > 0.5 ? uPaper * 0.8 : throughColour(front, hit);\n }\n ink = mix(hole, ink, cutA);\n }\n }\n";
61
77
  /**
62
78
  * The key light's depth material for a cut leaf: three.js's, with the
63
79
  * page texture's alpha discarding the holes (the leaf's front, or its back
64
80
  * read through the paper), so the key's shadow falls through them.
65
81
  */
66
- export declare function cutDepthMaterial(): MeshDepthMaterial & {
82
+ export declare function cutDepthMaterial(cut?: LeafCut): MeshDepthMaterial & {
67
83
  userData: {
68
- cut: {
69
- uCut: {
70
- value: Texture | null;
71
- };
72
- uCutBack: {
73
- value: number;
74
- };
75
- uMirror: {
76
- value: number;
77
- };
78
- };
84
+ cut: LeafCut;
79
85
  };
80
86
  };
87
+ /** A leaf's cut as its depth material, its caster and a board's edges
88
+ * read it: the painted face whose alpha is the cut, whether that is its
89
+ * back, the book's mirroring, and whether there is a cut at all. */
90
+ export interface LeafCut {
91
+ uCut: {
92
+ value: Texture | null;
93
+ };
94
+ uCutBack: {
95
+ value: number;
96
+ };
97
+ uMirror: {
98
+ value: number;
99
+ };
100
+ uHasCut: {
101
+ value: number;
102
+ };
103
+ }
104
+ export declare const leafCut: () => LeafCut;
105
+ /**
106
+ * The edges of a board in the air (#1586): a unit box's four sides (its
107
+ * two faces are the leaf's meshes), its colour the board's. Each side
108
+ * stands only where the leaf has paper at its rim: a rounded or shaped
109
+ * outline takes its edges with it. Without a lid between the two faces a
110
+ * hole stays open through the board's thickness.
111
+ */
112
+ export declare function boardEdges(cut: LeafCut): {
113
+ geometry: BoxGeometry;
114
+ material: MeshStandardMaterial;
115
+ };
81
116
  /** The same discard for the height-map caster of a cut leaf. */
82
117
  export declare const CASTER_CUT: {
83
118
  pars: string;
84
119
  discard: string;
85
120
  };
121
+ /** The leaf's cut uniforms its depth material and its board's edges share,
122
+ * made once per mesh. */
123
+ export declare const leafCutOf: (mesh: {
124
+ userData: Record<string, unknown>;
125
+ }) => LeafCut;
86
126
  type CutMesh = {
87
127
  material: {
88
128
  userData: {
@@ -108,31 +148,26 @@ export interface CutSources {
108
148
  throughOf(src: unknown): {
109
149
  texture: Texture;
110
150
  layers: number;
151
+ end?: boolean;
111
152
  } | null;
112
153
  }
113
154
  /**
114
155
  * Sets a page mesh's cut uniforms from the pages on its faces: which face
115
156
  * is cut, what its holes show (open pages), a leaf's thickness, and for a
116
157
  * leaf in the air its key-light depth material and its caster, which
117
- * discard the holes (the shared caster again once it is not cut).
158
+ * discard the holes (the shared caster again once it is not cut). `desk`:
159
+ * nothing lies past the book's end but the desk (no case), so an open page
160
+ * whose holes reach it lets the key light through them too.
118
161
  */
119
162
  export declare function dressCut(mesh: CutMesh, sources: CutSources, leafDepth: number, caster: {
120
163
  shared: unknown;
121
164
  cut: () => unknown;
122
- }): void;
165
+ }, desk?: boolean): void;
123
166
  /** The caster discard's uniforms, fresh for each cut leaf. */
124
167
  export declare const casterCut: () => {
125
- uniforms: {
126
- uCut: {
127
- value: null;
128
- };
129
- uCutBack: {
130
- value: number;
131
- };
132
- uMirror: {
133
- value: number;
134
- };
135
- };
168
+ uniforms: Record<string, {
169
+ value: unknown;
170
+ }>;
136
171
  pars: string;
137
172
  discard: string;
138
173
  };
@@ -1 +1 @@
1
- {"version":3,"file":"through.d.ts","sourceRoot":"","sources":["../../src/pageFlip/through.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"through.d.ts","sourceRoot":"","sources":["../../src/pageFlip/through.ts"],"names":[],"mappings":"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"}