Commit Graph

543 Commits

Author SHA1 Message Date
Belén Albeza 361bdb4a04
♻️ Decouple serialization from text/layout models" (#7360)
* ♻️ Move text serialization code to wasm module

* ♻️ Add serializer for TextAlign

* ♻️ Add serializers for TextDirection and TextDecoration

* ♻️ Add serializer for TextTransform

* ♻️ Remove unused font_style from TextLeaf model

* ♻️ Refactor parsing of TextLeaf from bytes

* ♻️ Decouple tight serialization of Paragraph
2025-09-25 16:54:07 +02:00
Elena Torro 32770c685a 🐛 Do not add shadows on hidden children 2025-09-24 14:42:57 +02:00
Aitor Moreno f505fcfa0d 🎉 Add internal TextContent layout data 2025-09-22 16:01:23 +02:00
Belén Albeza e4d610d503
♻️ Decouple shapes serialization from model (rust) (#7328)
* ♻️ Move shape type serialization to wasm module

* ♻️ Refactor serialization of constraints and vertical alignment into wasm module

* ♻️ Refactor serialization and model of shape blur

* ♻️ Refactor bool serialization to the wasm module

* ♻️ Split wasm::layout into submodules

* ♻️ Refactor serialization of AlignItems, AlignContent, JustifyItems and JustifyContent

* ♻️ Refactor serialization of WrapType and FlexDirection

* ♻️ Refactor serialization of JustifySelf

* ♻️ Refactor serialization of GridCell

* ♻️ Refactor serialization of AlignSelf

* 🐛 Fix AlignSelf not being serialized

* ♻️ Refactor handling of None variants in Raw* enums

* ♻️ Refactor serialization of grid direction

* ♻️ Refactor serialization of GridTrack and GridTrackType

* ♻️ Refactor serialization of Sizing

* ♻️ Refactor serialization of ShadowStyle

* ♻️ Refactor serialization of StrokeCap and StrokeStyle

* ♻️ Refactor serialization of BlendMode

* ♻️ Refactor serialization of FontStyle

* ♻️ Refactor serialization of GrowType
2025-09-22 13:47:54 +02:00
Belén Albeza e5e11b6383
🔧 Autogenerate serialization values for wasm enums (#7296)
* 🔧 Autogenerate serialization values for wasm enums

* 🔧 Add serializer values to the wasm api

*  Avoid converting to a clojure map the serializer js object

* 🔧 Update watch script for autoserialized enums

* 🐛 Fix missing serializer values
2025-09-16 12:29:14 +02:00
Elena Torró 2e21f084fc
🐛 Fix boolean operations on rotated shapes (#7309) 2025-09-15 14:46:56 +02:00
Alejandro Alonso da05d6b67d 🐛 Fix boolean and group shadows 2025-09-10 15:59:39 +02:00
Elena Torro 4bd2eba573 🐛 Fix text shadows and blur and refactor text rendering 2025-09-10 14:20:24 +02:00
Alejandro Alonso 8fff9afee6 🐛 Fix fills and strokes opacity shouldn't affect shadows 2025-09-08 13:04:52 +02:00
Alejandro Alonso 7e52aadb98 🐛 Fixing nested shadows 2025-09-08 11:20:03 +02:00
Belén Albeza 3e02dc550f ♻️ Create type alias for ParagraphBuilderGroup 2025-09-02 15:32:10 +02:00
Belén Albeza 1cf0de395c ♻️ Rename get_children to children (Paragraph) 2025-09-02 15:30:54 +02:00
Belén Albeza d40b68c004 ♻️ Refactor and rename ParagraphBuilder instantiating from TextContent 2025-09-02 15:22:05 +02:00
Belén Albeza 50b9e8c6e6 ♻️ Rename TextContent::get_width to TextContent::width 2025-09-02 15:07:13 +02:00
Belén Albeza d25f9cd4bd ♻️ Move auto_width and auto_height to their own textlayout module 2025-09-02 15:03:46 +02:00
Elena Torró 5f37601122
🐛 Fix different fonts on texts shadows (#7214)
* 🐛 Fix different fonts on texts shadows

* 🔧 Refactor text rendering and move text-decoration logic outside

* 🔧 Use transparency correctly
2025-09-02 12:56:07 +02:00
Elena Torró 94fd3119e8
Merge pull request #7175 from penpot/superalex-fix-clipping
🐛 Fix clipping
2025-08-29 11:03:07 +02:00
Aitor Moreno 1cf20f7604
Merge pull request #7203 from penpot/elenatorro-fix-text-decoration-leaf-position
🐛 Fix line height on texts and improve text decoration rendering
2025-08-28 16:21:40 +02:00
Elena Torro b78e3159d1 📚 Add wasm playground internal docs 2025-08-28 15:10:56 +02:00
Elena Torro 025423a75e 🐛 Fix line height on texts and improve text decoration rendering 2025-08-28 12:40:23 +02:00
Alejandro Alonso 8d404d97a1 🐛 Fix clipping 2025-08-26 08:52:42 +02:00
Elena Torro 46b3e174ed 🐛 Fix paragraph layout width on autowidth 2025-08-22 13:55:24 +02:00
Alejandro Alonso c0c2c9489c
Merge pull request #7170 from penpot/elenatorro-fix-text-tests
🔧 Update and fix text tests
2025-08-22 13:34:00 +02:00
Aitor Moreno 596193d34d 🎉 Add missing styles on text leaves 2025-08-22 12:22:51 +02:00
Aitor Moreno 15eee0d8d8 🎉 Add Text Editor WASM Playground 2025-08-22 12:22:51 +02:00
Elena Torro 0b7444e8ff 🐛 Use SrcIn only when there is only one inner stroke, otherwise use erode filter 2025-08-22 09:54:15 +02:00
Elena Torró 3f93b0d44b
Merge pull request #7098 from penpot/superalex-fix-big-blur-2
🐛 Fix big blur rendering for wasm render
2025-08-21 09:23:26 +02:00
Elena Torró 4a6c3d6ad3
Merge pull request #7152 from penpot/superalex-update-skia-binaries
🎉 Update skia binares to 0.87.0
2025-08-21 09:10:37 +02:00
Alejandro Alonso 478439f055 🐛 Fix big blur rendering for wasm render 2025-08-21 08:47:25 +02:00
Alejandro Alonso 9ef2454210 🎉 Update skia binares to 0.87.0 2025-08-21 07:38:46 +02:00
Elena Torró 0daf548773
Merge pull request #7146 from penpot/superlaex-fix-open-path-calculation
🐛 Fix open path calculation
2025-08-20 16:38:17 +02:00
Elena Torro 9bb92277e4 🐛 Fix inner strokes with opacity using erode instead of multiple blending modes 2025-08-20 13:32:20 +02:00
Alejandro Alonso 0c3d73745e 🐛 Fix open path calculation 2025-08-20 09:00:04 +02:00
Elena Torró be376d2030
Merge pull request #7124 from penpot/ladybenko-11799-fix-remove-layout
🐛 Fix removing layout (wasm)
2025-08-18 09:52:22 +02:00
Alejandro Alonso 4d455b5e9f
Merge pull request #7125 from penpot/elenatorro-11842-fix-groups-rendering-on-drag
🐛 Fix Group extrect calculation
2025-08-18 09:36:58 +02:00
Elena Torro 5e6ce9172f 🔧 Return always a shader on merge_fills for consistency 2025-08-14 16:08:03 +02:00
Belén Albeza e63a3f76f7
🐛 Fix open/close path detection in wasm (#7110)
* 🐛 Fix open/close path detection in wasm

* 💄 Remove leftover code
2025-08-14 15:45:09 +02:00
Elena Torro 6d42d456fb 🐛 Fix Group extrect calculation 2025-08-14 15:39:45 +02:00
Belén Albeza c818b6f88f 🐛 Fix layout and constraints not being cleared 2025-08-14 15:38:23 +02:00
Belén Albeza 3f3c7905b4 ♻️ Refactor wasm layout functions to their own submodule 2025-08-14 14:17:49 +02:00
Alejandro Alonso 64e5ea93a0 🐛 Fix extrect invalidation for texts 2025-08-13 14:32:23 +02:00
Alejandro Alonso d99ef29152
Merge pull request #7029 from penpot/elenatorro-11691-fix-default-text-fill
🔧 Fix text default color and inner stroke opacity
2025-08-13 12:52:14 +02:00
Elena Torro 82d2889e96 🔧 Improve text strokes blending 2025-08-13 11:50:09 +02:00
Andrey Antukh 029a9674ca
Merge pull request #7103 from penpot/niwinz-develop-modifiers-enhacements
♻️ Sanitize heap write and read operations
2025-08-12 13:11:02 +02:00
Alejandro Alonso 2f83f22753 🐛 Fix artifacts while panning in wasm render 2025-08-12 11:23:13 +02:00
Andrey Antukh 6b6e80f4b8 🐛 Fix regression introduced on the set-grid-layout-cells fn
Incorrect data is used for calcultate the size
2025-08-12 10:33:50 +02:00
Andrey Antukh f2c431d029
Merge pull request #7041 from penpot/alotor-wasm-bools
 Add wasm boolean calculations
2025-08-12 08:07:18 +02:00
Aitor Moreno 132069472c
Merge pull request #7067 from penpot/superalex-fix-frames-extrect-calculation
🐛 Fix frames extrect calculation
2025-08-11 13:57:29 +02:00
Elena Torro 172c6ad4b8 🔧 Set fill paint as transparent when there are no fills 2025-08-11 13:52:49 +02:00
alonso.torres cd1be43384 Add support for boolean shapes 2025-08-11 10:30:14 +02:00
Alejandro Alonso 99b40cecf2 Revert "🐛 Fix big blur rendering for wasm render"
This reverts commit c7a4c67d83.
2025-08-09 08:44:52 +02:00
Alejandro Alonso c7a4c67d83 🐛 Fix big blur rendering for wasm render 2025-08-09 08:42:55 +02:00
Alejandro Alonso 98522a390e 🐛 Fix frames extrect calculation 2025-08-05 13:25:25 +02:00
Belén Albeza 6fc949844d Use 1 byte to store opacity in gradient fills 2025-08-04 14:13:40 +02:00
Belén Albeza ae3aef8dcc Use existing space for storing image fill flags 2025-08-04 10:42:56 +02:00
Alejandro Alonso e473f45048 🐛 Fix visible 0 width strokes in wasm render 2025-07-28 08:46:47 +02:00
Alejandro Alonso b70f6af2df 🐛 Fix rendering texts bigger than their selrects in mutiple tiles 2025-07-25 12:56:57 +02:00
Elena Torro 0e20bb6271 🐛 Fix text width calculation 2025-07-25 12:27:26 +02:00
Elena Torro 2b95e6b7a9 🐛 Fix update canvas background color 2025-07-25 09:19:59 +02:00
Aitor Moreno 2cddc6fb5b
Merge pull request #6583 from penpot/niwinz-fills-binary-type
🎉 Fills as binary type
2025-07-23 09:26:26 +02:00
Aitor Moreno ffb688696b 🎉 Add keep-aspect-ratio integration 2025-07-23 08:03:23 +02:00
Elena Torro 5427d207cd 🐛 Fix text shadows apply text opacity 2025-07-22 14:34:10 +02:00
Aitor Moreno fdaef2be69
Merge pull request #6891 from penpot/elenatorro-test-style-decoration-blending
🔧 Add text decoration styles
2025-07-21 15:18:18 +02:00
Elena Torro eeee52a738 🐛 Ensure line height is properly handled on line breaks 2025-07-21 11:37:56 +02:00
Elena Torro b40b1fa2e4 🔧 Refactor ParagraphBuilder and fix auto height 2025-07-11 13:29:22 +02:00
Elena Torro 4c21468850 🔧 Add text decoration styles 2025-07-10 14:26:41 +02:00
alonso.torres a003687256 🐛 Fix problem with grid assignments 2025-07-09 14:55:14 +02:00
Aitor Moreno ea9261b0b2 🐛 Fix missing required SolidColor 2025-07-08 08:45:03 +02:00
alonso.torres 69135ef8c7 ♻️ Refactor wasm shapes state management 2025-07-08 08:30:40 +02:00
Alejandro Alonso 51bb6583d2 🐛 Fix frame clipping 2025-07-07 11:09:29 +02:00
alonso.torres 3d374e8e97 ♻️ Refactor mutability modifiers in wasm 2025-07-01 12:47:31 +02:00
alonso.torres 8dcb376b18 Add drop grid cells in wasm 2025-06-30 10:28:59 +02:00
alonso.torres 52a4fc6030 🐛 Fix drop index on flex layout wasm 2025-06-30 10:28:59 +02:00
alonso.torres fb07788e8f 🐛 Fix problem with fr allocation 2025-06-26 13:17:26 +02:00
Alejandro Alonso bdc10ac173
Merge pull request #6754 from penpot/azazeln28-issue-11401-fix-wrong-aspect-ratio
🐛 Fix image aspect ratio rendering on oriented images
2025-06-24 13:23:35 +02:00
Elena Torró 9f5cb61a19
Merge pull request #6766 from penpot/elenatorro-fix-text-auto-height
🐛 Fix text auto height
2025-06-24 13:18:28 +02:00
Elena Torro 925af4e1e9 🐛 Fix text auto height 2025-06-24 12:36:12 +02:00
alonso.torres a45886c86c Small cosmetic change 2025-06-24 10:26:37 +02:00
alonso.torres 36b6f6323a ♻️ Refactor modifiers methods 2025-06-24 10:26:37 +02:00
alonso.torres afec3b9bc1 🐛 Fix problem with margin in flex layout 2025-06-24 10:26:37 +02:00
alonso.torres ac6a814026 🐛 Fix problem with flex layout in wasm 2025-06-24 10:26:37 +02:00
alonso.torres b0d858df2b 🐛 Fix wasm problem with horizontal/vertical lines 2025-06-24 09:24:00 +02:00
Elena Torro 134fb1ab4c 🔧 Add vertical alignment for text shapes 2025-06-23 16:45:25 +02:00
Aitor Moreno 833546d754 🐛 Fix wrong aspect ratio on oriented image 2025-06-23 15:30:01 +02:00
Alejandro Alonso 9ea0875e65
Merge pull request #6742 from penpot/ladybenko-fix-wasm-debug-text-hi-dpr
 Fix size of 'wasm renderer' debug text on dpr > 1
2025-06-23 11:47:20 +02:00
Belén Albeza 2412402a23 Fix size of 'wasm renderer' debug text on dpr > 1 2025-06-20 10:55:33 +02:00
Alejandro Alonso 5375029497 🐛 Fix image fill strokes are not rendered correctly for texts 2025-06-20 10:52:26 +02:00
Alejandro Alonso 5c7a4ce5b7 🐛 Fix fill images for text 2025-06-20 07:45:28 +02:00
Alejandro Alonso d71fa659d5 🐛 Fix asynchronous content rendering 2025-06-19 14:03:40 +02:00
Alejandro Alonso d0425cabda
Merge pull request #6721 from penpot/ladybenko-11276-fix-modifiers-dpr
🐛 Fix panning and scroll when dpr > 1 (render wasm)
2025-06-19 14:01:47 +02:00
alonso.torres 11467e26a2 🐛 Fix problem with flex wrap in wasm 2025-06-19 13:03:25 +02:00
alonso.torres b997d5a320 🐛 Fix problem with grid layout wasm 2025-06-19 13:03:25 +02:00
alonso.torres 5b4cd9f4f1 🐛 Fix problem when moving masks, bools, groups with wasm 2025-06-19 13:03:25 +02:00
alonso.torres 58e5748b4f 🐛 Fix wasm layout problems 2025-06-19 13:03:25 +02:00
Belén Albeza 4a9f6ea04e 🐛 Fix panning and scroll when dpr > 1 (render wasm) 2025-06-19 10:42:19 +02:00
Elena Torro 5c120b601c 🐛 Fix text fill gradients and add visual regression test for text styles 2025-06-18 18:02:28 +02:00
Alejandro Alonso 1c7aea4b84 🐛 Fix focus mode for wasm render 2025-06-17 16:42:45 +02:00
Elena Torró 01311225c7
Merge pull request #6695 from penpot/superalex-fix-allocate-0-bytes-path-attrs
🐛 Fix wasm render path issues
2025-06-17 14:44:15 +02:00
Elena Torro 9a44bd0967 📚 Add schemas and links to render-wasm README 2025-06-17 14:06:46 +02:00
Alejandro Alonso 8c6a80829f
Merge pull request #6671 from penpot/azazeln28-refactor-minor-perf-issues
♻️ Refactor some minor perf issues
2025-06-17 11:30:43 +02:00
Elena Torró 039a544990
Merge pull request #6675 from penpot/alotor-grid-helpers
 Add grid helpers to wasm
2025-06-17 11:14:18 +02:00
Alejandro Alonso 81d2b9a82e 🐛 Fix group fills propagation when fill is none 2025-06-17 09:17:54 +02:00
Elena Torró 4869373a43
🔧 Add methods to render text as path (#6624)
* 🔧 Refactor text strokes drawing

* 🔧 Add text to path methods for future usage

* 📚 Add text as paths internal documentation
2025-06-16 13:37:29 +02:00
alonso.torres 0be8a6e0e6 Add grid helpers to wasm 2025-06-16 09:55:35 +02:00
Aitor Moreno 369e134bed ♻️ Refactor some minor perf issues 2025-06-10 16:00:10 +02:00
Elena Torró f02dd9f8dc
Merge pull request #6651 from penpot/superalex-path-fixes
🐛 Path fixes
2025-06-10 12:11:25 +02:00
Alejandro Alonso e91550cd9d
Merge pull request #6646 from penpot/ladybenko-10904-playwright-wasm
🔧 Set up visual regression tests for wasm renderer
2025-06-10 09:24:59 +02:00
Alejandro Alonso ed76b1b1ee
🎉 Support for webp images (#6665) 2025-06-10 08:40:30 +02:00
Belén Albeza afdbb5cf2f 📚 Add documentation specific for wasm visual regression tests 2025-06-09 17:46:18 +02:00
Alejandro Alonso 78d6166bac 🐛 Fix caps for rounded paths 2025-06-09 14:40:54 +02:00
Alejandro Alonso 8db910baee 🐛 Fix rendering vertical and horizontal paths 2025-06-09 13:04:18 +02:00
Alejandro Alonso a9702f104d 🐛 Fix shapes without fills contained in a group with fills 2025-06-09 13:04:18 +02:00
Alejandro Alonso d008ea9edd
Merge pull request #6652 from penpot/elenatorro-fix-load-fonts
🐛 Fix fonts initialization
2025-06-09 09:31:00 +02:00
Elena Torro 8c20159fb0 🐛 Cache emoji font correctly 2025-06-06 11:28:50 +02:00
Aitor Moreno fcd3e5c34c ♻️ Refactor surface iteration 2025-06-06 10:21:31 +02:00
Aitor Moreno 8922e7454f ♻️ Refactor some allocations 2025-06-05 15:37:03 +02:00
Elena Torró 793c01a0a1
Merge pull request #6611 from penpot/elenatorro-add-new-render-texts-docs
📚 Add texts documentation
2025-06-04 10:11:31 +02:00
Elena Torró bbac5d050e
Merge pull request #6623 from penpot/ladybenko-11106-send-all-fills
 Send all fills of a shape in a single wasm call
2025-06-04 09:18:39 +02:00
Belén Albeza 9fc3f4858a Send all fills of a shape in a single wasm call 2025-06-03 15:37:36 +02:00
Elena Torro c40de5fb87 🎉 Implement font fallback to support multiple languages 2025-06-03 08:21:59 +02:00
Elena Torro 9733c41ae4 🐛 Fix blend mode on merge fills 2025-06-03 08:21:59 +02:00
Elena Torro 4c10aeefe6 📚 Add texts documentation 2025-06-02 16:36:25 +02:00
Alejandro Alonso c1fa6be7c4
Merge pull request #6591 from penpot/azazeln28-refactor-render-iteration
♻️ Refactor render iteration
2025-06-02 12:33:19 +02:00
Alejandro Alonso 8642ffba46
🐛 Fix frontend build (#6608) 2025-06-02 12:03:08 +02:00
Alejandro Alonso 1d065e68f4
🎉 Allow force render mode from get param (#6594) 2025-05-30 20:05:58 +02:00
Elena Torro 4e2f905a26 🐛 Fix reading text-decoration and text-transform from leaf, and fallback to paragraph values 2025-05-30 13:22:39 +02:00
Aitor Moreno 2b2939b4b7 ♻️ Remove unnecesary sort operation 2025-05-30 09:56:58 +02:00
Alejandro Alonso 2650eccd09
🐛 Fix set path attrs (#6589) 2025-05-29 12:27:08 +02:00
Aitor Moreno aeee05c90d 🎉 Add comparison tool to WASM playground 2025-05-29 10:46:38 +02:00
Elena Torró fe60016124
Merge pull request #6573 from penpot/elenatorro-11021-text-fixes
🔧 Fix text parsing and transformation
2025-05-29 09:33:05 +02:00
Alejandro Alonso 5c58a04fc2 🐛 Fix inner strokes black background effect 2025-05-29 09:05:30 +02:00
alonso.torres bcfa9a82ea Add scale content to render wasm 2025-05-28 16:40:57 +02:00
Aitor Moreno e9edebbbb5
📚 Add tile rendering documentation (#6568) 2025-05-28 09:41:07 +02:00
Elena Torro 88e77e3218 🔧 Fix text parsing and transformation 2025-05-27 14:04:27 +02:00
Alejandro Alonso c7c8e91183 🐛 Fix keep aspect ratio support 2025-05-27 12:20:40 +02:00
Alejandro Alonso 327db5a1a3 🐛 Fix render of paths with empty selrects 2025-05-27 12:20:05 +02:00
alonso.torres a85a42d367 🐛 Fix some problems with modifiers 2025-05-27 09:33:33 +02:00
Belén Albeza f9bbf2d524
Improve paths deserialization (wasm) (#6501)
* ♻️ Refactor path wasm code to its own wasm submodule

* ♻️ Use unified enum for RawSegmentData and transmute to deserialize

* ♻️ Move set_shape_path_attrs to wasm::paths module

* 💄 Unify repr declarations
2025-05-23 08:48:55 +02:00
Aitor Moreno d54a7d0401
Merge pull request #6526 from penpot/superalex-improve-zoom-performance-and-behaviour
🐛 Fix zoom performance and behaviour
2025-05-22 12:15:38 +02:00
Alejandro Alonso ed53793d9d
🐛 Fix render shapes in multiple tiles with high dprs (#6538) 2025-05-22 12:10:51 +02:00
Aitor Moreno 58b1cf6b0c
Merge pull request #6491 from penpot/alotor-perf-pixel-precision
 Pixel precision for new renderer
2025-05-22 11:37:11 +02:00
Alejandro Alonso 3597e5bb54 🐛 Fix zoom performance and behaviour 2025-05-22 10:29:43 +02:00
Elena Torro 42ef2f929a 🎉 Add text fills 2025-05-21 18:32:50 +02:00
alonso.torres 5d42b9793b 🐛 Fix some problems with layouts 2025-05-21 10:42:03 +02:00
alonso.torres 6cd2c712ab Pixel precision for new renderer 2025-05-21 10:42:03 +02:00
Alejandro Alonso 334d7833d5
Merge pull request #6490 from penpot/azazeln28-refactor-iteration-performance
♻️ Refactor tile iteration
2025-05-20 13:56:37 +02:00
Alejandro Alonso b2d6342422 🐛 Avoid unnecesary clone call 2025-05-20 09:45:19 +02:00
Aitor Moreno ef95e3ecb0 ♻️ Refactor tile iteration 2025-05-19 16:24:52 +02:00
Alejandro Alonso 96d44e0631 🐛 Fix paths performance in new render 2025-05-19 12:22:42 +02:00
Belén Albeza 8afd217a80
🔧 Enable back clippy rules (#6492)
* 🔧 Fix lint script (rust)

* 🔧 Temporarily add clippy rules to ignore so lint script passes

* 💄 Fix clippy rule crate_in_macro_def

* 💄 Fix clippy rule redundant-static-lifetimes

* 💄 Fix clippy rule unnecessary_cast

* 💄 Fix clippy rule nonminimal_bool

* 💄 Fix clippy rule redundant_pattern_matching

* 💄 Fix clippy rule assign_op_pattern

* 💄 Fix clippy rule needless_lifetimes

* 💄 Fix clippy rule for_kv_map

* 💄 Fix clippy rule ptr_arg

* 💄 Fix clippy rule match_like_matches_macro

* 💄 Fix clippy rule macro_metavars_in_unsafe

* 💄 Fix clippy rule map_clone

* 💄 Fix clippy rule wrong_self_convention

* 💄 Fix clippy rule vec_box

* 💄 Fix clippy rule useless_format

* 💄 Fix clippy rule unwrap_or_default

* 💄 Fix clippy rule unused_unit

* 💄 Fix clippy rule unnecessary_to_owned

* 💄 Fix clippy rule too_many_arguments

* 💄 Fix clippy rule slow_vector_initialization

* 💄 Fix clippy rule single_match

* 💄 Fix clippy rule redundant_field_names

* 💄 Fix clippy rule rendudant_closure

* 💄 Fix clippy rule needless_return

* 💄 Fix clippy rule needless_range_loop

* 💄 Fix clippy rule needless_borrows_for_generic_args

* 💄 Fix clippy rule needless-borrow

* 💄 Fix clippy rule missing_transmute_annotations

* 💄 Fix clippy rule map_entry

* 💄 Fix clippy rule manual_map

* 💄 Fix clippy rule len_zero

* 💄 Fix clippy rule from_over_into

* 💄 Fix clippy rule field_reassign_with_default

* 💄 Fix clippy rule enum_variant_names

* 💄 Fix clippy rule derivable_impls

* 💄 Fix clippy rule clone_on_copy

* 💄 Fix clippy rule box_collection

* 🔧 Make lint script also check test config target

* 🔧 Remove cargo-watch as a lib dependency

* 💄 Fix clippy rule for join_bounds

* 🔧 Fix lint script return code

---------

Co-authored-by: alonso.torres <alonso.torres@kaleidos.net>
2025-05-19 11:14:55 +02:00
Alejandro Alonso 0cb6e0dee2
🐛 Fix new render zoom (#6488)
* 🐛 Fix new render zoom

* 🐛 Use scale instead of just zoom in get_tiles_for_viewbox

---------

Co-authored-by: Belén Albeza <belen@hey.com>
2025-05-16 10:49:03 +02:00
Elena Torró f5e81debbc
Merge pull request #6478 from penpot/ladybenko-11030-fix-dpr-fills
🐛 Fix fills & strokes when dpr > 1
2025-05-15 16:04:30 +02:00
Belén Albeza 300e24b403 🐛 Fix drawing shapes when dpr > 1 2025-05-15 11:01:14 +02:00
alonso.torres fef08dfa18 Set selrect for new render modifiers 2025-05-14 11:21:43 +02:00
Alejandro Alonso 1f44d53f6b 🐛 Fix new render masks 2025-05-13 15:41:41 +02:00
Elena Torró 33c260c35b
Merge pull request #6456 from penpot/alotor-perf-text-grow-2
 Reflow flex on grow text height
2025-05-12 14:16:29 +02:00
Alejandro Alonso 480e0887e3 🎉 Improve zoom in/out performance 2025-05-12 11:10:21 +02:00
Aitor Moreno 69062f03ee
Merge pull request #6449 from penpot/superalex-add-shapes-buffer
🎉 Add shapes buffer to improve memory allocation
2025-05-12 10:23:34 +02:00
alonso.torres eb04fa19e1 Reflow flex on grow text height 2025-05-12 09:48:57 +02:00
Alejandro Alonso 03b4fe3558 🎉 Add shapes buffer to improve memory allocation 2025-05-09 15:00:02 +02:00
Elena Torro a5660819de 🐛 Fix stroke paragraphs 2025-05-09 11:54:51 +02:00
Elena Torro 59982c9056 🐛 Fix parsing text spaces 2025-05-09 11:23:00 +02:00
Elena Torró 23bde76192
Merge pull request #6437 from penpot/elenatorro-add-fill-text-strokes
🎉 Add text stroke fills
2025-05-09 10:41:12 +02:00
alonso.torres 568af52ebc Text grow width/height 2025-05-08 17:59:18 +02:00
Elena Torro eddabc0d68 🎉 Add text stroke fills 2025-05-08 15:49:58 +02:00
Elena Torró bd514c0594
🔧 Fix linting warnings and errors (#6431) 2025-05-08 11:07:36 +02:00
Elena Torró 46709fb02e
Merge pull request #6379 from penpot/ladybenko-10753-fills-serialization
🎉 Serialize as bytes all fill kinds
2025-05-07 18:03:42 +02:00
Elena Torró 61eb2f4a19
🎉 Add text solid strokes (#6384)
* 🎉 Add text strokes

* 🔧 Minor refactor
2025-05-07 17:28:36 +02:00
Alejandro Alonso ea095a98ba
Merge pull request #6367 from penpot/azazeln28-refactor-flush-and-submit
♻️ Flush and submit
2025-05-07 07:03:22 +02:00
Aitor Moreno c45187eedd
Merge pull request #6381 from penpot/alotor-perf-modifiers-refactor
 Apply modifiers changes into data
2025-05-06 15:52:57 +02:00
Belén Albeza 6323031b40 📚 Add serialization docs for fills 2025-05-06 14:41:40 +02:00
Andrey Antukh c6f68e6ed1 ♻️ Use LITTLE_ENDIAN instead of BIG_ENDIAND for path encoding 2025-05-06 13:39:15 +02:00
Belén Albeza 8609db2182 ♻️ Remove unused deserialization code 2025-05-06 13:00:25 +02:00
Belén Albeza ec73bd640c Use mem::transmute to deserialize raw fill data 2025-05-06 12:38:30 +02:00
Belén Albeza cba65972dd Use same wasm function to add all types of fills 2025-05-06 12:33:14 +02:00
Belén Albeza 784aecd1a1 🎉 Add a DTO that handles all fill types 2025-05-05 16:55:00 +02:00
Belén Albeza 173d6c23b0 Serialize image fills in binary 2025-05-05 15:51:21 +02:00
Aitor Moreno abc1241402 ♻️ Refactor flush and submit 2025-05-05 15:10:20 +02:00
Belén Albeza f30441626e ♻️ Refactor fills DTOs into separate submodules 2025-05-05 12:33:40 +02:00
Belén Albeza 5ae125db94 Serialize stroke solid fills as bytes (wasm) 2025-05-05 12:33:40 +02:00
Belén Albeza 093fa18839 Serialize solid fills as bytes (wasm) 2025-05-05 12:33:40 +02:00
Belén Albeza 81f18ad7f4 ♻️ Normalize opacity in fills to u8 2025-05-05 12:33:40 +02:00
Belén Albeza 875e019d4f ♻️ Refactor raw gradient data into wasm module 2025-05-05 12:33:40 +02:00
Belén Albeza 8e18a0880e ♻️ Use a single byte to store gradient stop count (wasm) 2025-05-05 12:33:39 +02:00
alonso.torres 88e5209856 Apply modifiers changes into data 2025-04-30 09:34:13 +02:00
Elena Torro 9eefe13e8b 🐛 Render children in the correct order 2025-04-29 13:39:57 +02:00
Elena Torro 2306df5fb7 Load emoji font dynamically when initializing 2025-04-29 13:07:06 +02:00
alonso.torres 8ce71e792e Add dynamic properties modifiers to WASM 2025-04-25 15:03:24 +02:00
Belén Albeza ab90d9d01c 🔧 Increase the cap for gradient stops 2025-04-24 12:20:34 +02:00
Belén Albeza 281c0068d9 Embed stop data into RawGradientData 2025-04-24 12:20:34 +02:00
Belén Albeza e7b74939cb 💄 Change to more idiomatic code in main.rs functions 2025-04-24 12:20:34 +02:00
Elena Torró c2ae58bf08
🎉 Add text shadows (#6335) 2025-04-24 12:19:41 +02:00
Aitor Moreno caf13eb774 ♻️ Refactor how rebuild_tiles works 2025-04-24 07:34:35 +02:00
alonso.torres 7945a95522 🐛 Fix wasm scripts 2025-04-23 11:21:24 +02:00
Aitor Moreno 38a708e12b 🐛 Fix rendering order 2025-04-22 18:49:57 +02:00
Aitor Moreno 484772e3b2
Merge pull request #6313 from penpot/superalex-improve-images-performance-wasm
🎉 Improve images performance
2025-04-22 11:36:24 +02:00
Alejandro Alonso 5c7a1fb407 🎉 Improve tile caching 2025-04-22 11:03:21 +02:00
Elena Torró c7b062f483
Merge pull request #6278 from penpot/elenatorro-send-leaf-attrs-uint-arr
🔧 Parse text leaves all at once
2025-04-21 14:27:26 +02:00
Elena Torro 83f72f3e41 🔧 Parse text leaves all at once 2025-04-21 13:24:39 +02:00
Aitor Moreno a6d2f385af
Merge pull request #6266 from penpot/superalex-fix-path-unions
🐛 Fix unions for new render
2025-04-21 11:23:14 +02:00