Skip to content

Mobster 0.2.0

Choose a tag to compare

@tingham tingham released this 17 Sep 15:20
· 3 commits to main since this release
d7468cf

Guides can be meshes. A construction is rendered and its paths are extracted from what was rendered, rather than plotted analytically in Swift — so a new guide can be an asset instead of a cut.

let guide = Guide(frame: frame)
try guide.initialize(source: .mesh(figure.mesh(in: frame), device: device),
                     frame: frame, adhesion: 0.4, duration: 1,
                     settleEpsilon: 1, budget: budget)
let moved = guide.evaluate(lines, at: t)

The mesh source

Rendered opaque with depth into an offscreen target where every fragment carries the identity of its component. Boundaries are where adjacent identities differ. Two things fall out:

Occlusion is free — the far arm loses the depth test, and there is no hidden line removal to write.

Interior seams come for nothing — where an upper arm's identity meets a forearm's is a boundary though it sits nowhere near the silhouette, and that seam is the construction line. A guide from silhouette alone is an outline; from identities it is a construction.

Identity marks structure rather than tessellation: a cube's six faces are six identities, a cylinder of eight facets is one, and subdivision never multiplies them. A component divided at its middle places a cross section, so a limb's mid slice and its joint seam are the same mechanism. Every meeting of a pair of components is its own path; only a run shorter than three fragments is dropped.

Whiplash fits and decimates — the first dependency, stateless as this is.

Perspective

A field of view opening at sixty degrees, the cone of vision a drawing stays inside before it reads as distorted. Viewing distance is derived from the field and the construction's bounds, so the field is the only dial and the construction always fits.

Presets

Cube — the box a figure or object is built inside. Positioned, sized, turned.

Head — the Loomis construction as a mesh, pointing at a target rather than taking a view angle, with roll, and its tilt held within forty five degrees of level so a basis can always be derived.

Figure — renamed from Ashcan. Proportion from Loomis 1943, measured off the plates rather than recalled. Two bone inverse kinematics from four targets; elbows back and knees forward anatomically rather than by control. Hands, feet, head break lines, and five named poses.

Grid joins Golden Ratio, Thirds, Columns, Rows and Ruler.

The plot mode is gone

How a preset answers a Frame is a property of what that preset is, so the consumer is not asked. Frame relative presets take the Frame as their design rectangle, Golden Ratio covers it, Head and Figure fit inside it with their proportions intact.

What is not here

Torso and pelvis depth could not be sourced — Loomis prints front views, so every width in that canon was measured and no depth was. Both are circular in section, which overstates a real pelvis by roughly forty percent. It is the only construction in the figure adding no sourced number, and a wrong canon would have been worse than an absent one.

Verification

311 tests. Six reconciliations and a documentation audit in Documentation/Reviews/.