Elena Torró
d4d22ff1a4
🔧 Prepare wasm render for headless exporter ( #10795 )
...
* 🔧 Support background blur on PDF render for strokes and text shapes
* ✨ Add LRU eviction to the wasm image store
* ✨ Add RasterFormat to encode png, jpeg and webp from wasm
* 🐛 Fix client-side wasm export encoding jpeg and webp as png
2026-07-28 11:54:22 +02:00
Belén Albeza
4f46700c94
🐛 Fix text editor v3 blinks ( #10654 )
2026-07-24 09:14:59 +02:00
Elena Torró
08e42687d1
♻️ Extract GPU-free RenderResources; add headless wasm exports ( #10653 )
2026-07-22 09:56:21 +02:00
Aitor Moreno
851fde01c1
🐛 Fix SVG Raw not being saved ( #10492 )
2026-07-01 14:08:54 +02:00
Alejandro Alonso
345affc687
🐛 Fix premature WASM view-interaction end during pan ( #10425 )
2026-06-25 15:07:37 +02:00
Elena Torró
8e548c8c54
🐛 Fix blank tiles and atlas crash on render-wasm zoom/pan ( #10367 )
...
* 🐛 Fix missing tiles on page switch and pan/zoom end
* 🐛 Fix blank tiles and atlas crash on render-wasm zoom/pan
2026-06-23 10:25:45 +02:00
Belén Albeza
d1dd5d9016
🎉 Render guides in wasm ( #10014 )
...
* ✨ Remove guides from svg overlay
* 🎉 Draw guides in wasm
* 🎉 Serialize guides to wasm
* ✨ Store separate and sorted horizontal and vertical guides
* 🎉 Implement collision detection with guides
* 🎉 Right click on guides to change color or remove
* ✨ Implement dragging guides
* 🎉 Edit wasm guides by double clicking them
* 🎉 Implement changing mouse cursor on hovering a guide
* ✨ Show guide pill on hover
* 🎉 Implement removing guide on hovering + Del
* 🔧 Fix lint + fmt errors
* 🎉 Clip out outer board guide lines
* ♻️ Extract common code into guide-pill* component
* 🎉 Draw dotted lines on hovering board guides
* 🐛 Fix board rotation when it has guides
* 🎉 Make foreign guides not visible in focus mode
2026-06-16 09:19:58 +02:00
Elena Torró
6ebefa2c16
✨ Add single-file export to PDF using the WebGL render ( #9860 )
2026-06-11 10:41:21 +02:00
Alejandro Alonso
9f5e89d5f8
🎉 Basic viewer with wasm
2026-06-05 16:41:30 +02:00
Elena Torró
60d3c81450
✨ Add wasm rulers ( #9858 )
...
* ✨ Add wasm rulers
* 🔧 Fix dpr on page zoom
Co-authored-by: Alejandro Alonso <alejandroalonsofernandez@gmail.com>
Co-authored-by: Elena Torro <elenatorro@gmail.com>
* 🔧 Change page-switch behavior to refresh rulers and keep blurred snapshot
* 🐛 Restore WASM rulers after WebGL context recovery
Co-Authored-By: Elena Torro <elenatorro@gmail.com>
Co-Authored-By: Alejandro Alonso <alejandroalonsofernandez@gmail.com>
---------
Co-authored-by: Alejandro Alonso <alejandroalonsofernandez@gmail.com>
2026-06-05 07:51:35 +02:00
Aitor Moreno
d0f6d5b3a1
♻️ Refactor render pipeline ( #9891 )
...
* ♻️ Refactor viewbox
* 🎉 Add draw_atlas alternative to draw tiles
* 🐛 Fix minor glitches
* ♻️ Change how process_animation_frame works
* ♻️ Refactor document atlas
* ♻️ Refactor max texture size
* ♻️ Refactor entrypoints and dead_code
2026-06-02 09:38:52 +02:00
Alonso Torres
5a3a855b24
🐛 Fix problem with position-data not present
...
* 🐛 Fix problem with position-data not present
* 🐛 Async set-objects wait before calculate-position-data
2026-05-26 09:50:23 +02:00
Alejandro Alonso
0956becd12
🎉 Reduce heap allocations
2026-05-18 12:35:16 +02:00
Elena Torro
76e3df5836
🐛 Use extrect to capture component's thumbnail
2026-05-12 12:21:06 +02:00
Aitor Moreno
a126379cc7
♻️ Refactor State into DesignState
2026-05-12 12:14:38 +02:00
Belén Albeza
0639ca53de
✨ Implement WebGL context restoring ( #9317 )
...
* ✨ Implement asset re-uploading to wasm
* ✨ Show toast instead of error screen when webgl context is lost
* 🎉 Recover context after webgl context restored event
* 🎉 Set Read-only mode when the context has been lost
* ✨ Disable scroll & zoom when context loss
* ✨ Fix stale reload payload
* ✨ Use existing debounce util to take screenshots
* ✨ Implement design / ux specs
* ✨ Fix playwright test by looking for toast, not error page
2026-05-11 13:15:45 +02:00
Aitor Moreno
4e98dfb99f
♻️ Refactor GpuState and RenderState
...
* ♻️ Refactor GpuState
* ♻️ Refactor RenderState
* 🔧 Tweak some _build_env options
2026-05-08 11:10:14 +02:00
Aitor Moreno
0817f13340
♻️ Change how rendering spiral is generated
2026-05-07 17:25:50 +02:00
Alejandro Alonso
fc7748fc84
🐛 Fix(render-wasm): stabilize interactive drag backbuffer crops
2026-05-07 17:12:00 +02:00
Aitor Moreno
bc0f081371
♻️ Refactor text editor state ( #9379 )
2026-05-07 16:16:44 +02:00
Alejandro Alonso
17e0b545d2
🎉 Cache selection crops from Backbuffer during drag
2026-04-30 16:13:57 +02:00
Elena Torró
1c129ded1f
Merge pull request #9200 from penpot/azazeln28-build-time-performance-optimizations
...
🔧 Change build and cargo settings
2026-04-29 15:12:23 +02:00
Aitor Moreno
73944e46b7
🔧 Change build and cargo settings
2026-04-29 14:35:00 +02:00
Alejandro Alonso
e4af37a7ff
🎉 Use backbuffer + direct-to-target tiles during drag
2026-04-28 12:19:00 +02:00
Elena Torro
483ce8b1c9
⚡ Improve drag performance
2026-04-28 12:18:24 +02:00
alonso.torres
3da74ed864
🐛 Fix problem with component thumbnails in swap component panel
2026-04-21 13:11:03 +02:00
Aitor Moreno
612855452a
🎉 Add render perf options
2026-04-21 11:43:22 +02:00
Alejandro Alonso
98c8bb1746
🐛 Avoid sequential tile draws and flicker during shape transforms
2026-04-21 07:45:27 +02:00
Alejandro Alonso
1d454f3790
🐛 Fix stale tile cache when flex reflow changes modifier set between frames
2026-04-20 15:50:22 +02:00
Alejandro Alonso
c08c3bd160
🎉 Tiles atlas support
2026-04-17 09:05:52 +02:00
Elena Torro
6b3d5d930f
🔧 Improve zoom and pan performance
2026-04-13 16:35:36 +02:00
Elena Torro
d85d63ef3c
🔧 Improve page loading
2026-04-13 14:42:03 +02:00
Alejandro Alonso
0da6b87b5f
🎉 Allow get param to set antialias threshold
2026-03-27 10:00:54 +01:00
alonso.torres
7a8824b826
✨ Add support for export with wasm engine
2026-03-20 09:46:19 +01:00
Alejandro Alonso
0499cd6162
Merge pull request #8654 from penpot/elenatorro-13282-perf-tiles
...
🔧 Preserve cache canvas during tile rebuild for smooth zoom preview
2026-03-19 15:20:08 +01:00
Alejandro Alonso
64b5fd7fb9
Merge pull request #8674 from penpot/ladybenko-13720-flag-wasm-debug-info
...
🔧 Show / Hide wasm info label via config flag
2026-03-19 14:45:37 +01:00
Elena Torro
de04896266
🔧 Preserve cache canvas during tile rebuild for smooth zoom preview
2026-03-19 12:30:10 +01:00
Elena Torro
e630be1509
🎉 Add background blur for wasm render
2026-03-18 18:05:30 +01:00
Belén Albeza
619842152d
♻️ Refactor render options (wasm)
2026-03-18 13:16:13 +01:00
Belén Albeza
2ace44c9e5
✨ Create wasm_error macro to handle Wasm errors differentiating critical vs recoverable
2026-03-09 07:22:32 +01:00
Belén Albeza
4185a7a6f3
🐛 Fix grid layout lines persisted after board is deleted
2026-02-17 12:58:15 +01:00
Belén Albeza
75a4102637
🐛 Fix resize board to fit (wasm)
2026-02-13 10:57:27 +01:00
Elena Torro
969666b39b
🔧 Simplify view interaction log message
...
Remove zoom_changed from log output as it's no longer needed
for debugging after the tile optimization changes.
2026-02-09 11:44:50 +01:00
alonso.torres
fd3d549f9c
✨ Batch text layout updates
2026-02-05 17:29:43 +01:00
Alejandro Alonso
7d3ac38749
🎉 Improve huge shapes rendering
2026-01-27 11:11:38 +01:00
Elena Torro
962d7839a2
🔧 Add progressive rendering support for improved page load experience
...
When loading large pages with many shapes, the UI now remains responsive by
processing shapes in chunks (100 shapes at a time) and yielding to the browser
between chunks. Preview renders are triggered at 25%, 50%, and 75% progress to
give users visual feedback during loading.
2026-01-21 14:55:53 +01:00
Elena Torro
5775fa61ba
🔧 Refactor ShapesPool to use index-based storage instead of unsafe lifetime references
...
Replace `HashMap<&'a Uuid, ...>` with `HashMap<usize, ...>` for all auxiliary maps
(modifiers, structure, scale_content, modified_shape_cache)
2026-01-21 14:53:56 +01:00
Alejandro Alonso
6fa0c3af0c
🐛 Fix some tiles disappear after fast zoom and pan
2026-01-20 12:40:01 +01:00
Alejandro Alonso
a948e49e51
🐛 Fix using cache on first zoom after pan
2025-12-30 10:03:24 +01:00
Belén Albeza
0a7a65af5d
♻️ Make SerializableResult to depend on From traits
2025-12-11 16:00:03 +01:00