NOVA ROSE
A WooCommerce storefront in rose whose bundle savings are summed from the products at render time, and which prints no rating it cannot back with a review. The background is a hand-written WebGL2 field — domain-warped fBm across 5 octaves and 3 colour stops, DPR-aware and context-loss safe — running on a classic PHP theme with no build step. Built on WooCommerce 8.0+ with self-hosted Bricolage Grotesque, Manrope, and Space Mono type and zero third-party JavaScript, for shop owners who want honest numbers over inflated social proof.
Open live preview ↗
Overview
NOVA ROSE is a WooCommerce storefront for people who sell objects worth photographing — desk hardware, small goods, anything where the difference between two versions of the same thing is in the detail.
WooCommerce owns the commerce. All of it.
The cart, coupons and their limits, tax, shipping zones, the checkout, payment gateways, orders, stock and customer accounts are WooCommerce’s. This theme styles them and never reimplements them — including Woo’s own AJAX add-to-cart, whose classes are appended to rather than replaced. Every plugin that expects Woo’s hooks still works.
Bundles that cannot lie
A bundle stores one number: its own price. The list total is summed from its member products when the page is drawn, and the saving is the difference. Reprice a keyboard and every bundle containing one corrects itself. A bundle can never show a saving that disagrees with the prices on the product pages, because there is nothing left to disagree with.
Nothing on this shop is invented
- No star rating on a product with no reviews — ratings appear when WooCommerce has reviews to count, and not before.
- No struck-through price the shop never charged.
- No countdown, no “seven people are looking at this”, no invented stock figure.
- No analytics, no advertising pixel, no third-party font. The front end loads no third-party script of any kind.
The field
A persistent WebGL2 background — five octaves of domain-warped gradient noise resolved through three colour stops, drawn at device pixel ratio. Five moods ship with it, and the mood is a query argument rather than a cookie, so a link arrives in the colour it was sent in and each mood is its own cacheable URL. It stops entirely under prefers-reduced-motion, pauses when the tab is hidden, recovers from context loss, and falls back to a painted gradient where WebGL2 is unavailable. Its density and speed are Customizer settings — not sliders pointed at the shopper.
Also included
- Comparison tray (four products) and a comparison table whose rows are the union of what the selected products actually declare — no column of dashes when you compare a keyboard with a lamp.
- Wishlist kept in the browser, with cards rendered on the server so a saved product never shows a stale price.
- Stock chips in four states, each carrying a shape as well as a colour.
- Journal, pages, search, 404, comments, RTL stylesheet, translation template, and an idempotent demo importer that builds the whole shop including three menus.
What's included
- Full theme source — every template, style sheet & script
- One-click demo importer (idempotent, no page builder)
- Live Customizer controls for copy, colours & content
- Translation-ready .pot file + RTL stylesheet
- HTML documentation + a CHANGELOG file
- Lifetime updates + 6 months support (renewable)
Specifications
| WordPress | 5.6 – 7.0 |
|---|---|
| PHP | 8.0 – 8.3 |
| Browsers | Chrome, Firefox, Safari, Edge (latest) |
| Layout | Fully responsive, mobile → desktop |
| Localization | Translation-ready · RTL included |
| Accessibility | Keyboard-navigable · prefers-reduced-motion |
| Page builder | Not required — native Customizer |
| License | GNU GPL v2 · single-site commercial |
Release
The complete, dated version history ships in the theme’s CHANGELOG file. Every purchase includes lifetime access to future updates.