{"id":347763,"date":"2026-08-14T16:10:48","date_gmt":"2026-08-14T16:10:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/stereoscopic-image-viewer\/"},"modified":"2026-08-14T16:09:00","modified_gmt":"2026-08-14T16:09:00","slug":"stereoscopic-image-viewer","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/stereoscopic-image-viewer\/","author":7282870,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"trunk","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Stereoscopic Image Viewer","header_author":"Nductiv","header_description":"Display stereoscopic 3D images from the WordPress media library using a Gutenberg block and shortcode.","assets_banners_color":"96826c","last_updated":"2026-08-14 16:09:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/apps.nductiv.com\/wp-stereoscopic-viewer\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":37,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"Nductiv","date":"2026-08-14 16:10:39"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3647814,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3647814,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3647814,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"stereoscopic-image-viewer\/stereo-img":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"stereoscopic-image-viewer\/stereo-img","version":"1.0.0","title":"Stereoscopic Image","category":"media","icon":"format-image","description":"Display a stereoscopic 3D image from the media library.","keywords":["stereo","3d","anaglyph","vr","stereoscopic"],"textdomain":"stereoscopic-image-viewer","supports":{"html":false,"align":["wide","full"]},"attributes":{"src":{"type":"string","default":"","description":"URL of the primary (or only) source image."},"srcRight":{"type":"string","default":"","description":"URL of the right-eye image when sourceFormat is 'pair'."},"srcId":{"type":"number","description":"Attachment ID of the primary image."},"srcRightId":{"type":"number","description":"Attachment ID of the right-eye image."},"sourceFormat":{"type":"string","default":"left-right","enum":["left-right","top-bottom","anaglyph-rc","anaglyph-rb","interlaced-row","interlaced-col","pair"],"description":"How the source image encodes left and right eyes."},"sourceSqueezeEnabled":{"type":"boolean","default":false,"description":"Source is anamorphic (half-width SBS or half-height TB). Unsqueeze when splitting."},"displayMode":{"type":"string","default":"anaglyph-rc","enum":["side-by-side","top-bottom","anaglyph-rc","anaglyph-rb","interlaced-row","interlaced-col","left","right","wiggle"],"description":"How to display the image to the viewer."},"displaySqueezeEnabled":{"type":"boolean","default":false,"description":"Output as anamorphic (half-width SBS or half-height TB). Only applies to side-by-side and top-bottom display modes."},"swapSources":{"type":"boolean","default":false,"description":"Swap left and right eye sources."},"width":{"type":"string","default":"100%","description":"CSS width value with unit: px, %, or vw."},"borderEnabled":{"type":"boolean","default":false,"description":"Show a border around the image."},"borderWidth":{"type":"string","default":"1px","description":"CSS border width (e.g. 2px)."},"borderColor":{"type":"string","default":"#000000","description":"CSS hex color for the border."},"shadowEnabled":{"type":"boolean","default":false,"description":"Apply a drop shadow to the image wrapper."},"shadowOffsetX":{"type":"string","default":"0px","description":"Shadow horizontal offset (e.g. 0px, 4px)."},"shadowOffsetY":{"type":"string","default":"4px","description":"Shadow vertical offset (e.g. 4px)."},"shadowBlur":{"type":"string","default":"12px","description":"Shadow blur radius (e.g. 12px)."},"shadowSpread":{"type":"string","default":"0px","description":"Shadow spread radius (e.g. 0px)."},"shadowColor":{"type":"string","default":"rgba(0,0,0,0.25)","description":"Shadow color (CSS color value, e.g. rgba(0,0,0,0.25))."},"controlslist":{"type":"string","default":"wiggle left right anaglyph","description":"Space-separated list of mode-switching buttons to show in the stereo-img viewer. Valid tokens: wiggle, left, right, anaglyph. Leave empty to show all controls (including VR). Only applies when stereo-img renders the output."}},"render":"file:.\/render.php","editorScript":"sterimvi-block-editor","style":"sterimvi-viewer","editorStyle":"sterimvi-editor"}},"tagged_versions":["1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3647715,"resolution":"1","location":"assets","locale":"","width":342,"height":1720},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3647715,"resolution":"2","location":"assets","locale":"","width":1454,"height":4457},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3647715,"resolution":"3","location":"assets","locale":"","width":120,"height":133}},"screenshots":{"1":"The Stereoscopic Image block selected in the editor, with the Source Image, Display, and Size &amp; Style panels open in the sidebar.","2":"The plugin settings page, showing site-wide defaults, the stereo-img load method, and the built-in shortcode reference.","3":"The Stereoscopic Image block as it appears in the block inserter."}},"plugin_section":[],"plugin_tags":[783,275740,275741,275739],"plugin_category":[],"plugin_contributors":[86357],"plugin_business_model":[],"class_list":["post-347763","plugin","type-plugin","status-publish","hentry","plugin_tags-3d","plugin_tags-anaglyph","plugin_tags-stereo","plugin_tags-stereoscopic","plugin_contributors-nductiv","plugin_committers-nductiv"],"banners":{"banner":"https:\/\/ps.w.org\/stereoscopic-image-viewer\/assets\/banner-772x250.png?rev=3647814","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/stereoscopic-image-viewer\/assets\/icon-128x128.png?rev=3647814","icon_2x":"https:\/\/ps.w.org\/stereoscopic-image-viewer\/assets\/icon-256x256.png?rev=3647814","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/stereoscopic-image-viewer\/assets\/screenshot-1.jpg?rev=3647715","caption":"The Stereoscopic Image block selected in the editor, with the Source Image, Display, and Size &amp; Style panels open in the sidebar."},{"src":"https:\/\/ps.w.org\/stereoscopic-image-viewer\/assets\/screenshot-2.jpg?rev=3647715","caption":"The plugin settings page, showing site-wide defaults, the stereo-img load method, and the built-in shortcode reference."},{"src":"https:\/\/ps.w.org\/stereoscopic-image-viewer\/assets\/screenshot-3.jpg?rev=3647715","caption":"The Stereoscopic Image block as it appears in the block inserter."}],"raw_content":"<!--section=description-->\n<p>Stereoscopic (3D) images rely on parallax \u2014 the difference between the left and right eye views of a scene. A stereoscopic image contains both views, which can be presented using coloured glasses, polarised glasses, VR headsets, or motion.<\/p>\n\n<p>Stereoscopic Image Viewer lets you display these images in WordPress pages and posts. Import an image into the media library, then place it with the block editor or a shortcode. Both let you declare the format of the source image and choose how it should be displayed \u2014 the plugin converts between them for you.<\/p>\n\n<p>The plugin ships with the <a href=\"https:\/\/github.com\/steren\/stereo-img\">stereo-img<\/a> web component bundled locally, so no external requests are made. Formats that stereo-img does not handle (anaglyph red-blue, interlaced, and anamorphic sources) are rendered by a custom Canvas 2D renderer included in the plugin.<\/p>\n\n<p><a href=\"https:\/\/apps.nductiv.com\/wp-stereoscopic-viewer\/\">Detailed examples and full documentation<\/a><\/p>\n\n<h4>Supported source formats<\/h4>\n\n<ul>\n<li>Side-by-side (left-right or right-left)<\/li>\n<li>Top-bottom (top-bottom or bottom-top)<\/li>\n<li>Anaglyph red-cyan<\/li>\n<li>Anaglyph red-blue<\/li>\n<li>Interlaced (row or column)<\/li>\n<li>Separate left\/right image pair<\/li>\n<li>Anamorphic (\"squeezed\") variants of side-by-side and top-bottom<\/li>\n<\/ul>\n\n<h4>Supported display modes<\/h4>\n\n<ul>\n<li>Anaglyph red-cyan (for red-cyan glasses)<\/li>\n<li>Anaglyph red-blue (for red-blue glasses)<\/li>\n<li>Wiggle (alternating left\/right, no glasses needed)<\/li>\n<li>Left eye only<\/li>\n<li>Right eye only<\/li>\n<li>Side-by-side<\/li>\n<li>Top-bottom<\/li>\n<li>Interlaced (row or column, for compatible displays)<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Gutenberg block with live Canvas-rendered preview and full InspectorControls<\/li>\n<li><code>[sterimvi_image]<\/code> shortcode for the classic editor and widget areas<\/li>\n<li>Settings page with site-wide defaults for every parameter<\/li>\n<li>Swap left\/right sources with a single toggle<\/li>\n<li>Control width (px, %, vw), border, and drop shadow per block<\/li>\n<li>Powered by the stereo-img web component for hardware-accelerated 3D rendering<\/li>\n<li>Custom Canvas 2D renderer handles the formats the web component does not support<\/li>\n<li>No external requests \u2014 the stereo-img library is bundled with the plugin by default<\/li>\n<\/ul>\n\n<h3>Shortcode Parameter Reference<\/h3>\n\n<p>All attributes are optional except <code>src<\/code>. Anything you omit falls back to the site-wide default configured on the settings page.<\/p>\n\n<h4>Source<\/h4>\n\n<ul>\n<li><code>src<\/code> \u2014 URL of the primary (or combined) source image. Required.<\/li>\n<li><code>src_right<\/code> \u2014 URL of the right-eye image. Required only when <code>source_format=\"pair\"<\/code>.<\/li>\n<li><code>source_format<\/code> \u2014 How the source image encodes both eyes. Default: <code>left-right<\/code>.\n\n<ul>\n<li><code>left-right<\/code> \u2014 Side-by-side, left eye on the left.<\/li>\n<li><code>top-bottom<\/code> \u2014 Top-bottom, left eye on top.<\/li>\n<li><code>anaglyph-rc<\/code> \u2014 Anaglyph red-cyan composite.<\/li>\n<li><code>anaglyph-rb<\/code> \u2014 Anaglyph red-blue composite.<\/li>\n<li><code>interlaced-row<\/code> \u2014 Row-interlaced (polarised display source).<\/li>\n<li><code>interlaced-col<\/code> \u2014 Column-interlaced.<\/li>\n<li><code>pair<\/code> \u2014 Two separate images (requires <code>src_right<\/code>).<\/li>\n<\/ul><\/li>\n<li><code>source_squeeze<\/code> \u2014 <code>1<\/code> if the source is anamorphic (half-width SBS or half-height TB). Default: <code>0<\/code>.<\/li>\n<\/ul>\n\n<h4>Display<\/h4>\n\n<ul>\n<li><code>display_mode<\/code> \u2014 How to present the image. Default: <code>anaglyph-rc<\/code>.\n\n<ul>\n<li><code>anaglyph-rc<\/code> \u2014 Red-cyan anaglyph (requires red-cyan glasses).<\/li>\n<li><code>anaglyph-rb<\/code> \u2014 Red-blue anaglyph (requires red-blue glasses).<\/li>\n<li><code>wiggle<\/code> \u2014 Alternating left\/right frames (no glasses needed).<\/li>\n<li><code>left<\/code> \u2014 Left eye only.<\/li>\n<li><code>right<\/code> \u2014 Right eye only.<\/li>\n<li><code>side-by-side<\/code> \u2014 Side-by-side composite output.<\/li>\n<li><code>top-bottom<\/code> \u2014 Top-bottom composite output.<\/li>\n<li><code>interlaced-row<\/code> \u2014 Row-interlaced output.<\/li>\n<li><code>interlaced-col<\/code> \u2014 Column-interlaced output.<\/li>\n<\/ul><\/li>\n<li><code>display_squeeze<\/code> \u2014 <code>1<\/code> to output as anamorphic (half-width SBS \/ half-height TB). Default: <code>0<\/code>. Only effective for <code>side-by-side<\/code> and <code>top-bottom<\/code> display modes.<\/li>\n<li><code>swap<\/code> \u2014 <code>1<\/code> to swap left and right eye sources. Default: <code>0<\/code>.<\/li>\n<li><code>controlslist<\/code> \u2014 Space-separated list of mode-switching buttons to show in the viewer. Default: <code>wiggle left right anaglyph<\/code>. Valid tokens: <code>wiggle<\/code>, <code>left<\/code>, <code>right<\/code>, <code>anaglyph<\/code>. Leave empty to show all controls (including VR). Only applies when the stereo-img renderer handles the output, i.e. not Canvas modes.<\/li>\n<\/ul>\n\n<h4>Size and style<\/h4>\n\n<ul>\n<li><code>width<\/code> \u2014 CSS width of the viewer. Accepts <code>px<\/code>, <code>%<\/code>, or <code>vw<\/code>. Default: <code>100%<\/code>. Example: <code>640px<\/code>.<\/li>\n<li><code>border<\/code> \u2014 <code>1<\/code> to show a border. Default: <code>0<\/code>.<\/li>\n<li><code>border_width<\/code> \u2014 Border thickness. Default: <code>1px<\/code>. Example: <code>2px<\/code>.<\/li>\n<li><code>border_color<\/code> \u2014 Hex border color. Default: <code>#000000<\/code>.<\/li>\n<li><code>shadow<\/code> \u2014 <code>1<\/code> to show a drop shadow. Default: <code>0<\/code>.<\/li>\n<li><code>shadow_offset_x<\/code> \u2014 Shadow horizontal offset. Default: <code>0px<\/code>. Negative values move the shadow left.<\/li>\n<li><code>shadow_offset_y<\/code> \u2014 Shadow vertical offset. Default: <code>4px<\/code>.<\/li>\n<li><code>shadow_blur<\/code> \u2014 Shadow blur radius. Default: <code>12px<\/code>.<\/li>\n<li><code>shadow_spread<\/code> \u2014 Shadow spread radius. Default: <code>0px<\/code>.<\/li>\n<li><code>shadow_color<\/code> \u2014 Shadow color (any CSS color). Default: <code>rgba(0,0,0,0.25)<\/code>.<\/li>\n<\/ul>\n\n<h3>Examples<\/h3>\n\n<h4>Side-by-side source, anaglyph output<\/h4>\n\n<p>The most common case: a photo taken with a 3D camera or phone that saves both eyes side-by-side in one JPEG.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<h4>Side-by-side source, wiggle output (no glasses needed)<\/h4>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"wiggle\"]\n<\/code><\/pre>\n\n<h4>Top-bottom source, anaglyph output<\/h4>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-tb.jpg\" source_format=\"top-bottom\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<h4>Anamorphic (half-width) side-by-side source<\/h4>\n\n<p>Some 3D cameras save a squeezed (HSBS) image where each eye occupies half the frame width. Use <code>source_squeeze=\"1\"<\/code> to unsqueeze it before rendering.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-hsbs.jpg\" source_format=\"left-right\" source_squeeze=\"1\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<h4>Anamorphic (half-height) top-bottom source<\/h4>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-htb.jpg\" source_format=\"top-bottom\" source_squeeze=\"1\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<h4>Separate left and right images<\/h4>\n\n<p>When you have two individual files \u2014 one per eye \u2014 use <code>source_format=\"pair\"<\/code> and provide both <code>src<\/code> and <code>src_right<\/code>.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/left.jpg\" src_right=\"https:\/\/example.com\/right.jpg\" source_format=\"pair\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<h4>Separate images, wiggle output<\/h4>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/left.jpg\" src_right=\"https:\/\/example.com\/right.jpg\" source_format=\"pair\" display_mode=\"wiggle\"]\n<\/code><\/pre>\n\n<h4>Sources are stored right-eye-first<\/h4>\n\n<p>If your side-by-side image has the right eye on the left, add <code>swap=\"1\"<\/code> to correct the eye order.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-rls.jpg\" source_format=\"left-right\" swap=\"1\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<h4>Anaglyph red-blue output<\/h4>\n\n<p>For viewers who only have red-blue (not red-cyan) glasses.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"anaglyph-rb\"]\n<\/code><\/pre>\n\n<h4>Side-by-side composite output<\/h4>\n\n<p>Useful for cross-eyed free-viewing or feeding into a VR headset app. The output image places the left eye on the left and the right eye on the right.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"side-by-side\" width=\"800px\"]\n<\/code><\/pre>\n\n<h4>Squeezed side-by-side output<\/h4>\n\n<p>Produces a half-width-per-eye (HSBS) output image suitable for players that expect that format.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"side-by-side\" display_squeeze=\"1\"]\n<\/code><\/pre>\n\n<h4>Anaglyph red-cyan source displayed as-is<\/h4>\n\n<p>If your source image is already an anaglyph red-cyan composite and you just want to display it, set both source and display to <code>anaglyph-rc<\/code>.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-anaglyph.jpg\" source_format=\"anaglyph-rc\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<h4>Row-interlaced source, anaglyph output<\/h4>\n\n<p>Row-interlaced images (common on polarised 3D monitor captures) can be decoded and re-displayed in any mode.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-interlaced.jpg\" source_format=\"interlaced-row\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<h4>Fixed width<\/h4>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"anaglyph-rc\" width=\"640px\"]\n<\/code><\/pre>\n\n<h4>Responsive width capped at 80% of viewport<\/h4>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"anaglyph-rc\" width=\"80vw\"]\n<\/code><\/pre>\n\n<h4>With border and drop shadow<\/h4>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"anaglyph-rc\" border=\"1\" border_width=\"2px\" border_color=\"#333333\" shadow=\"1\" shadow_offset_x=\"0px\" shadow_offset_y=\"6px\" shadow_blur=\"16px\" shadow_spread=\"0px\" shadow_color=\"rgba(0,0,0,0.35)\"]\n<\/code><\/pre>\n\n<h4>Limit which viewer control buttons appear<\/h4>\n\n<p>Show only the wiggle and anaglyph buttons; hide the left\/right-eye buttons.<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"anaglyph-rc\" controlslist=\"wiggle anaglyph\"]\n<\/code><\/pre>\n\n<p>Show no controls at all, so the viewer is static with no mode switching:<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"wiggle\" controlslist=\"\"]\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>stereoscopic-image-viewer<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Visit <strong>Stereoscopic<\/strong> in the admin menu to configure site-wide defaults.<\/li>\n<li>Add the <strong>Stereoscopic Image<\/strong> block in the block editor, or use the <code>[sterimvi_image]<\/code> shortcode.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20image%20formats%20are%20supported%3F\"><h3>What image formats are supported?<\/h3><\/dt>\n<dd><p>Any image format your browser supports: JPEG, PNG, WebP. Upload images through the standard WordPress media library.<\/p><\/dd>\n<dt id=\"do%20i%20need%20special%20glasses%3F\"><h3>Do I need special glasses?<\/h3><\/dt>\n<dd><p>It depends on the display mode you choose:<\/p>\n\n<ul>\n<li><strong>Anaglyph red-cyan<\/strong> \u2014 requires red-cyan 3D glasses<\/li>\n<li><strong>Anaglyph red-blue<\/strong> \u2014 requires red-blue 3D glasses<\/li>\n<li><strong>Wiggle<\/strong> \u2014 no glasses required (creates a 3D illusion through motion)<\/li>\n<li><strong>Left\/Right only<\/strong> \u2014 no glasses required (shows one eye's perspective only)<\/li>\n<\/ul><\/dd>\n<dt id=\"my%20images%20load%20from%20an%20external%20url%20and%20the%20anaglyph%2Finterlaced%20modes%20don%27t%20work.\"><h3>My images load from an external URL and the anaglyph\/interlaced modes don't work.<\/h3><\/dt>\n<dd><p>Anaglyph red-blue and interlaced rendering use the browser Canvas API, which requires images to be served from the same domain (or with CORS headers). Images in the WordPress media library are always same-origin and work correctly. External URLs may trigger a CORS error.<\/p><\/dd>\n<dt id=\"can%20i%20set%20different%20defaults%20for%20each%20image%3F\"><h3>Can I set different defaults for each image?<\/h3><\/dt>\n<dd><p>Yes. Every parameter can be overridden in the block's InspectorControls sidebar, or as an attribute on the shortcode. The settings page supplies the value used whenever a parameter is omitted.<\/p><\/dd>\n<dt id=\"where%20does%20the%20stereo-img%20script%20load%20from%3F\"><h3>Where does the stereo-img script load from?<\/h3><\/dt>\n<dd><p>By default the plugin serves the stereo-img web component, and its Three.js, exifr and parser dependencies, from a copy bundled inside the plugin at <code>assets\/vendor\/stereo-img\/<\/code>. No external requests are made and the viewer works offline.<\/p>\n\n<p>On the settings page you can switch the <strong>stereo-img Load Method<\/strong> to load from the external CDN at <code>https:\/\/stereo-img.steren.fr\/stereo-img.js<\/code>, or from a custom URL. Because stereo-img uses relative ES-module imports, a custom URL must point at a complete stereo-img release directory tree, not just the single JS file.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20the%20shortcode%3F\"><h3>How do I use the shortcode?<\/h3><\/dt>\n<dd><p>Basic example:<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/photo-sbs.jpg\" source_format=\"left-right\" display_mode=\"anaglyph-rc\"]\n<\/code><\/pre>\n\n<p>Separate left\/right image pair:<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/left.jpg\" src_right=\"https:\/\/example.com\/right.jpg\" source_format=\"pair\" display_mode=\"wiggle\"]\n<\/code><\/pre>\n\n<p>Anamorphic (half-width side-by-side) source displayed as red-cyan anaglyph, with border and shadow:<\/p>\n\n<pre><code>[sterimvi_image src=\"https:\/\/example.com\/hsbs.jpg\" source_format=\"left-right\" source_squeeze=\"1\" display_mode=\"anaglyph-rc\" border=\"1\" border_width=\"2px\" border_color=\"#222222\" shadow=\"1\" shadow_offset_x=\"0px\" shadow_offset_y=\"6px\" shadow_blur=\"16px\" shadow_spread=\"0px\" shadow_color=\"rgba(0,0,0,0.4)\"]\n<\/code><\/pre>\n\n<p>See the Shortcode Parameter Reference section below for every attribute.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Embed 3D stereoscopic images in posts and pages, with anaglyph, wiggle, side-by-side and interlaced viewing modes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/347763","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=347763"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nductiv"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=347763"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=347763"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=347763"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=347763"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=347763"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=347763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}