SnapDOMGitHub★ 8K
Labs Experiment

Capture stages

A capture is a chain: a clone freezes the live DOM, a render turns it into pixels. A plugin declares how far the chain runs:

// Clone only, no image
{ name: 'my-plugin', needs: 'clone' }

// Complete capture (the default)
{ name: 'my-plugin' }

v3 removed a third stage, needs: 'dom', which ran against the live page with no clone. Declaring it throws.

A capture runs to the deepest stage its plugins declare; one undeclared plugin keeps the whole chain. No plugins, no change.

Item 1

Short description for row 1.

Item 2

Short description for row 2.

Item 3

Short description for row 3.

Item 4

Short description for row 4.

Item 5

Short description for row 5.

Item 6

Short description for row 6.

Item 7

Short description for row 7.

Item 8

Short description for row 8.

Item 9

Short description for row 9.

Item 10

Short description for row 10.

Item 11

Short description for row 11.

Item 12

Short description for row 12.

Item 13

Short description for row 13.

Item 14

Short description for row 14.

Item 15

Short description for row 15.

Item 16

Short description for row 16.

Item 17

Short description for row 17.

Item 18

Short description for row 18.

Item 19

Short description for row 19.

Item 20

Short description for row 20.

Item 21

Short description for row 21.

Item 22

Short description for row 22.

Item 23

Short description for row 23.

Item 24

Short description for row 24.

Item 25

Short description for row 25.

Item 26

Short description for row 26.

Item 27

Short description for row 27.

Item 28

Short description for row 28.

Item 29

Short description for row 29.

Item 30

Short description for row 30.

Item 31

Short description for row 31.

Item 32

Short description for row 32.

Item 33

Short description for row 33.

Item 34

Short description for row 34.

Item 35

Short description for row 35.

Item 36

Short description for row 36.

What the numbers say

The clone stage skips asset embedding and serialization. The saving depends on the page; no stage promises a fixed fraction of a full capture.

Unavailable exports

Asking a clone-stage capture for pixels throws, naming the plugin that lowered the stage. Re-capturing on demand would return a different instant, unnoticed by the caller.