mesurer 0.1.5 → 0.2.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/CHANGELOG.md +22 -0
- package/PRIVACY.md +49 -30
- package/README.md +6 -3
- package/dist/index.cjs +9893 -5791
- package/dist/index.d.cts +77 -5
- package/dist/index.d.ts +77 -5
- package/dist/index.js +9090 -4989
- package/dist/styles.css +1 -1
- package/package.json +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# mesurer
|
|
2
2
|
|
|
3
|
+
## 0.2.1
|
|
4
|
+
|
|
5
|
+
- add selected-region video recording with Chrome tab capture
|
|
6
|
+
- add recording playback, trimming, scaling, and WebM/MP4 export where supported
|
|
7
|
+
- add the Screenshot/Screen record capture menu
|
|
8
|
+
- improve recording crop mapping, frame capture, lifecycle cleanup, and extension playback
|
|
9
|
+
- improve toolbar persistence across reloads and same-tab navigation
|
|
10
|
+
- improve transparent overlay selection and extension capture behavior
|
|
11
|
+
|
|
12
|
+
## 0.2.0
|
|
13
|
+
|
|
14
|
+
- add configurable column, row, and pixel layout guides with selection, keyboard controls, persistence, and undo/redo
|
|
15
|
+
- scope workspaces to page URLs and preserve guides, comments, measurements, and annotations across navigation and reloads
|
|
16
|
+
- improve inspect selection, transparent and iframe targets, spacing geometry, typography details, and guide-linked distances
|
|
17
|
+
- improve arrow, pen, and text annotation selection, transforms, cursors, and group editing
|
|
18
|
+
- improve comment threads with replies, editing, deletion, resolve/reopen actions, selector copying, tooltips, and safer draft dismissal
|
|
19
|
+
- improve toolbar dragging, menu stacking, minimization, restoration, and overlay lifecycle behavior
|
|
20
|
+
- add dark mode and theme-aware controls across the toolbar, comments, settings, and menus
|
|
21
|
+
- improve keyboard ownership, host-page focus handling, CSS isolation, and overlay stacking
|
|
22
|
+
- improve color picker, screenshot, ruler, and settings interactions
|
|
23
|
+
- improve the Chrome extension across reloads, SPA navigation, host recovery, tab persistence, screenshots, and per-tab workspaces
|
|
24
|
+
|
|
3
25
|
## 0.1.5
|
|
4
26
|
|
|
5
27
|
- add DOM-attached comment threads with replies, persistence, iframe and Shadow DOM targets, and agent-ready copy
|
package/PRIVACY.md
CHANGED
|
@@ -1,63 +1,82 @@
|
|
|
1
1
|
# Privacy Policy
|
|
2
2
|
|
|
3
|
+
Last updated: 30 September 2026
|
|
4
|
+
|
|
3
5
|
## Mesurer
|
|
4
6
|
|
|
5
|
-
Mesurer
|
|
7
|
+
Mesurer includes a browser tool, an npm package, a Chrome extension, and hosted platform features for reviewing deployed web projects.
|
|
8
|
+
|
|
9
|
+
## Local browser features
|
|
10
|
+
|
|
11
|
+
The browser tool and Chrome extension store settings, guides, measurements, comments, and page workspaces locally in your browser where possible. This local data is not sent to Mesurer servers by the extension's local features.
|
|
12
|
+
|
|
13
|
+
Mesurer does not use the extension to sell or transfer your browsing history or website content for advertising.
|
|
6
14
|
|
|
7
|
-
##
|
|
15
|
+
## Platform data
|
|
8
16
|
|
|
9
|
-
|
|
17
|
+
When you use hosted platform features, Mesurer may process:
|
|
10
18
|
|
|
11
|
-
|
|
19
|
+
- account details provided by your authentication provider, such as your name, email address, and profile image
|
|
20
|
+
- project, deployment, and website origin information
|
|
21
|
+
- comments, screenshots, review data, and content you choose to share
|
|
22
|
+
- subscription and billing status
|
|
12
23
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
|
|
24
|
+
This information is used to authenticate you, provide projects and reviews, share content at your direction, secure the service, and manage subscriptions.
|
|
25
|
+
|
|
26
|
+
## Authentication and payments
|
|
27
|
+
|
|
28
|
+
Mesurer may use GitHub or Google for sign-in. Those providers process information under their own privacy policies.
|
|
29
|
+
|
|
30
|
+
Payments may be handled by third-party payment providers. Mesurer does not intend to store full payment card details on its own systems.
|
|
19
31
|
|
|
20
32
|
## Permissions
|
|
21
33
|
|
|
22
34
|
### activeTab
|
|
23
35
|
|
|
24
|
-
Used
|
|
36
|
+
Used when you explicitly activate the extension to run Mesurer on the current tab.
|
|
37
|
+
|
|
38
|
+
### host permissions
|
|
39
|
+
|
|
40
|
+
Mesurer requests access to HTTP and HTTPS pages so it can run on regular websites and restore the toolbar across reloads and in-site navigations. This access is not used to send page content off-device by the local extension features.
|
|
25
41
|
|
|
26
42
|
### scripting
|
|
27
43
|
|
|
28
|
-
Used to inject the extension script into the active page to render measurement overlays and guides.
|
|
44
|
+
Used to inject the extension script into the active page to render measurement overlays and guides. The script may be re-injected when a tab navigates so the toolbar can stay available.
|
|
29
45
|
|
|
30
46
|
### storage
|
|
31
47
|
|
|
32
|
-
Used to store Mesurer settings and page workspaces locally in Chrome. This
|
|
33
|
-
browser and is not sent to Mesurer servers. This includes comment threads and their replies.
|
|
48
|
+
Used to store Mesurer settings and page workspaces locally in Chrome. This includes comment threads and replies created through local features.
|
|
34
49
|
|
|
35
50
|
### clipboardWrite
|
|
36
51
|
|
|
37
|
-
Used when
|
|
52
|
+
Used when you choose to copy a selected screenshot or sampled color to the clipboard.
|
|
38
53
|
|
|
39
|
-
|
|
54
|
+
### tabCapture
|
|
40
55
|
|
|
41
|
-
|
|
42
|
-
currently visible tab. In the Chrome extension, capture is performed locally through Chrome's
|
|
43
|
-
visible-tab capture API. In a React integration without the extension, Chrome may show its native
|
|
44
|
-
tab-sharing prompt through `getDisplayMedia()`.
|
|
56
|
+
Used only after you explicitly choose the video recording feature. It captures the active browser tab so Mesurer can record the region you select. The captured stream is processed locally in the browser and is not sent to Mesurer or any third party.
|
|
45
57
|
|
|
46
|
-
|
|
47
|
-
settings. Mesurer does not upload or externally process screenshots.
|
|
58
|
+
### offscreen
|
|
48
59
|
|
|
49
|
-
|
|
60
|
+
Used to create the offscreen document required by Chrome Manifest V3 to process tab recordings. The offscreen document crops and encodes the selected region locally after you start recording. It does not collect or transmit page content.
|
|
50
61
|
|
|
51
|
-
|
|
62
|
+
## Screenshot and recording capture
|
|
52
63
|
|
|
53
|
-
|
|
64
|
+
Captures are initiated by you and contain only the region you select. In the Chrome extension, screenshots are captured locally through Chrome's visible-tab capture API. In a React integration without the extension, Chrome may show its native tab-sharing prompt through `getDisplayMedia()`.
|
|
54
65
|
|
|
55
|
-
|
|
66
|
+
Screenshots and recordings are processed locally and are copied to the local clipboard, stored temporarily in local extension storage, or downloaded locally according to your actions. Mesurer does not upload or externally process these captures unless you explicitly share them through a hosted platform feature.
|
|
56
67
|
|
|
57
|
-
|
|
68
|
+
Video recordings are stored temporarily in the extension's local IndexedDB storage so they can be previewed, trimmed, and exported. Recordings remain on the device and are not uploaded. They can be removed through the recording editor or by clearing the browser's extension storage.
|
|
58
69
|
|
|
59
|
-
##
|
|
70
|
+
## Data sharing and retention
|
|
71
|
+
|
|
72
|
+
Mesurer shares hosted project and review content only as needed to provide a feature you request, such as a review link or project invitation. Anyone with access to a shared review link may be able to view the content included in that review.
|
|
73
|
+
|
|
74
|
+
Hosted data is retained while needed to provide the service, maintain account records, resolve disputes, and meet legal obligations. You may contact us to ask about your data or request deletion, subject to applicable legal and operational requirements.
|
|
60
75
|
|
|
61
|
-
|
|
76
|
+
## Remote code
|
|
77
|
+
|
|
78
|
+
The Chrome extension does not use remote code. JavaScript and WebAssembly executed by the extension are packaged with the extension bundle.
|
|
79
|
+
|
|
80
|
+
## Contact
|
|
62
81
|
|
|
63
|
-
|
|
82
|
+
For privacy questions or requests, contact [contact@interfaceoffice.com](mailto:contact@interfaceoffice.com).
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Mesurer runs directly where you build. Share feedback with your agents and your
|
|
|
17
17
|
Mesurer is an open-source UI inspector and visual feedback tool for the browser.
|
|
18
18
|
Use guides, rulers, measurements, arrows, freehand pen strokes, text annotations,
|
|
19
19
|
color inspection, typography tools, X-ray mode, and screenshots to understand interfaces and communicate precise
|
|
20
|
-
visual feedback to coding agents.
|
|
20
|
+
visual feedback to coding agents. Capture a short video of any visible region to show interaction details that a screenshot cannot.
|
|
21
21
|
|
|
22
22
|
[Full documentation](https://mesurer.dev/)
|
|
23
23
|
|
|
@@ -89,6 +89,7 @@ Props are the defaults. Saved settings override them; **Use defaults** restores
|
|
|
89
89
|
| `2` | Switch to the Annotate tools. |
|
|
90
90
|
| `P` | Open the native color sampler. |
|
|
91
91
|
| `C` | Drag a region of the visible tab for a screenshot. |
|
|
92
|
+
| `V` | Drag a region of the visible tab to record a video. |
|
|
92
93
|
| `G` | Toggle Guides mode. |
|
|
93
94
|
| `X` | Toggle X-ray mode. |
|
|
94
95
|
| `R` | Toggle pixel rulers along the top and left edges. |
|
|
@@ -115,22 +116,24 @@ Props are the defaults. Saved settings override them; **Use defaults** restores
|
|
|
115
116
|
- **Inspect mode** - Click elements to measure their bounds
|
|
116
117
|
- **Annotation tools** - Draw arrows, freehand pen strokes, and text notes
|
|
117
118
|
- **Annotation selection** - Select, move, resize, rotate, delete, and multi-select annotations
|
|
118
|
-
- **Guides mode** - Add
|
|
119
|
+
- **Guides mode** - Add configurable column, row, and pixel grid guides
|
|
119
120
|
- **Rulers** - Drag guides from pixel rulers along the top and left edges
|
|
120
121
|
- **Typography** - Inspect typography styles and pin text details
|
|
121
122
|
- **X-ray mode** - Reveal element structure without changing the page
|
|
122
123
|
- **Sample color** - Sample rendered colors and copy values in your chosen format
|
|
123
124
|
- **Screenshot** - Drag a region of the visible tab and copy or download it. In a React integration without the extension, the browser may show a tab-sharing prompt.
|
|
125
|
+
- **Video recording** - Drag a region of the visible tab, record up to 60 seconds, trim the result, and export it as WebM or MP4 when supported. The Chrome extension records the active tab without a second sharing prompt.
|
|
124
126
|
- **Distance overlays** - Hold Alt for quick spacing checks
|
|
125
127
|
- **Undo/redo** - Command history for guides, measurements, arrows, pen strokes, and text annotations
|
|
126
128
|
- **Comments** - Pin threads to live elements, add replies, move targets, search threads, and copy structured feedback for agents
|
|
127
129
|
- **Settings** - Configure selection, guide, ruler, arrow, text, color, format, and persistence behavior
|
|
128
|
-
- **Workspace controls** -
|
|
130
|
+
- **Workspace controls** - Persist page workspaces, restore defaults, clear annotations, and minimize Mesurer to a single toolbar button
|
|
129
131
|
|
|
130
132
|
## Requirements
|
|
131
133
|
|
|
132
134
|
- React 18+
|
|
133
135
|
- Chromium-based browser. The native screen color picker requires Chromium on Windows or macOS; Linux Chromium builds may not expose the EyeDropper API.
|
|
136
|
+
- Video recording uses the Chrome extension's tab-capture integration for the smoothest active-tab workflow. Without the extension, browser capture permissions and supported export formats depend on the browser.
|
|
134
137
|
|
|
135
138
|
Settings are stored separately from workspace state. The default adapter uses `localStorage`; integrations can provide a `persistence` adapter such as the browser extension's `chrome.storage.local` implementation.
|
|
136
139
|
|