@pixerate/editor 0.34.0 → 0.36.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.
- package/THIRD_PARTY_NOTICES.md +14 -0
- package/dist/canvas/index.cjs +178 -623
- package/dist/canvas/index.cjs.map +1 -1
- package/dist/canvas/index.d.cts +10 -1
- package/dist/canvas/index.d.ts +10 -1
- package/dist/canvas/index.js +35 -480
- package/dist/canvas/index.js.map +1 -1
- package/dist/{chunk-UG5DVXJK.cjs → chunk-BGNPT5PE.cjs} +446 -6
- package/dist/chunk-BGNPT5PE.cjs.map +1 -0
- package/dist/{chunk-RK6HUKDI.js → chunk-EGPIVUEF.js} +451 -11
- package/dist/chunk-EGPIVUEF.js.map +1 -0
- package/dist/vector/index.cjs +2943 -401
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.d.cts +696 -24
- package/dist/vector/index.d.ts +696 -24
- package/dist/vector/index.js +2880 -338
- package/dist/vector/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-RK6HUKDI.js.map +0 -1
- package/dist/chunk-UG5DVXJK.cjs.map +0 -1
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -47,6 +47,9 @@ reproduced at the end of this file. Paths are relative to each source repository
|
|
|
47
47
|
- `crates/engine/src/components.rs` (instances rebuilt from their main keeping ids and overrides — `sync_instance`, `carry_overrides`, `path_map` matching, `variant_kept`, `diff_groups`, `sync_after_edit`, `rebuild_instances` ordering, `rebase_instance`, `unlink_layers`, `relink_copy`, component property chains, `default_variant`, `variant_props`, `variant_name`, `variant_options`, `find_variant`, `variant_conflicts`) → `packages/core/src/canvas/components.ts`
|
|
48
48
|
- `crates/engine/src/cmd/component.rs` (create component, combine as variants, create / detach / swap instance, reset instance and overrides, push changes, restore main, set instance properties, add / edit / delete / bind component properties) → `packages/core/src/canvas/components.ts`, `packages/core/src/canvas/componentsController.ts`
|
|
49
49
|
- `crates/engine/src/{components_tests.rs,components_behaviour_tests.rs,components_scale_tests.rs}` (test cases re-expressed) → `packages/core/tests/canvas-components.test.ts`, `packages/core/tests/canvas-components-controller.test.ts`
|
|
50
|
+
- `crates/engine/src/vectoredit/ops.rs` (`bend`: handles at the chord's thirds plus one shared offset so the segment passes through the pointer at `t`, `t` clamped to 0.05–0.95) → `bendSegment` in `packages/core/src/vector/pathEdit.ts`; its `delete_vertices` / `heal_handles` (a healed curve through the deleted point) were compared and not ported, as the least-error refit followed the old segments more closely
|
|
51
|
+
- `crates/doc/src/vector.rs` (`VectorNetwork::rounded` / `corner`, `trim`, `start_dir`: each side of a rounded point trimmed by arc length with the radius clamped so a cut takes at most half of each side, the round cut a cubic with handles `4/3 · tan(φ/4) · ρ` along the sides' directions at the cut, a curved side keeping the rest of its curve) → `packages/core/src/vector/corners.ts`
|
|
52
|
+
- `crates/pathops/src/lib.rs` (`stroke_outline_of`: an inside stroke as twice the width intersected with the fill, an outside one as twice the width minus the fill, open shapes always centred) → `packages/core/src/vector/stroke.ts`
|
|
50
53
|
|
|
51
54
|
## filmcraft
|
|
52
55
|
|
|
@@ -124,6 +127,7 @@ GridCraft. Apache POI is © The Apache Software Foundation, licensed under the A
|
|
|
124
127
|
- `crates/algo/src/selection.rs` (`SelectionMode` / `combine`, `magic_wand` / `wand_region` span fill and anti-aliasing, `color_range_samples`, `tone_range`, `hue_range`, `expand` / `contract` / `border`, anti-aliased `polygon`) → `packages/core/src/image-editor/selection/mask.ts`, `shapes.ts`, `wand.ts`, `modify.ts`
|
|
125
128
|
- `crates/algo/src/selection/distance.rs` (Felzenszwalb–Huttenlocher `edt`) and `crates/algo/src/selection_blur.rs` (Smooth: box + threshold; Feather: Gaussian with σ = radius) → `packages/core/src/image-editor/selection/modify.ts`
|
|
126
129
|
- `crates/algo/src/matting.rs` (`RefineParams`, `box_mean`, `guided_filter_color`, `edge_width`, `refine_buffer` band / smooth / feather / contrast / `shift_mask`) → `packages/core/src/image-editor/selection/refine.ts`, `modify.ts`
|
|
130
|
+
- `crates/paint/src/dynamics.rs` (`Smoother` pulled-string mode with `MAX_STRING_PX`, `string`, `finish` with catch-up on stroke end) → `LazyMouse` in `packages/core/src/vector/ink.ts`
|
|
127
131
|
- `crates/engine/src/layer_mask_props_cmds.rs` and `crates/compose/src/masks.rs` (non-destructive mask density and feather) → `packages/core/src/image-editor/selection/layer-mask.ts`
|
|
128
132
|
- Test cases from `crates/algo/src/selection.rs`, `crates/algo/src/selection_blur.rs`, `crates/algo/src/matting.rs` and `crates/algo/src/tests_selection_mix.rs`, re-expressed → `packages/core/tests/image-editor-selection.test.ts`, `packages/core/tests/image-editor-selection-controller.test.ts`
|
|
129
133
|
|
|
@@ -150,6 +154,15 @@ GridCraft. Apache POI is © The Apache Software Foundation, licensed under the A
|
|
|
150
154
|
- `crates/effects/src/stroke/dash.rs` (exact dash plans: odd patterns doubled, offset into the pattern, restart per subpath, joining across the start of a closed subpath, zero-length dots, invalid / too-fine patterns drawn solid) → `packages/core/src/canvas/pathops/stroke.ts`
|
|
151
155
|
- `crates/pathops/src/boolean.rs` (`try_merge` refit of tangent-continuous runs) → `mergeSmoothRuns` in `packages/core/src/canvas/pathops/stroke.ts`
|
|
152
156
|
- Test cases from `crates/pathops/tests/ops.rs`, `tests/props.rs`, `tests/prop_pathops.rs`, `crates/pathops/src/offset.rs` and `crates/engine/src/tests_outlinestroke.rs`, re-expressed → `packages/core/tests/canvas-pathops.test.ts`
|
|
157
|
+
- `crates/pathops/src/edit.rs` (`remove_anchor` with `golden_min`: neighbours keep their handle directions and one cubic is fitted across the two segments with a golden-section search for where it passes the removed point; `smooth`; `remove_redundant_points` with `merge_pair`; `average`; `join` nearest endpoints first) → `packages/core/src/vector/pathEdit.ts`, `fitCubicWithTangents` in `packages/core/src/canvas/curveFit.ts`
|
|
158
|
+
- `crates/geom/src/path.rs` (`SubPath::cut_at`) → `cutSubpathAt` in `packages/core/src/vector/pathEdit.ts`; its `bend_segment` was not used
|
|
159
|
+
- `crates/tools/src/draw2/curvature.rs` (`curvature_move`) → `curvatureMoveAnchor` in `packages/core/src/vector/pathEdit.ts`
|
|
160
|
+
- `crates/engine/src/cmd/draw2.rs` (`knife`, `erase_region`, `erase_outline`, `cut_subpath`: which paths a stroke reaches, fills losing the stroke's area by a boolean difference, outlines cut into runs that keep the original curves and join across a closed path's start, one object per piece) → `packages/core/src/vector/pathCut.ts`; the fixed 0.05 pt knife slit and the 24-sample crossing search were replaced by gap-free chord splitting with exact crossings
|
|
161
|
+
- `crates/geom/src/corners.rs` (`path_corners`, `Corner` — `setback`, `max_radius`, `fitted`, `on_bisector`, `radius_change` — `arc_handle`, `square_to`, and `cut_corners` with the round, inverted round and chamfer kinds, curved sides trimmed between cuts and a closed subpath whose first corner is cut starting where that cut ends) → `packages/core/src/vector/corners.ts`; its curved-side `round_handles` were replaced by figcraft's chord-based arc handles
|
|
162
|
+
- `crates/tools/src/corners.rs` (the corner widgets: shown at the selected corners, on the bisector at the arc's centre at least 10 px in, hidden on sides under 30 px; a drag sets every shown corner's radius from the pointer's travel along the bisector up to fully round; Alt-click cycles the kind; a click picks that corner) → `getVectorCornerWidgets` and the `corner` drag in `packages/core/src/vector/controller.ts`
|
|
163
|
+
- `crates/effects/src/stroke/arrow.rs` (`pieces`, `end_of`, `cut_point`, `trim`, `inset`, `shape`, the `ring` / `arm` / `bar` sizes and `NOTCH`: arrowheads on the open ends of the first and last subpaths, `Tip` vs `Extend` alignment, the stroke ending under the head) and `crates/doc/src/appearance.rs` (`arrow_weight`) → `packages/core/src/vector/stroke.ts`; only the triangle, arrow, open arrow, circle, square and bar heads were ported
|
|
164
|
+
- `crates/svg/src/lib.rs` (stroke alignment written as a double-width stroke clipped to the shape for inside and masked by it for outside) → `packages/core/src/vector/svg.ts`
|
|
165
|
+
- Test cases from `crates/geom/src/corners.rs`, `crates/tools/src/corners.rs` and `crates/effects/src/stroke/arrow.rs`, re-expressed → `packages/core/tests/vector-corners-strokes.test.ts`
|
|
153
166
|
---
|
|
154
167
|
|
|
155
168
|
## wordcraft
|
|
@@ -175,6 +188,7 @@ GridCraft. Apache POI is © The Apache Software Foundation, licensed under the A
|
|
|
175
188
|
- `crates/docx/src/write/mod.rs` (package assembly: `[Content_Types].xml` defaults and overrides, part relationships with reused ids, `comments.xml` + `commentsExtended.xml` with `w15:paraIdParent` / `w15:done`, `annotation_author` and anonymous initials for removed personal information, `core_xml` without creator / last modified by, `styles_xml` / `style_xml` with `basedOn` / `next` / `link` / `uiPriority` / `qFormat`, lower-case built-in style names, `numbering_xml`), `crates/docx/src/write/story.rs` (`rev_open` / `rev_close`, `rev_tag` moves as `w:moveFrom` / `w:moveTo`, `move_ranges` with named move ranges, `w:delText` only for deletions that are not moves, `rpr_change` / `w:pPrChange` last in their properties, comment range start / end / reference runs, `w:p` with `w14:paraId` for comments, tables with `w:tblGrid`, `w:gridSpan`, `w:vMerge`, inline `wp:inline` pictures), `crates/docx/src/write/props.rs` (run property order), `crates/docx/src/package.rs` (relationship types), `crates/docx/src/xml.rs` (`esc`, XML 1.0 character filter, writer) and `crates/docx/src/units.rs` (twips / EMU conversion) → `packages/core/src/export/docx.ts`, `packages/core/src/export/xml.ts`, `packages/core/src/export/units.ts`
|
|
176
189
|
- `crates/docx/src/read/mod.rs` (`read_comments`: comments keyed by the `w14:paraId` of their last paragraph, `commentEx` parents and `done`) and `crates/docx/src/read/story.rs` (tracked insertions, deletions and named move ranges) → `packages/core/src/import/docx.ts`
|
|
177
190
|
- Test cases from `crates/docx/tests/privacy.rs` (`remove_personal_information_and_dates_on_save`: the two-commenter fixture, no names or initials in any part, "Author" / "A"), `crates/docx/tests/roundtrip.rs` and `crates/docx/tests/fixtures.rs` (comments, replies, tracked changes and moves surviving a save and reload), re-expressed → `packages/core/tests/docx-export.test.ts`
|
|
191
|
+
- `crates/engine/src/cmd/ink_shape.rs` (`recognise`, `ellipse_rms`, `snap_square`, `corners`, `turning`, `rdp`, `upright`, `MIN_SIZE`, `MAX_CORNERS`) → `recognizeInkShape` in `packages/core/src/vector/ink.ts`; its test cases re-expressed → `packages/core/tests/vector-path-edit.test.ts`
|
|
178
192
|
|
|
179
193
|
## MIT License
|
|
180
194
|
|