=== Recipe Publisher for Fujifilm ===
Contributors:      scorpion380
Tags:              fujifilm, photography, camera, recipe, film simulation
Requires at least: 6.4
Tested up to:      7.0
Stable tag:        1.4.3
Requires PHP:      8.0
License:           GPL-2.0+
License URI:       https://www.gnu.org/licenses/gpl-2.0.html

Publish Fujifilm X-Series JPEG recipes - film simulation, tone, grain, white balance and more - directly on your WordPress site.

== Description ==

Fujifilm, FUJIFILM X Series, and X-Trans are trademarks of FUJIFILM Corporation. This plugin is not affiliated with, sponsored by, or endorsed by FUJIFILM Corporation.

Recipe Publisher for Fujifilm lets you build a library of Fujifilm X-Series camera recipes directly inside WordPress. Each recipe captures the full in-camera JPEG settings — film simulation, dynamic range, tone, colour, grain, white balance shift, and more — and displays them in an authentic camera-body aesthetic on your site.

**Features**

* Custom post type `xsystem_recipe` with a dedicated edit screen
* Full recipe schema: Film Simulation (19 options), Dynamic Range, Highlight/Shadow Tone, Colour, Sharpness, Clarity, Noise Reduction, Grain Effect, Colour Chrome, White Balance with interactive XY shift grid, and camera/sensor identification with sensor-aware field ranges — Film Simulation options are also filtered to those the selected sensor generation actually supports
* Two display themes: **Charcoal** (dark camera-body aesthetic) and **Silver** (aluminium-body aesthetic)
* Save any recipe card as a JPEG image — a "Save as Image" button (client-side, no server round trip) works for every visitor, including on mobile, and always exports at a fixed width with two export-only watermarks: a scannable QR code linking back to the recipe (below the title, or in the thumbnail's spot if there's no featured image), and a "Made using Recipe Publisher for Fujifilm" credit line in the footer
* Sample Photos gallery per recipe, with the featured image automatically included as the first photo and a built-in lightweight lightbox (prev/next, keyboard and backdrop dismiss)
* Paginated recipe gallery shortcode with configurable columns, filterable by sensor, camera, and film simulation — Camera options are limited to models with published recipes and cascade with the Sensor filter (choosing a camera locks its sensor; choosing a sensor narrows the camera list); filter URLs stay clean of empty/unused params for SEO. Filters can be hidden with `show_filters="false"`
* Single recipe display injected automatically on CPT URLs — no page template editing needed
* Featured image shown as a square thumbnail inside the recipe header
* Configurable thumbnail size and recipe card max width from Settings
* Export individual recipes as JSON from the edit screen
* Export all recipes as a single combined JSON from Settings
* Import JSON — single recipe or combined batch; deduplicates by export code; AI-generated recipes (no export code) accepted and assigned a fresh code
* AI Schema download — a field reference file for ChatGPT / Gemini to generate recipes in the correct import format
* Object-cache layer (wp_cache_get/set) for recipe meta — group `xsystem_recipes`

**Shortcodes**

`[xsystem_recipe id="123"]` — single recipe panel by post ID
`[xsystem_recipe_gallery]` — paginated gallery of all published recipes
`[xsystem_recipe_gallery columns="4" category="street"]` — filtered gallery
`[xsystem_recipe_gallery limit="6"]` — fixed count, no pagination
`[xsystem_recipe_gallery show_filters="false"]` — gallery grid with no filter bar

== Installation ==

1. Upload the `recipe-publisher-for-fujifilm` folder to `/wp-content/plugins/`.
2. Activate the plugin via **Plugins → Installed Plugins**.
3. Go to **Recipe Publisher → Add New** to create your first recipe.
4. Use `[xsystem_recipe_gallery]` on any page to display your recipe library.

== Frequently Asked Questions ==

= Will updating the plugin delete my recipes? =
No. Your recipe posts are never touched by a plugin update.

= Can I import recipes generated by an AI like ChatGPT? =
Yes. Download the AI Schema file from **Settings → Recipe Publisher → Download Schema**, paste it into your AI tool with a prompt describing the look you want, then import the resulting JSON via **Settings → Import Recipes**.

= Does this work with my Sony, Canon, or Nikon camera? =
No. Recipe fields map to Fujifilm's in-camera JPEG settings (Film Simulation, Grain Effect, Color Chrome, White Balance Shift, and more), which don't exist on other brands. This plugin is built specifically for Fujifilm X-Series cameras.

= What happens if I import a recipe with the same name as an existing one? =
It is skipped and listed in the import results. Rename the recipe in your JSON file and re-import.

= Does the plugin delete my recipes if I uninstall it? =
By default, no — your recipe posts are kept. Enable **Delete All Data on Uninstall** in Settings if you want a clean removal.

= Can visitors save a recipe without an account? =
Yes. The "Save as Image" button under each recipe card works for any visitor and requires no login — it renders the card to a JPEG entirely in the browser and downloads it.

== Screenshots ==

1. Recipe edit screen with film simulation, tone, grain, and white balance shift grid
2. Single recipe display — Charcoal theme
3. Single recipe display — Silver theme
4. Recipe gallery
5. Settings page with theme selector
6. Import & Export panel

== Changelog ==

= 1.4.3 =
* Renamed script/style handles from the too-short `frp-*` prefix to `xsystem-*` to avoid collisions with other plugins/themes.
* Renamed Settings page section IDs (`frp_display`, `frp_content`) to `xsystem_display`/`xsystem_content` for the same reason.
* Added object-cache wrapping around the gallery's camera-model filter lookup query.

= 1.4.2 =
* Added a swipeable "sample photos" slider at the top of the recipe page for mobile visitors.
* `xsystem_recipe_saved` now receives sanitized recipe data instead of raw POST input.
* Renamed the `recipe_category` taxonomy to `xsystem_recipe_category` to avoid collisions with other plugins/themes.
* Renamed internal JS globals (`frpEditor`, `frpImport`, `frpSaveImage`, `frpLightbox`, `frpExport`) to a longer, more distinct prefix (`xsystemRecipe*`) for the same reason.

= 1.4.1 =
* Moved inline `<style>` blocks on the Settings page into the already-enqueued admin stylesheet.
* Hardened sanitization of request data used in the gallery filter form, gallery pagination links, and JSON recipe import.

= 1.4.0 =
* Removed the license-key system and the 12-recipe free-tier cap — every feature is now fully available to everyone, with no locked recipes or purchased unlock key. No recipes or settings are affected.
* Renamed the admin menu and Settings page label from "Recipes" to "Recipe Publisher" for clarity.

= 1.3.0 =
* Renamed the plugin from "X-System Recipe Publisher" to "Recipe Publisher for Fujifilm" for WordPress.org trademark compliance, and added a Fujifilm trademark disclaimer. No functional changes.

= 1.2.0 =
* Added a "Save as Image" button so any visitor can export a recipe card as a JPEG, client-side, with a consistent fixed export width.
* Export-only watermarks: a scannable QR code linking back to the recipe (below the title, or in the thumbnail's spot if there's no featured image) and a "Made using Recipe Publisher for Fujifilm" credit line in the footer — both hidden during normal browsing.
* Added a lightweight built-in lightbox for the Sample Photos gallery (prev/next, keyboard and backdrop dismiss).
* The recipe's featured image is now automatically included as the first Sample Photo.
* Added a Card Max Width setting (default 640px).
* Added sensor, camera, and film simulation filters to the recipe gallery shortcode. Camera options are limited to models with published recipes and cascade with Sensor (choosing a camera locks its sensor; choosing a sensor narrows the camera list).
* Gallery filter URLs now omit empty/unused params, keeping them clean for search engines.
* Added a `show_filters="false"` attribute to `[xsystem_recipe_gallery]` to hide the filter bar entirely.
* Added license activation and a free-tier cap of 12 recipes.
* Sensor-aware field ranges and defaults in the recipe edit screen.
* Film Simulation options in the recipe edit screen are now filtered by sensor generation (e.g. CLASSIC Neg., ETERNA, and NOSTALGIC Neg. only show once a supporting sensor is selected).
* Fixed low-contrast meta-row text (date) in the Charcoal theme.
* Fixed the recipe card ignoring the configured max-width setting.

= 1.1.0 =
* Renamed the plugin from "Fujifilm Recipe Publisher" to "X-System Recipe Publisher".

= 1.0.0 =
* Initial release.
* Full recipe schema with 6 groups and 20+ fields.
* Charcoal and Silver display themes.
* JSON export (single and all) and JSON import (single and batch).
* AI Schema export for ChatGPT / Gemini recipe generation.
* Paginated gallery shortcode.
* Interactive white balance XY shift grid.
* Camera/sensor dependent select (6 X-Trans generations, 30+ models).

== Upgrade Notice ==

= 1.4.0 =
Removes the license/free-tier recipe cap — all recipes are now unlocked for everyone. No upgrade steps required.

= 1.3.0 =
Plugin renamed to "Recipe Publisher for Fujifilm" (trademark compliance). No functional changes or upgrade steps required.

= 1.2.0 =
Adds JPEG export with QR/credit watermarks, a Sample Photos lightbox, cascading sensor/camera/film gallery filters, and licensing with a 12-recipe free tier. No upgrade steps required.

= 1.1.0 =
Plugin renamed to X-System Recipe Publisher.

= 1.0.0 =
Initial release — no upgrade steps required.
