Spaces:
Paused
Paused
Commit History
-
Tune LOGO_AREA_HEIGHT 260 -> 150 for larger on-screen badge proportion
FTA77000786ba9
-
Fix logo badge size inconsistency: fixed-height logo box
FTA77000d4041b
-
fix(cache): align backdrop edge-inset clamp between cache key and render
PNRxAedge_inset_cache_suffix used the raw inset while render_backdrop_sync clamped to 100 (not the MAX_EDGE_INSET of 50 enforced elsewhere). An out-of-range value could mint a cache key the renderer would never reproduce. Clamp both to clamp_edge_inset so the key and the rendered output can never diverge.8946944
-
feat: add distance-from-edge inset setting for backdrop ratings
PNRxACloses #7. Some media players (e.g. Nuvio on Mac) reposition/crop backdrops and clip the rating badges. Add two independent per-key/global settings that inset the backdrop ratings inward from the anchored edge: - backdrop_edge_inset_x — horizontal inset (% of width), applies only to left/right positions - backdrop_edge_inset_y — vertical inset (% of height), applies only to top/bottom positions Centered axes ignore their inset, so a top-right position exposes "space from top" and "space from right", while "right" exposes only "space from right". Surfaced in the settings UI as conditional, edge-aware inputs and as edge_inset_x / edge_inset_y query params on the backdrop image and preview endpoints. The cache token (.eh{x}/.ev{y}) is emitted only when the position-gated value is non-zero, mirroring the existing optional .x1 (split) and .blur tokens, so default backdrop cache keys are unchanged and no cache-key migration is needed (only the additive DB columns, default 0).70cc48f -
feat: normalize poster aspect ratio to 2:3 (#15)
PNRxANon-2:3 source posters were served at their native aspect ratio, so downstream apps (Stremio addons, aiometadata) that place posters in fixed 2:3 containers cropped them — cutting off the title/logo art baked into the poster (issue #15). Two complementary fixes: - Render-side: a new `poster_fit` setting normalizes every poster to an exact 2:3 frame (e.g. 580x870 / 1280x1920 / 2000x3000). Modes: `cover` (default, center-crop), `pad` (solid letterbox), `blur` (blurred-fill bars), and `native` (legacy source-ratio passthrough). - Selection-side: among TMDB posters, prefer art near 2:3 before falling back to highest vote, so the chosen source usually needs little cropping. Configurable per-key, globally, and via the `?fit=` query param. Threaded through RenderSettings, the cache key (native emits no token so existing poster cache stays valid; the new default emits one), the api_key_settings DB column + migration, OpenAPI, and the admin UI (with live preview). Tests: poster fit …5283e2c
-
fix: dedupe pill cache keys + disable ignored badge style control for pills
PNRxAPills always render as a horizontal lozenge, so badge style is overridden to horizontal at render time. Route both the renderer and the cache key through a single BadgeStyle::for_shape() helper so pill+vertical and pill+horizontal no longer produce two cache entries for identical output. UX: disable the Badge style select (and show a hint) when the badge shape is pill, in both the per-key settings form and the free-key try-it-out form, so users don't expect the orientation choice to take effect. Badge direction stays enabled — it still controls multi-badge stacking for pills.6387a43 -
fix: pills always render as a horizontal lozenge + a bit more top/bottom padding
PNRxA- A pill is a horizontal icon/label-left, value-right lozenge; vertical stacked pills look wrong, so pill shape now forces horizontal layout for every image type (logos/backdrops/episodes default to vertical style). - Give horizontal pills a little extra height for top/bottom breathing room.9052d8e -
Merge remote-tracking branch 'origin/main' into feat/badge-shape-background
PNRxA# Conflicts: # README.md # api/src/handlers/preview.rs # api/src/image/generate.rs # api/src/image/serve.rs # api/src/lib.rs # web/src/__tests__/components/RenderSettingsForm.spec.ts # web/src/components/RenderSettingsForm.vue # web/src/lib/api.tsc45d5f9
-
feat: split poster badges onto opposite sides (#18)
PNRxAAdd a per-poster `poster_badge_split` setting (query param `split`) that divides rating badges evenly across two opposite sides of the poster. The split axis follows the badge layout: a vertical column splits left/right, horizontal rows split top/bottom. With an odd number of badges the configured side keeps the extra one (4 -> 2+2, 3 -> 2+1); a single badge is never split. - Rendering: BadgePosition::split_anchors + overlay_poster_group on the poster render path; threaded through ImageParams/serve/preview. - Cache: the split contributes a key token only when enabled, so existing non-split cache keys and CDN settings hashes are unchanged. - Settings: new column + migration, per-key/global/free-key plumbing, `split` query-param override. - Web: settings-form checkbox with live preview, free-key "Try it out" control, API params, types, and README docs.6db0b76 -
feat: add pill-style badges and dark/transparent/no-background options (#19)
PNRxAAdd two orthogonal, per-image-type badge appearance settings: - badge_shape: rounded (default) | pill (fully rounded ends) - badge_background: default | dark | transparent | none These are plumbed through the full settings stack (per-key + global defaults, query-param overrides, cache keys) for posters, logos, backdrops, and episodes, and exposed in the admin/key settings forms and the public free-key "Try it out" form. Closes #19.c165e10
-
additional configuration options for backdrops
PNRxA41b3b51
-
add support for episode ratings, closes #5
PNRxA76b8a0b
-
redact api keys in logs, limit image decode size, fix ip extraction, add
PNRxAreferrer-policy headerbe73249
-
expose all customisation through url params, fixes #3
PNRxA0b7bef2
-
refactor to use explicit enum types instead of strings
PNRxAb8d53ae -
added support for official icons and made it the default
PNRxAbc616c9
-
remove fallback placeholder behavior, accept param as no-op for rpdb
PNRxAcompatibility1464c42
-
add badge size option, improve settings layout
PNRxA4b9bf53
-
deduplicate image handlers and rename poster modules to image
PNRxA0c21886