Blocks vs Components: Why the Rebrand Was Small
MapleSprite kept durable components and rewrote disposable blocks, which is why the product identity changed without rebuilding the SaaS chassis.
MapleSprite changed identity without replacing the chassis because the template draws one useful boundary:
A block decides product meaning. A component renders a shape.
Blocks carry intent
src/blocks/hero.tsx, features.tsx, pricing.tsx, and footer.tsx now speak MapleSprite. They read Paraglide messages, choose product imagery, and assemble the page.
That is where a rebrand belongs.
Components stay durable
src/components/site-header.tsx, pricing-table.tsx, and the shadcn primitives do not know the old prototype or the PSD compiler. They render props, state, and layout.
That is why they survive the change.
The rule
If a file knows the product story, it can be rewritten. If it knows only how to render a reusable interface, keep it boring and stable.
This is not aesthetics. It is how MapleSprite can reintroduce the compiler later without tangling it with navigation, pricing cards, or marketing copy.