← All implementations
EDUCATION / INTERACTIVE 3DLive

Growing, explained.

Understand the system. Then grow with it.

hydroponics.how + aquaponics.how
Hydroponics.how ↗Aquaponics.how ↗
Hydroponics.how’s nutrient film technique guide with its actual 3D cutaway system and component notes.
A static capture of the nutrient film system in cutaway view, alongside its component notes.

Two publications make the mechanics of growing visible. Readers can inspect a system, follow its water path, and connect each component to the practical work of running it.

The problem

A flat diagram can hide the connections that matter. Interactive teaching needs to show how a system fits together while remaining useful on a small screen or without WebGL.

The implementation

Detailed guides are paired with assembled, cutaway, and exploded system views. Calculators show their assumptions; static diagrams and complete lesson text remain available without the 3D engine.

  • Hydroponics.how and Aquaponics.how field-guide libraries
  • Nine interactive system models with cutaway and exploded views
  • Eight calculation and comparison tools, plus publisher controls
01Resolve the publication02Read the field guide03Inspect the system04Compare assumptions
02 / ENGINEERING DECISIONS

Where the details matter.

01

Two publications, one application

A host resolver selects the correct publication and canonical origin. The forwarding domain preserves paths and query strings.

02

The guide works before WebGL

Complete reading content is prerendered. Interactive system models enhance the lesson; they are not the only way to understand it.

03

Separate publishing controls from reading

Affiliate placements and sponsorship settings live behind publisher access. Public pages remain fast and readable without requiring a visitor account.

03 / PACKAGES & CODE

Inside the implementation.

Preflight runs shared Vapor and production-security checks alongside publication-specific checks for encrypted sessions, indexing and publisher storage. SiteCredit adds the common BWD attribution outside the React hydration root. Publication routing and educational models remain application code.

APPLICATION EXCERPT

Select the publication from the host

The application uses an explicit host map. It rejects unknown publications and local-only hostnames in production.

app/Http/Middleware/ResolveGrowingHost.phpPHP
$host = strtolower($request->getHost());
// Dotted host keys must be looked up as array keys, not config dot paths.
$site = config('growing.hosts')[$host] ?? null;
abort_unless($site, 421, 'This host is not configured for this publication.');
if (app()->environment('production') && $site['environment'] === 'local') abort(421);
Application source excerpt · lines 12–16. Surrounding setup is omitted.
APPLICATION EXCERPT

Compose publication checks with shared security checks

The same release script always checks the Vapor manifest, then adds production configuration and publication rules when the runtime profile is requested. Required assets and prerendered pages are checked separately.

Preflight package ↗
scripts/vapor-preflight.phpPHP
if(in_array('--production-runtime', $argv, true)){
 $checks[] = app(ProductionConfiguration::class);
 $checks[] = new PublicationRuntime;
}
foreach ((new Runner)->run($checks) as $result) if ($result->status === 'fail') $errors[] = $result->name.': '.$result->message;
Source excerpt · c7fe830 · lines 21–25. The checks list starts with new VaporManifest($manifest).
APPLICATION EXCERPT

One shared attribution component

The site keeps its own copyright. SiteCredit adds the standard BWD attribution after it, using isolated styles bundled with the application.

SiteCredit package ↗
resources/views/library.blade.phpBlade
<x-site-credit />
Actual component call. The shared stylesheet is included separately in the application build.
04 / VERIFICATION & CURRENT SCOPE

What holds it together.

  • Host resolution rejects unconfigured hosts and local hostnames in production.
  • System captures show the actual models; this portfolio does not run their 3D engine.
  • Calculators expose assumptions and reject invalid inputs.
  • Shared Preflight checks and publication-specific requirements are tested through offline CLI success and failure paths.
CURRENT RELEASE

Hydro.how is the companion forwarding domain. Educational content does not claim independent specialist review.

KEEP EXPLORING

SinfulSmoke

Designed, Developed and Hosted by Better Web Design and Development Services, LLC