From the studio

Notes & process.

A place for observations,
experiments and practical 3D notes.

protected page vs public asset url

Share a 3D product review link with clear access and retention rules

Define the audience and lifetime of a review link before uploading the product asset. A hard-to-guess URL is not equivalent to authenticated access, and a login on the review page does not protect an independently public model URL.

By Khaled Mansour
animation pointer emissive indicator sequence hero

Animate glTF material properties with KHR_animation_pointer

Use KHR_animation_pointer only after checking the exact property and runtime path you need. The extension makes additional property animation possible, but it does not turn every material setting into a universally portable animation.

By Khaled Mansour
silent ignore vs explicit fallback

Handle unsupported glTF extensions with explicit fallbacks

Check the asset's extension requirements against the deployed rendering path before presenting it as a complete product. A valid file can depend on a feature the application does not implement. A loader warning is not an adequate customer-facing policy.

By Khaled Mansour
saved reference vs accumulated drift

Build an interactive exploded product view with reversible part positions

Store the assembled transforms before moving any parts. Build the exploded state from that saved reference rather than adding offsets repeatedly to the current positions. This prevents accumulated drift when the user opens, closes, or interrupts the view.

By Khaled Mansour
whole product scaling vs body only

Model size and module options without stretching product details

Do not scale the whole product when only one dimension is meant to change. Uniform or axis-specific scaling can stretch handles, holes, labels, and wall thickness along with the body. Define which regions vary and which retain their physical dimensions.

By Khaled Mansour
Explore the work behind the notes. View projects ↗