Commit Graph
5 Commits
Author SHA1 Message Date
adminandClaude Fable 5 5dbdc0e6b2 Add Picture Texture field to PictureFrameBuilder
Assigned texture drives the picture material BaseMap via a per-frame
material instance (asset untouched, frames sharing a material stay
independent) and takes priority for aspect resolution. New default
picture material Frame Picture.mat wired in the script defaults.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 07:53:54 +02:00
adminandClaude Fable 5 6a15a68a2e Make picture frame properties relative and fix picture aspect ratio
Frame thickness, corner radius, padding, inner depth and picture depth
are now normalized factors (scale with Size, no dead clamp zones).
Picture aspect is computed inside-out so padding and frame thickness
no longer distort the image. New Frame Inner.mat as inner default.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 21:32:19 +02:00
adminandClaude Fable 5 850c92bcce Derive picture frame size from picture texture aspect ratio
Replace Width/Height with a single Size (longer side); the shorter side
follows the picture material's base map source-image aspect (editor-
resolved, serialized for builds, 1:1 fallback). Add Range attributes on
all frame parameters and default material references (new Frame.mat).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:33:18 +02:00
adminandClaude Fable 5 5c6657d9d0 PictureFrameBuilder: auto box colliders + coalesced rebuild in Update
Rebuild now runs once per frame via ExecuteAlways Update (OnValidate only
sets a dirty flag + QueuePlayerLoopUpdate), fixing inspector drag stutter
from stacked delayCalls. Adds automatic BoxCollider generation (4 frame
bars, opening slab, optional pedestal box for raised pictures) with an
ownership list so manual colliders stay untouched. Corner radius is
intentionally ignored for colliders.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:07:54 +02:00
adminandClaude Fable 5 210d0adc3e Add PictureFrameBuilder procedural picture frame component
Editor-tunable frame mesh: sliced scaling (constant profile), 4 material
submeshes (picture/interior/frame/back), padding, frame thickness/depth,
rounded outer edges (quarter-cylinder strips + eighth-sphere corner caps).
Frame Inner Depth sets the interior plane; Picture Depth is relative to it
(positive = recessed, negative = raised pedestal) with auto perimeter walls.
Meshes are per-instance, DontSave, rebuilt in OnEnable/OnValidate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:19:59 +02:00