{"id":337267,"date":"2026-07-08T17:43:37","date_gmt":"2026-07-08T17:43:37","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/floorforge-3d-flooring-visualizer\/"},"modified":"2026-07-08T17:47:51","modified_gmt":"2026-07-08T17:47:51","slug":"tilvora-3d-flooring-visualizer","status":"publish","type":"plugin","link":"https:\/\/uk.wordpress.org\/plugins\/tilvora-3d-flooring-visualizer\/","author":23524053,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Tilvora - 3D Flooring Visualizer","header_author":"Noor E Alam","header_description":"Standalone 3D floor visualizer. Create visualizer projects, embed them anywhere with a shortcode, and receive quote requests with ease.","assets_banners_color":"bfae99","last_updated":"2026-07-08 17:47:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":54,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"noorealam","date":"2026-07-08 17:47:51"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3600626,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3600626,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[783,216082,191649,6039,5643],"plugin_category":[],"plugin_contributors":[270377],"plugin_business_model":[],"class_list":["post-337267","plugin","type-plugin","status-publish","hentry","plugin_tags-3d","plugin_tags-floor","plugin_tags-flooring","plugin_tags-tile","plugin_tags-visualizer","plugin_contributors-noorealam","plugin_committers-noorealam"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tilvora-3d-flooring-visualizer\/assets\/icon-128x128.png?rev=3600626","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Tilvora adds a full-screen, real-time 3D floor visualizer to any WordPress site \u2014 no WooCommerce required. Customers rotate, zoom, and customize their floor \u2014 choosing tile designs, material finishes, and surface patterns \u2014 and see every change rendered instantly in 3D.<\/p>\n\n<p><strong>Key features<\/strong><\/p>\n\n<ul>\n<li>Real-time 3D preview powered by a locally-bundled Three.js engine \u2014 no CDN calls, no external service required.<\/li>\n<li>Create unlimited Visualizer projects from WP Admin \u2192 Tilvora \u2192 Add New.<\/li>\n<li>Embed on any page or post using the <code>[tilvora id=\"X\"]<\/code> shortcode \u2014 outputs a \"Design Your Floor\" button.<\/li>\n<li>Built-in GLB Config Builder tool: drag in your own <code>.glb<\/code> 3D model, map its mesh names to tile\/material\/pattern controls, and export a ready-to-use configuration \u2014 no coding required.<\/li>\n<li>Materials Library (WP Admin \u2192 Tilvora \u2192 Materials Library) \u2014 a reusable catalog of tile and wallpaper materials. Fill in the specs already printed on a manufacturer's data sheet (name, SKU, image, physical dimensions, price) and the visualizer works out real-world repeat\/scale automatically. No Three.js, UV, or JSON editing required.<\/li>\n<li>Quote request modal \u2014 customers fill in their name, email, room dimensions (with automatic +10% waste calculation), and notes. The quote is emailed to the site admin and a confirmation is sent to the customer.<\/li>\n<li>Admin Quote Inbox (WP Admin \u2192 Tilvora \u2192 Quote Inbox) \u2014 every submitted quote is stored in a dedicated database table, listed with sortable columns and status tabs, and viewable in a detail card. Status can be set to New \/ Replied \/ Completed inline (with or without JavaScript).<\/li>\n<li>Live price breakdown \u2014 each tile design or finish option can carry its own price modifier, totalled automatically.<\/li>\n<li>Light\/dark theme toggle, mobile-friendly bottom-sheet panel, PNG export of the final design.<\/li>\n<li>UI label overrides per project (brand name, button labels, etc.) via the Config JSON.<\/li>\n<li>Works with any GLB model exported from Blender or similar \u2014 not hardcoded to one mesh or product.<\/li>\n<\/ul>\n\n<p><strong>No WooCommerce dependency.<\/strong> The plugin works on any WordPress site.<\/p>\n\n<h4>Privacy \/ Third-Party Services<\/h4>\n\n<p>Tilvora makes no calls to any third-party service, CDN, or analytics endpoint. The 3D engine (Three.js r169) and Draco JS decoder are bundled locally with the plugin and served entirely from your own server. Quote requests are delivered via <code>wp_mail()<\/code> using your site's configured email. No data is sent to any external party.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Tilvora does not connect to, send data to, or load resources from any third-party or external service. The 3D engine (Three.js) and its Draco JS decoder are bundled with the plugin and served entirely from your own site \u2014 there is no CDN dependency and no outbound network call of any kind. Quote form submissions are sent via <code>wp_mail()<\/code> to your own site's admin address.<\/p>\n\n<h3>Third-party libraries<\/h3>\n\n<ul>\n<li><strong>Three.js r169<\/strong> \u2014 MIT License. Bundled in <code>assets\/js\/three\/<\/code>. Source: threejs.org<\/li>\n<li><strong>Three.js GLTFLoader<\/strong> \u2014 MIT License. Bundled in <code>assets\/js\/three\/examples\/jsm\/loaders\/<\/code>.<\/li>\n<li><strong>Three.js DRACOLoader<\/strong> \u2014 MIT License. Bundled in <code>assets\/js\/three\/examples\/jsm\/loaders\/<\/code>.<\/li>\n<li><strong>Three.js OrbitControls<\/strong> \u2014 MIT License. Bundled in <code>assets\/js\/three\/examples\/jsm\/controls\/<\/code>.<\/li>\n<li><strong>Google Draco JS decoder<\/strong> \u2014 Apache 2.0 License. Bundled in <code>assets\/js\/three\/examples\/jsm\/libs\/draco\/<\/code>. JS-only build; the WebAssembly binary is not included.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install directly through Plugins \u2192 Add New.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to WP Admin \u2192 <strong>Tilvora<\/strong> \u2192 <strong>Add New<\/strong>.<\/li>\n<li>Give the project a title, optionally upload a <code>.glb<\/code> 3D floor model and a Config JSON, then <strong>Publish<\/strong>.<\/li>\n<li>Copy the shortcode shown in the metabox (e.g. <code>[tilvora id=\"42\"]<\/code>) and paste it into any page or post to add a \"Design Your Floor\" button.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20woocommerce%3F\"><h3>Does this require WooCommerce?<\/h3><\/dt>\n<dd><p>No. Tilvora is fully standalone \u2014 it works on any WordPress site.<\/p><\/dd>\n<dt id=\"does%20this%20load%20anything%20from%20a%20cdn%3F\"><h3>Does this load anything from a CDN?<\/h3><\/dt>\n<dd><p>No. Three.js and the Draco decoder are bundled locally with the plugin and served from your own site.<\/p><\/dd>\n<dt id=\"how%20do%20customers%20request%20a%20quote%3F\"><h3>How do customers request a quote?<\/h3><\/dt>\n<dd><p>Clicking \"Get a Quote\" in the visualizer opens a modal where the customer enters their details, room dimensions, and notes. The quote is sent to the admin email, a confirmation is sent to the customer, and the quote is stored in WP Admin \u2192 Tilvora \u2192 Quote Inbox.<\/p><\/dd>\n<dt id=\"where%20do%20i%20manage%20incoming%20quotes%3F\"><h3>Where do I manage incoming quotes?<\/h3><\/dt>\n<dd><p>WP Admin \u2192 Tilvora \u2192 Quote Inbox. Each quote shows the customer's contact details, tile and finish selection, room dimensions, and notes. You can set the status to New, Replied, or Completed and use bulk actions to manage multiple quotes at once.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20customer%27s%20browser%20doesn%27t%20support%20webgl%3F\"><h3>What happens if a customer's browser doesn't support WebGL?<\/h3><\/dt>\n<dd><p>The visualizer requires WebGL (standard in all modern browsers). On unsupported browsers the loader shows a friendly error instead of a blank screen.<\/p><\/dd>\n<dt id=\"can%20i%20have%20multiple%20different%20floor%20visualizers%20on%20one%20site%3F\"><h3>Can I have multiple different floor visualizers on one site?<\/h3><\/dt>\n<dd><p>Yes \u2014 each Visualizer project (WP Admin \u2192 Tilvora \u2192 Add New) is independent, with its own model, config, and shortcode.<\/p><\/dd>\n<dt id=\"what%20is%20the%20materials%20library%3F\"><h3>What is the Materials Library?<\/h3><\/dt>\n<dd><p>A reusable catalog of tile and wallpaper materials (WP Admin \u2192 Tilvora \u2192 Materials Library). Add a material once \u2014 with its name, SKU, image, physical dimensions, and price \u2014 and reuse it across any number of Visualizer projects; the real-world scale is calculated automatically from the dimensions you enter.<\/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":"Standalone 3D floor visualizer. Create visualizer projects, embed them anywhere with a shortcode, and receive quote requests by email.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337267"}],"author":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/noorealam"}],"wp:attachment":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337267"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337267"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337267"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337267"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337267"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}