Skip to content

✨ Metadata constraints (range & pattern)#1257

Merged
gwennlbh merged 5 commits intomainfrom
metadata-constraints
Feb 20, 2026
Merged

✨ Metadata constraints (range & pattern)#1257
gwennlbh merged 5 commits intomainfrom
metadata-constraints

Conversation

@gwennlbh
Copy link
Member

Closes #1212

we're in the big 26 in theres still no way to properly style a range input on Chrome without JS
@gwennlbh gwennlbh temporarily deployed to #1257: node_modules analysis February 19, 2026 17:43 — with GitHub Actions Inactive
@gwennlbh gwennlbh temporarily deployed to #1257: App preview February 19, 2026 17:46 — with GitHub Actions Inactive
@gwennlbh gwennlbh force-pushed the metadata-constraints branch from e9ad2c6 to 53985cd Compare February 19, 2026 18:20
@gwennlbh gwennlbh temporarily deployed to #1257: node_modules analysis February 19, 2026 18:20 — with GitHub Actions Inactive
@gwennlbh gwennlbh temporarily deployed to #1257: App preview February 19, 2026 18:24 — with GitHub Actions Inactive
@gwennlbh gwennlbh temporarily deployed to #1257: Unit tests February 19, 2026 18:28 — with GitHub Actions Inactive
@gwennlbh gwennlbh temporarily deployed to #1257: Bundle breakdown February 19, 2026 18:30 — with GitHub Actions Inactive
@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

Bundle Stats

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
230 → 231 46.68 MB → 46.78 MB (+106.26 kB)
11.55 MB → 11.58 MB (gzip)
+0.22%
Changeset
File Δ Size
language.js 🆕 +41.96 kB 0 B → 41.96 kB
browser.js 🆕 +11.83 kB 0 B → 11.83 kB
constraints.js 🆕 +3.36 kB 0 B → 3.36 kB
natural-regex-tokens.js 🆕 +2.66 kB 0 B → 2.66 kB
constraints.ts 🆕 +1.55 kB 0 B → 1.55 kB
src/lib/InputRange.svelte 🆕 +1.13 kB 0 B → 1.13 kB
json/schema.js 🆕 +1.08 kB 0 B → 1.08 kB
_app/immutable/chunks/BUsPvKjg.js 🆕 +841 B 0 B → 841 B
_app/immutable/chunks/BbsYXVtf.js 🆕 +726 B 0 B → 726 B
_app/immutable/chunks/DE2W_C2B.js 🆕 +650 B 0 B → 650 B
_app/immutable/chunks/D7fs65L7.js 🆕 +650 B 0 B → 650 B
_app/immutable/chunks/B-T9H-ER.js 🆕 +621 B 0 B → 621 B
_app/immutable/chunks/T09AO1QC.js 🆕 +617 B 0 B → 617 B
_app/immutable/chunks/Dd2ii0q1.js 🆕 +588 B 0 B → 588 B
_app/immutable/chunks/BLgTCby7.js 🆕 +587 B 0 B → 587 B
_app/immutable/chunks/B6dy2sqQ.js 🆕 +582 B 0 B → 582 B
_app/immutable/chunks/Cwb1OXsJ.js 🆕 +568 B 0 B → 568 B
_app/immutable/chunks/0FVT5fxA.js 🆕 +560 B 0 B → 560 B
_app/immutable/chunks/BK9RD9Zy.js 🆕 +558 B 0 B → 558 B
_app/immutable/chunks/G4wa9As3.js 🆕 +547 B 0 B → 547 B
_app/immutable/chunks/CUbNYyyV.js 🆕 +545 B 0 B → 545 B
_app/immutable/chunks/DBaFXsNm.js 🆕 +539 B 0 B → 539 B
_app/immutable/chunks/3hMEuLq3.js 🆕 +537 B 0 B → 537 B
_app/immutable/chunks/D0DqjGxz.js 🆕 +535 B 0 B → 535 B
_app/immutable/chunks/Cut1VsNn.js 🆕 +520 B 0 B → 520 B
_app/immutable/chunks/vSpkE5AR.js 🆕 +520 B 0 B → 520 B
_app/immutable/chunks/Cyizp9nt.js 🆕 +488 B 0 B → 488 B
_app/immutable/chunks/Bf6VYV6I.js 🆕 +484 B 0 B → 484 B
_app/immutable/chunks/k3WAnOGP.js 🆕 +475 B 0 B → 475 B
_app/immutable/chunks/xJVponh6.js 🆕 +471 B 0 B → 471 B
_app/immutable/chunks/DZRaQp3m.js 🆕 +469 B 0 B → 469 B
_app/immutable/chunks/CMG_9Ef3.js 🆕 +467 B 0 B → 467 B
_app/immutable/chunks/BAWXbWKH.js 🆕 +461 B 0 B → 461 B
_app/immutable/chunks/D1KTsvKZ.js 🆕 +454 B 0 B → 454 B
_app/immutable/chunks/Bgm-Cmsg.js 🆕 +450 B 0 B → 450 B
_app/immutable/chunks/BsYyX4S0.js 🆕 +438 B 0 B → 438 B
_app/immutable/chunks/CkHS13jn.js 🆕 +419 B 0 B → 419 B
__vite-browser-external 🆕 +282 B 0 B → 282 B
_app/immutable/entry/start.CUSY-tKl.js 🆕 +126 B 0 B → 126 B
_app/immutable/nodes/0.skm19iUh.js 🆕 +105 B 0 B → 105 B
minutesToMilliseconds.js 📈 +534 B (+143.55%) 372 B → 906 B
inference.js 📈 +1.15 kB (+122.40%) 960 B → 2.08 kB
Metadata.svelte 📈 +662 B (+15.75%) 4.11 kB → 4.75 kB
MetadataInput.svelte 📈 +815 B (+10.45%) 7.61 kB → 8.41 kB
MetadataTypeswitch.svelte 📈 +48 B (+6.96%) 690 B → 738 B
src/lib/RadioButtons.svelte 📈 +51 B (+4.64%) 1.07 kB → 1.12 kB
WorldLocationCombobox.svelte 📈 +133 B (+4.64%) 2.8 kB → 2.93 kB
exiffields.js 📈 +267 B (+3.01%) 8.66 kB → 8.92 kB
metadata.js 📈 +253 B (+2.32%) 10.64 kB → 10.89 kB
Settings.svelte 📈 +24 B (+0.44%) 5.33 kB → 5.35 kB
bun.lock?raw 📈 +285 B (+0.07%) 410.28 kB → 410.56 kB
maplibre-gl.js 📉 -3 B (-0.00%) 997.81 kB → 997.8 kB
ModalSubmitIssue.svelte 📉 -129 B (-2.00%) 6.29 kB → 6.16 kB
protocols.js 📉 -529 B (-17.99%) 2.87 kB → 2.35 kB
fflate/esm/browser.js 📉 -6.58 kB (-55.59%) 11.83 kB → 5.26 kB
observations.js 📉 -370 B (-57.45%) 644 B → 274 B
schema.js 📉 -1010 B (-91.32%) 1.08 kB → 96 B
_app/immutable/chunks/D-UWj6qO.js 🔥 -841 B (-100%) 841 B → 0 B
_app/immutable/chunks/BcjpCFFu.js 🔥 -726 B (-100%) 726 B → 0 B
_app/immutable/chunks/CE1aPFAY.js 🔥 -650 B (-100%) 650 B → 0 B
_app/immutable/chunks/4I44MBUn.js 🔥 -650 B (-100%) 650 B → 0 B
_app/immutable/chunks/NVsEhQ7B.js 🔥 -621 B (-100%) 621 B → 0 B
_app/immutable/chunks/BeInMNC_.js 🔥 -617 B (-100%) 617 B → 0 B
_app/immutable/chunks/DWwxw3tk.js 🔥 -588 B (-100%) 588 B → 0 B
_app/immutable/chunks/BZ2dzksi.js 🔥 -587 B (-100%) 587 B → 0 B
_app/immutable/chunks/qHCwAbGF.js 🔥 -582 B (-100%) 582 B → 0 B
_app/immutable/chunks/Cj1myZTj.js 🔥 -568 B (-100%) 568 B → 0 B
_app/immutable/chunks/CbgoESnJ.js 🔥 -560 B (-100%) 560 B → 0 B
_app/immutable/chunks/DzWygYH_.js 🔥 -558 B (-100%) 558 B → 0 B
_app/immutable/chunks/zSAXZyIC.js 🔥 -547 B (-100%) 547 B → 0 B
_app/immutable/chunks/29XyyIQK.js 🔥 -545 B (-100%) 545 B → 0 B
_app/immutable/chunks/ZleCGAY6.js 🔥 -539 B (-100%) 539 B → 0 B
_app/immutable/chunks/BXNPsEAb.js 🔥 -537 B (-100%) 537 B → 0 B
_app/immutable/chunks/YRxYdW9_.js 🔥 -535 B (-100%) 535 B → 0 B
_app/immutable/chunks/CjfdBK_z.js 🔥 -520 B (-100%) 520 B → 0 B
_app/immutable/chunks/amY4RFFX.js 🔥 -520 B (-100%) 520 B → 0 B
_app/immutable/chunks/UPaboWr1.js 🔥 -488 B (-100%) 488 B → 0 B
_app/immutable/chunks/Yf0YnVo_.js 🔥 -484 B (-100%) 484 B → 0 B
_app/immutable/chunks/DRbHQn-X.js 🔥 -475 B (-100%) 475 B → 0 B
_app/immutable/chunks/Bu_YiHu7.js 🔥 -471 B (-100%) 471 B → 0 B
_app/immutable/chunks/BdfZzsIO.js 🔥 -469 B (-100%) 469 B → 0 B
_app/immutable/chunks/BK9d2Wsk.js 🔥 -467 B (-100%) 467 B → 0 B
_app/immutable/chunks/D3qyAxMS.js 🔥 -461 B (-100%) 461 B → 0 B
_app/immutable/chunks/DpFS1qj5.js 🔥 -454 B (-100%) 454 B → 0 B
_app/immutable/chunks/CPGL_VZn.js 🔥 -450 B (-100%) 450 B → 0 B
_app/immutable/chunks/B1uB6crO.js 🔥 -438 B (-100%) 438 B → 0 B
_app/immutable/chunks/D7F0Dsst.js 🔥 -419 B (-100%) 419 B → 0 B
_app/immutable/chunks/CwG6CHS5.js 🔥 -419 B (-100%) 419 B → 0 B
shared/utils.js 🔥 -411 B (-100%) 411 B → 0 B
decorators/inline.js 🔥 -368 B (-100%) 368 B → 0 B
_app/immutable/entry/start.D8gwJp0T.js 🔥 -126 B (-100%) 126 B → 0 B
_app/immutable/nodes/0.BjHUHc8U.js 🔥 -105 B (-100%) 105 B → 0 B
flags/index.js 🔥 -25 B (-100%) 25 B → 0 B
View detailed bundle breakdown

Added

Asset File Size % Changed
_app/immutable/chunks/Ef6ekfPh.js 0 B → 1.02 MB (+1.02 MB)
0 B → 289.3 kB (gzip)
-
_app/immutable/chunks/Don2Ydo1.js 0 B → 407.06 kB (+407.06 kB)
0 B → 166.86 kB (gzip)
-
_app/immutable/assets/MetadataList.BVrdQyir.css 0 B → 74.65 kB (+74.65 kB)
0 B → 11.26 kB (gzip)
-
_app/immutable/assets/0.Cewgbe4L.css 0 B → 6.68 kB (+6.68 kB)
0 B → 1.38 kB (gzip)
-
_app/immutable/assets/InputRange.uld7YQxb.css 0 B → 3.48 kB (+3.48 kB)
0 B → 591 B (gzip)
-
_app/immutable/assets/RadioButtons.vI7usyfI.css 0 B → 1.46 kB (+1.46 kB)
0 B → 531 B (gzip)
-
_app/immutable/chunks/7yAVqGsj.js 0 B → 1.13 kB (+1.13 kB)
0 B → 630 B (gzip)
-
_app/immutable/chunks/BUsPvKjg.js 0 B → 841 B (+841 B)
0 B → 481 B (gzip)
-
_app/immutable/chunks/BbsYXVtf.js 0 B → 726 B (+726 B)
0 B → 392 B (gzip)
-
_app/immutable/chunks/DE2W_C2B.js 0 B → 650 B (+650 B)
0 B → 445 B (gzip)
-
_app/immutable/chunks/D7fs65L7.js 0 B → 650 B (+650 B)
0 B → 442 B (gzip)
-
_app/immutable/chunks/B-T9H-ER.js 0 B → 621 B (+621 B)
0 B → 439 B (gzip)
-
_app/immutable/chunks/T09AO1QC.js 0 B → 617 B (+617 B)
0 B → 439 B (gzip)
-
_app/immutable/chunks/Dd2ii0q1.js 0 B → 588 B (+588 B)
0 B → 420 B (gzip)
-
_app/immutable/chunks/BLgTCby7.js 0 B → 587 B (+587 B)
0 B → 410 B (gzip)
-
_app/immutable/chunks/B6dy2sqQ.js 0 B → 582 B (+582 B)
0 B → 415 B (gzip)
-
_app/immutable/chunks/Cwb1OXsJ.js 0 B → 568 B (+568 B)
0 B → 375 B (gzip)
-
_app/immutable/chunks/0FVT5fxA.js 0 B → 560 B (+560 B)
0 B → 395 B (gzip)
-
_app/immutable/chunks/BK9RD9Zy.js 0 B → 558 B (+558 B)
0 B → 414 B (gzip)
-
_app/immutable/chunks/G4wa9As3.js 0 B → 547 B (+547 B)
0 B → 405 B (gzip)
-
_app/immutable/chunks/CUbNYyyV.js 0 B → 545 B (+545 B)
0 B → 400 B (gzip)
-
_app/immutable/chunks/DBaFXsNm.js 0 B → 539 B (+539 B)
0 B → 399 B (gzip)
-
_app/immutable/chunks/3hMEuLq3.js 0 B → 537 B (+537 B)
0 B → 396 B (gzip)
-
_app/immutable/chunks/D0DqjGxz.js 0 B → 535 B (+535 B)
0 B → 374 B (gzip)
-
_app/immutable/chunks/Cut1VsNn.js 0 B → 520 B (+520 B)
0 B → 387 B (gzip)
-
_app/immutable/chunks/vSpkE5AR.js 0 B → 520 B (+520 B)
0 B → 391 B (gzip)
-
_app/immutable/chunks/Cyizp9nt.js 0 B → 488 B (+488 B)
0 B → 362 B (gzip)
-
_app/immutable/chunks/Bf6VYV6I.js 0 B → 484 B (+484 B)
0 B → 376 B (gzip)
-
_app/immutable/chunks/k3WAnOGP.js 0 B → 475 B (+475 B)
0 B → 360 B (gzip)
-
_app/immutable/chunks/xJVponh6.js 0 B → 471 B (+471 B)
0 B → 354 B (gzip)
-
_app/immutable/chunks/DZRaQp3m.js 0 B → 469 B (+469 B)
0 B → 356 B (gzip)
-
_app/immutable/chunks/CMG_9Ef3.js 0 B → 467 B (+467 B)
0 B → 361 B (gzip)
-
_app/immutable/chunks/BAWXbWKH.js 0 B → 461 B (+461 B)
0 B → 358 B (gzip)
-
_app/immutable/chunks/D1KTsvKZ.js 0 B → 454 B (+454 B)
0 B → 343 B (gzip)
-
_app/immutable/chunks/Bgm-Cmsg.js 0 B → 450 B (+450 B)
0 B → 348 B (gzip)
-
_app/immutable/chunks/BsYyX4S0.js 0 B → 438 B (+438 B)
0 B → 345 B (gzip)
-
_app/immutable/chunks/CkHS13jn.js 0 B → 419 B (+419 B)
0 B → 328 B (gzip)
-
_app/immutable/entry/start.CUSY-tKl.js 0 B → 126 B (+126 B)
0 B → 133 B (gzip)
-
_app/immutable/nodes/0.skm19iUh.js 0 B → 105 B (+105 B)
0 B → 120 B (gzip)
-

Removed

Asset File Size % Changed
_app/immutable/chunks/CFvUt5kh.js 1.01 MB → 0 B (-1.01 MB)
287.91 kB → 0 B (gzip)
-100%
_app/immutable/chunks/GtR0cQjm.js 358.27 kB → 0 B (-358.27 kB)
151.99 kB → 0 B (gzip)
-100%
_app/immutable/assets/MetadataList.WN5H0_hf.css 73.03 kB → 0 B (-73.03 kB)
11.08 kB → 0 B (gzip)
-100%
_app/immutable/assets/0.CN7sHGaX.css 8.72 kB → 0 B (-8.72 kB)
1.67 kB → 0 B (gzip)
-100%
_app/immutable/assets/RadioButtons.CrZG75Q0.css 1.44 kB → 0 B (-1.44 kB)
521 B → 0 B (gzip)
-100%
_app/immutable/chunks/D-UWj6qO.js 841 B → 0 B (-841 B)
477 B → 0 B (gzip)
-100%
_app/immutable/chunks/BcjpCFFu.js 726 B → 0 B (-726 B)
387 B → 0 B (gzip)
-100%
_app/immutable/chunks/CE1aPFAY.js 650 B → 0 B (-650 B)
442 B → 0 B (gzip)
-100%
_app/immutable/chunks/4I44MBUn.js 650 B → 0 B (-650 B)
441 B → 0 B (gzip)
-100%
_app/immutable/chunks/NVsEhQ7B.js 621 B → 0 B (-621 B)
435 B → 0 B (gzip)
-100%
app/immutable/chunks/BeInMNC.js 617 B → 0 B (-617 B)
435 B → 0 B (gzip)
-100%
_app/immutable/chunks/DWwxw3tk.js 588 B → 0 B (-588 B)
419 B → 0 B (gzip)
-100%
_app/immutable/chunks/BZ2dzksi.js 587 B → 0 B (-587 B)
406 B → 0 B (gzip)
-100%
_app/immutable/chunks/qHCwAbGF.js 582 B → 0 B (-582 B)
414 B → 0 B (gzip)
-100%
_app/immutable/chunks/Cj1myZTj.js 568 B → 0 B (-568 B)
371 B → 0 B (gzip)
-100%
_app/immutable/chunks/CbgoESnJ.js 560 B → 0 B (-560 B)
391 B → 0 B (gzip)
-100%
app/immutable/chunks/DzWygYH.js 558 B → 0 B (-558 B)
411 B → 0 B (gzip)
-100%
_app/immutable/chunks/zSAXZyIC.js 547 B → 0 B (-547 B)
403 B → 0 B (gzip)
-100%
_app/immutable/chunks/29XyyIQK.js 545 B → 0 B (-545 B)
395 B → 0 B (gzip)
-100%
_app/immutable/chunks/ZleCGAY6.js 539 B → 0 B (-539 B)
397 B → 0 B (gzip)
-100%
_app/immutable/chunks/BXNPsEAb.js 537 B → 0 B (-537 B)
393 B → 0 B (gzip)
-100%
app/immutable/chunks/YRxYdW9.js 535 B → 0 B (-535 B)
371 B → 0 B (gzip)
-100%
_app/immutable/chunks/CjfdBK_z.js 520 B → 0 B (-520 B)
382 B → 0 B (gzip)
-100%
_app/immutable/chunks/amY4RFFX.js 520 B → 0 B (-520 B)
387 B → 0 B (gzip)
-100%
_app/immutable/chunks/UPaboWr1.js 488 B → 0 B (-488 B)
359 B → 0 B (gzip)
-100%
app/immutable/chunks/Yf0YnVo.js 484 B → 0 B (-484 B)
369 B → 0 B (gzip)
-100%
_app/immutable/chunks/DRbHQn-X.js 475 B → 0 B (-475 B)
355 B → 0 B (gzip)
-100%
_app/immutable/chunks/Bu_YiHu7.js 471 B → 0 B (-471 B)
352 B → 0 B (gzip)
-100%
_app/immutable/chunks/BdfZzsIO.js 469 B → 0 B (-469 B)
354 B → 0 B (gzip)
-100%
_app/immutable/chunks/BK9d2Wsk.js 467 B → 0 B (-467 B)
357 B → 0 B (gzip)
-100%
_app/immutable/chunks/D3qyAxMS.js 461 B → 0 B (-461 B)
354 B → 0 B (gzip)
-100%
_app/immutable/chunks/DpFS1qj5.js 454 B → 0 B (-454 B)
339 B → 0 B (gzip)
-100%
_app/immutable/chunks/CPGL_VZn.js 450 B → 0 B (-450 B)
347 B → 0 B (gzip)
-100%
_app/immutable/chunks/B1uB6crO.js 438 B → 0 B (-438 B)
339 B → 0 B (gzip)
-100%
_app/immutable/chunks/D7F0Dsst.js 419 B → 0 B (-419 B)
323 B → 0 B (gzip)
-100%
_app/immutable/chunks/CwG6CHS5.js 419 B → 0 B (-419 B)
325 B → 0 B (gzip)
-100%
_app/immutable/entry/start.D8gwJp0T.js 126 B → 0 B (-126 B)
133 B → 0 B (gzip)
-100%
_app/immutable/nodes/0.BjHUHc8U.js 105 B → 0 B (-105 B)
120 B → 0 B (gzip)
-100%

Bigger

Asset File Size % Changed
_app/immutable/workers/start-[hash].js 1.72 MB → 1.77 MB (+50.27 kB)
590.31 kB → 605.37 kB (gzip)
+2.85%
_app/immutable/nodes/18.fDlM7I7N.js 420.92 kB → 421.2 kB (+285 B)
148.31 kB → 148.42 kB (gzip)
+0.07%
_app/immutable/chunks/CRFbrfbl.js 1.07 kB → 1.12 kB (+51 B)
636 B → 666 B (gzip)
+4.64%

Smaller

Asset File Size % Changed
_app/immutable/nodes/2.C-bqbH57.js 85.05 kB → 84.95 kB (-105 B)
37.62 kB → 37.56 kB (gzip)
-0.12%

@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

✅ Coverage is up by 0.02% (from 51.02% to 51.04%)

@gwennlbh gwennlbh force-pushed the metadata-constraints branch from 53985cd to ace3d23 Compare February 20, 2026 13:25
@gwennlbh gwennlbh had a problem deploying to #1257: node_modules analysis February 20, 2026 13:25 — with GitHub Actions Error
@gwennlbh gwennlbh temporarily deployed to #1257: App preview February 20, 2026 13:29 — with GitHub Actions Inactive
@gwennlbh gwennlbh temporarily deployed to #1257: Unit tests February 20, 2026 13:30 — with GitHub Actions Inactive
@gwennlbh gwennlbh force-pushed the metadata-constraints branch from ace3d23 to b53fd50 Compare February 20, 2026 13:33
@gwennlbh gwennlbh had a problem deploying to #1257: node_modules analysis February 20, 2026 13:33 — with GitHub Actions Error
@gwennlbh gwennlbh temporarily deployed to #1257: App preview February 20, 2026 13:38 — with GitHub Actions Inactive
@gwennlbh gwennlbh force-pushed the metadata-constraints branch from b53fd50 to 63fbca3 Compare February 20, 2026 13:38
@gwennlbh gwennlbh temporarily deployed to #1257: node_modules analysis February 20, 2026 13:39 — with GitHub Actions Inactive
@gwennlbh gwennlbh temporarily deployed to #1257: Bundle breakdown February 20, 2026 13:49 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

numerical range constraints & string pattern constraints

1 participant

Comments