Alejandro Alonso
d1a54134bb
✨ Add text and @font-face to WASM SVG export ( #11442 )
...
* ✨ Add text and @font-face to WASM SVG export
Emit selectable <text> elements and inject @font-face rules that
reference the font URLs registered at load time. Text fill bypasses
save_layer wrappers that SkSVGDevice drops. Text strokes are deferred
to a follow-up PR.
* 🐛 Strip trailing commas from Skia SVG text positions
Skia's SVG backend appends a trailing comma to per-glyph x/y lists.
Firefox rejects the malformed attribute and drops glyph positioning,
making exported text vanish or mis-render.
2026-09-01 17:06:50 +02:00
Andrey Antukh
81c3b3cd56
📎 Update copyright name on file header ( #11346 )
2026-08-25 11:55:10 +02:00
Alejandro Alonso
2dcf1a8a0a
Merge remote-tracking branch 'origin/staging' into develop
2026-08-20 09:15:03 +02:00
Alonso Torres
4ac14cfd08
✨ Add component synchronization to waitForLayoutUpdate ( #10964 )
...
* ✨ Add component synchronization to waitForLayoutUpdate
* 🐛 Fix async mock leak in workspace-reflow-test
Use mock/with-mocks instead of with-redefs for http/send! mock in
failed-google-font-css-does-not-abort-shared-consumers test.
with-redefs restores bindings when the block exits synchronously,
but the RxJS subscription fires asynchronously. This caused the mock
to leak into subsequent tests (workspace-media-test), producing 3
spurious failures.
AI-assisted-by: mimo-v2.5-pro
* ♻️ Replace async with-redefs with mock/with-mocks in frontend tests
with-redefs restores bindings when the block exits synchronously,
which is too early for async code (t/async, rx/subs!, promises).
mock/with-mocks uses set! and restores in the done callback, keeping
mocks alive across async boundaries.
Converted 15 with-redefs usages across 4 test files:
- workspace_reflow_test.cljs: 2 genuinely async tests (P1)
- routes_test.cljs: 3 SSO caching tests (P2)
- main_errors_test.cljs: 8 expired-org SSO tests (P2)
- comments_test.cljs: 2 comment thread tests (P2)
36 purely sync with-redefs usages left unchanged — with-redefs
is correct for synchronous code.
AI-assisted-by: mimo-v2.5-pro
* 📎 Fix fmt issues
---------
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-08-18 17:45:42 +02:00
Elena Torró
38b990ef90
🔧 Add exporter headless backend ( #10875 )
...
* ✨ Add headless wasm render backend to the exporter
* ♻️ Move render-wasm bridge to common and split wasm builds
* 🔧 Upload builtin font variants in the wasm exporter
* ♻️ Move shared font and resources utils out of render_wasm
* ⚡ Fetch only the exported roots in the wasm exporter
* ⚡ Bound save_layer rects in the vector export path
2026-08-06 16:13:06 +02:00
Belén Albeza
de8d8ca401
🐛 Fix serialization of constraints ( #11108 )
2026-08-06 15:49:04 +02:00
Alejandro Alonso
4cd34b22e2
🐛 Fix wasm context restore guards ( #10824 )
...
* 🐛 Prevent WASM panics during WebGL context restore
Delay context-restored until reload finishes and no-op app
mutations while reloading so resize/modifiers cannot panic
mid-teardown.
* 🐛 Fall back to CLJS bool content when WASM is not ready
Returning nil from calculate-bool would persist empty path content
during context loss/reload; use path/calc-bool-content instead.
2026-07-29 10:06:52 +02:00
Alonso Torres
cb21f6401a
✨ Add waitForLayoutUpdate plugin method ( #9898 )
...
* ✨ Add waitForLayoutUpdate plugin method
* ✨ Refactor internal wait for tasks
2026-07-28 14:44:30 +02:00
Elena Torró
ef3511e519
✨ Add basic individual strokes implementation ( #10648 )
2026-07-22 16:13:38 +02:00
Elena Torró
08e42687d1
♻️ Extract GPU-free RenderResources; add headless wasm exports ( #10653 )
2026-07-22 09:56:21 +02:00
Elena Torró
c8f586a197
🐛 Fix async text rendering on tiles ( #10504 )
2026-07-01 11:09:57 +02:00
Elena Torro
4a86431dfd
⚡ Replace toBlob to capture snapshots without blocking the main thread
2026-06-11 17:56:46 +02:00
Andrey Antukh
12e7ea038f
Merge remote-tracking branch 'origin/staging' into develop
2026-06-11 10:58:19 +02:00
Belén Albeza
8eedd951a8
🐛 Fix mistmatch in mapping custom font variants (wasm) ( #10122 )
2026-06-11 09:36:29 +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
Andrey Antukh
c5de4c27b0
Merge remote-tracking branch 'origin/main' into staging
2026-06-01 12:57:39 +02:00
Yamila Moreno
ddba2ffa75
📎 Update Kaleidos Copyright ( #9929 )
2026-05-29 11:24:58 +02:00
alonso.torres
88ec9e4ff1
🐛 Fix problem with store font after cleanup
2026-04-21 11:03:04 +02:00
Alejandro Alonso
8775e234f3
🎉 Waiting for tiles complete in a non blocking way
2026-04-17 09:17:26 +02:00
Alejandro Alonso
c08c3bd160
🎉 Tiles atlas support
2026-04-17 09:05:52 +02:00
alonso.torres
3f5226485b
🐛 Fix problem when changing font and grow text
2026-04-15 16:09:38 +02:00
Elena Torro
d85d63ef3c
🔧 Improve page loading
2026-04-13 14:42:03 +02:00
Aitor Moreno
101b2fe9e6
🎉 Add style data from text editor v3
2026-04-06 13:13:53 +02:00
Andrey Antukh
264cd0aaac
Merge remote-tracking branch 'origin/main' into staging
2026-03-30 12:29:07 +02:00
Andrey Antukh
6db3c6cf89
🐛 Fix regression on subpath support ( #8793 )
2026-03-26 15:43:30 +01:00
Elena Torro
5a73003c7f
🐛 Fix fallback fonts and symbols 2
2026-03-24 12:06:28 +01:00
Aitor Moreno
5a2e926c6b
🎉 Add word boundary navigation
2026-03-12 12:50:26 +01:00
Andrey Antukh
d1d50138ed
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-16 10:00:46 +01:00
Alejandro Alonso
684e2b6950
🐛 Fix non existent google font
2026-02-13 11:59:59 +01:00
Belén Albeza
75a4102637
🐛 Fix resize board to fit (wasm)
2026-02-13 10:57:27 +01:00
Andrey Antukh
12e5d8d8c4
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-12 11:00:56 +01:00
Aitor Moreno
54f63c5dc5
♻️ Refactor minor things
2026-02-12 09:34:21 +01:00
Elena Torro
0cb5c16823
🐛 Fix fallback font
2026-02-12 06:43:52 +01:00
Alejandro Alonso
8acd031ab2
Merge remote-tracking branch 'origin/staging-render' into develop
2026-02-06 11:23:50 +01:00
alonso.torres
fd3d549f9c
✨ Batch text layout updates
2026-02-05 17:29:43 +01:00
Andrey Antukh
0ab126748f
💄 Add format rule for code comments ( #8211 )
...
* 💄 Add format rule for code comments
* ⬆️ Update linter and formatter on devenv
2026-01-27 15:07:18 +01:00
Alejandro Alonso
3dc9e28230
Merge pull request #8155 from penpot/elenatorro-13089-improve-page-load-render
...
🔧 Improve render UX on first load
2026-01-26 10:40:44 +01:00
Belén Albeza
3d0c6ad421
✨ Blur board titles and outlines when switching pages
2026-01-22 16:00:24 +01:00
Elena Torro
aab1d97c4c
🔧 Clean up and use proper imports
2026-01-21 16:01:06 +01:00
Elena Torro
83387701a0
🔧 Add batched shape base properties serialization for improved WASM performance
2026-01-21 14:55:07 +01:00
Belén Albeza
43d1d127dc
🎉 Apply blur effect to previous canvas pixels while setting wasm objects
2026-01-16 13:04:59 +01:00
alonso.torres
3d3e3582d6
🐛 Fix problem with some fonts
2025-12-29 12:35:19 +01:00
Andrey Antukh
a78477592b
Merge remote-tracking branch 'origin/staging' into staging-render
2025-12-10 13:36:23 +01:00
Andrey Antukh
a4646373cf
♻️ Refactor wasm loading strategy on worker
2025-12-09 19:41:19 +01:00
Elena Torro
9f567c3bf4
🐛 Fix italic variant
2025-12-03 08:59:25 +01:00
Aitor Moreno
405ddb60d8
🐛 Fix letter spacing applied to paragraph
2025-12-02 10:45:19 +01:00
Elena Torro
786f73767b
🔧 Normalize font attributes to support old formats
2025-12-01 14:59:24 +01:00
Belén Albeza
4d6d7a6a3d
🐛 Fix emoji font not being used as fallback in text editor dom
2025-11-27 17:23:20 +01:00
Belén Albeza
f84c236e02
🐛 Fix text editor v2 not using fallback fonts for selected text
2025-11-27 12:26:39 +01:00
alonso.torres
8880f07a6a
🐛 Fix problem with thumbnails in parallel
2025-11-25 17:56:00 +01:00