Play · body · Play · mouse · Catalogue

018 · Painted ground

The camera render leads the painting. One continuous terrain surface carries it through the clearing. 017 remains the previous checkpoint.

Wide glide with a little paddle · current default

The selected travelling direction is now Wide glide · gentle paddle: retain the wide, palm-down stance, add a restrained alternating sweep (about one-third of the full paddle travel), and keep a small shared bob. The earlier pure glide, full paddle, tucked palms and upright escort remain selectable.

At rest the fingers slowly curl and relax in sequence, with a smaller thumb response. While inspecting nearby scenery, a stronger staggered ripple suggests feeling around the surface. Movement cancels inspection; gripping and pinning override finger fidgets. Both imported figures and the procedural checkpoint share these curl values. This remains a proximity animation, without exact fingertip contact or collision solving.

Live hand comparison now includes Inspect nearby stone, alongside Idle, Run and Working grip. Checked both imported rigs’ actual finger joints changing during idle/inspection, immediate cancellation on travel, and uniform held curl when gripping. Travel orientation/transition checks, TypeScript and the core algebra/pose checks pass.

Wide spacing with a restrained alternating sweep.
Individual finger movement while inspecting a nearby stone.

Mist and the dimensional sigils

The raised and layered sigils are real beveled meshes attached to tree nodes, with camera-facing orientation. Their depth testing and depth writes are deliberately disabled for readability. The old badges are sprites. The perimeter mist previously read terrain depth behind these depth-free graphics and incorrectly applied that terrain’s fog to their colors.

The scene now renders the world, composites its mist while restoring its depth, then draws the interaction layer: sigils and their glow, ribbon, tool hands, and guides in their established order. Hands still test against world depth. These interaction graphics deliberately remain clear of perimeter mist; this is a legibility policy, not volumetric fog passing physically through glyphs. Clear mode retains ordinary single-pass rendering. The existing render target is reused; no extra full-screen texture is allocated.

mist-overlay-check.cjs checks actual rendered pixels: glyph/hand/guide colors remain identical with strong fog, a hand behind solid scenery stays occluded, background mist remains visible, and switching mist off restores the clear render. Live raised/layered/legacy selection, grip and intermediate motion were inspected. TypeScript, algebra/pose tests, production build and the complete mixed mouse/body simplification pass succeeded.

Deliberately strong mist: readable operator settings, held glow and ribbon.
Mid-drag, with mouse direction guides retained above the sigils.

Hands in motion · three live concepts

Open the start/run/stop comparison. The same options are in Inspect → Appearance → Traveller → Travelling hands. Both imported figures and the previous procedural figure use the same controller.

Brief steps do not trigger the full pose. Sustained speed blends it in over roughly a second; stopping returns to rest. Contacts, bracing and pulling override travelling hands. Idle prop exploration is retained. These are visual motion studies, not forces acting on the character; hand/environment collision avoidance is still not implemented.

Tucked palms · three-quarter view.
Alternating paddle · one phase of the sweep.
Wide glide.
Original upright escort.

Checked both figures, side and three-quarter views, all four poses, stop and grip override. Sampled palm orientation, anatomical sides and stride-loop continuity. The close-up loop and current game use identical hand geometry and pose code.

Camera framing follows interaction mode

Manual zoom is retained while walking, even inside the tree circle. Pressing Space to enter body interaction enables the slow tree-fit adjustment; Escape stops it at its current zoom. In mouse mode, fitting runs during a drag and its settling animation. Mere proximity or hovering does not enable it. Checked manual zoom retention, explicit entry, gradual outward fit and exit.

Mist range and readable settings

Texture now spans 0–4, with stronger contrast between clear gaps and banks. Drift spans 0–12 and its base speed is roughly three times the initial experiment. Defaults are texture 1 and drift 2; zero still means an even wash or frozen pattern respectively. At the upper end these are deliberately exaggerated exploration controls.

Every range slider has a live numeric readout. Inspect → Appearance → Settings snapshot captures current slider/select values and the equipped-rule checkboxes as JSON, copies it when browser permissions allow, and keeps the captured text in local storage. It records interface settings, not a saved game or camera pose; loading the page does not automatically apply the snapshot. The live in-app browser's accessibility controls also expose their values, so they can be inspected on request.

Texture 4, drift paused.
Texture 4, drift 8: approximately 2.5 seconds later.

Verified 16 numeric readouts, capture of 35 named controls, retained snapshot after reload, shader extremes and moving texture without browser errors.

Drifting perimeter mist · experiment

A soft, irregular fade begins around the boulders and drifts slowly across the outer terrain. The tree's working area stays clear. Compare or adjust it in Inspect → Appearance → Surroundings; setting drift to zero freezes it. This is a depth-based atmospheric wash, not volumetric scattering.

Clear view.
Default mist: a feathered perimeter with broad moving texture.

The desktop comparison remained around 60 fps with one additional compositing draw. The effect also uses an offscreen color/depth target; its memory cost grows with viewport size. Mouse/body playthrough and orbit inspection passed.

Original corner marks

The closed docks now use stone-gray SVG marks: Parting for Encounter, Rootwork for Rewrite, and Strata for Inspect. Browse all twelve symbols and choose alternatives. Assignments are saved in this browser and update open scene tabs immediately. Hover titles and accessible button labels retain the panel names. The title uses lighter sans-serif lettering in muted lichen gray beneath the brighter NOOL / GROW label; its subtitle is removed. Iteration 018 and Painted ground remain the current name.

Matte correction · original terrain scale

V5 was too coarse and spread the same pixel count across too much terrain. The central painting now uses a paths-only edit of V4 at its original projection scale. Extra margin is supplied separately; it no longer enlarges the central hills or ground marks. A high-resolution registered overscan is still an art need.

Restored fine terrain scale, with dirt paths.
Taller regrouped form: a separate provisional margin supplies extra coverage.

Current central plate (1671×941) · Built-in imagegen prompt.

Dirt paths · running · curious hands

Fresh terrain-only painting projected through the wider authoring camera. Worn paths use the gaps between actual foreground rocks.

The glowing path tubes and temporary painting stretch are removed. The new image has freshly painted surrounding margin. The generator returned 1672×941 despite a 4K request; a true higher-resolution source remains desirable for close views. Exact generation prompt · Camera/rock placement guide.

Landscape travel now runs at 3.2 units/s, with a steadier pelvis, alternating leg cycle, brief flight phase and shoulder/elbow swing. Tree pulls stay slow. Compare both figures' run and pull poses. This is procedural animation on the current assets; cloth collision and terrain foot IK are still future work.

One idle hand inspects a nearby prop. Moving or interacting returns it promptly to its working/escort role.

Slow camera return · extended matte

The camera now eases in both directions over several seconds, returning toward your chosen zoom when the tree needs less room. The outer painting now has a temporary 1.10× enlargement, blended into the unchanged central clearing. The previous 1.55× enlargement was rejected as excessive; the screenshots below retain that earlier comparison. This covers the tested wider frame, with some peripheral texture stretching while new artwork is in progress.

Taller regrouped tree, camera eased outward.
Undo restores the smaller form; camera eases inward again.

Associativity · connected junction exchange

Fixed a correspondence error that sent a surviving plus off its junction and snapped it back at release. Regrouping now retains its incoming support and the connector between the two exchanging pluses. Transferring branches follow the curved wood, including inside a larger tree. The existing P/Q exchange and guide controls remain.

Nested regrouping halfway through: the subtree remains attached to the root.
Root regrouping halfway through: ground support follows the exchanging junctions.

Checked 30 reachable regroupings across 1,200 sampled poses, and seven actual mouse gestures in both directions. Endpoint layouts and sigil positions agree; all sampled members stay connected. The complete simplification route also passes with mouse and body input. Intermediate junction shapes remain an artistic refinement opportunity.

Current · longer stride and clearer contact

The existing leg rig now follows longer foot paths, at about half the prior cadence. A two-link solve keeps the support leg near extension, the stance ankle grounded and swing clearance low. Torso lean is separate from the legs, with a regression check against accumulating offsets. This is a flat-ground gait; terrain adaptation, polished arm motion and full cloth collision are still future work.

Longer stride on the existing mesh and skeleton.
Another sampled phase. Authored cloth motion remains with extra front-panel clearance.

The hood's garment connection now follows its authored fabric material in every palette. The previous name filter accidentally treated “garment” as containing an arm. Figure names in the UI are now Wrap traveller and Cape traveller; both start yellow.

Working hand moved farther camera-left; the held sigil and brighter ribbon share a cyan glow. Ground cast shadows are off here.

Body mode starts with colored targets and no connecting paths; mouse mode retains paths. Targets have a soft tinted halo instead of a white rim. The glow identifies the source; paths remain an available comparison for ambiguous routes. Glow is a visual halo/emissive treatment, not light cast onto the terrain.

Body-mode targets.
Mouse-mode paths remain maintained.

Inspect → Surroundings has a ground-shadow On/Off comparison. Off is the default. The painting already contains shadows; these are not removed by disabling dynamic shadow reception. Object self-shadowing remains. Lateral pulls and between-contact shuffles are slower again.

Verified: both complete interaction routes, borderless targets, retained mouse paths, no glow hit-test interference, bounded repeated body lean, leg lengths and stance contact, and the shadow comparison. Earlier sections below preserve the preceding iterations.

Current revision · grounded workshop

Hover is disabled. Both travellers now use retimed walking, with restrained loaded steps and quicker side shuffles. The source walk can be accelerated in code; dedicated directional clips and terrain-aware foot planting would still improve it.

A pull now needs about 39% of the previous body travel. Smaller arrow-key impulses prevent the old initial lurch; between grips, the figure can step back toward a comfortable working distance. Automatic steps stop immediately when you grip, settle or pin. The six-operation body-only route stayed 2.50–3.30 units from the tree.

Yellow raincoat palette, grounded pull, thinner ghost ribbon. Ribbon is above the glyphs and below the hands, and can be switched off.
Olive cape in the red/plum palette. Original, cyan and green variants are also available.

Three corner docks start collapsed. Encounter holds controls, expression and help. Rewrite holds selection and Noolbox. Inspect holds appearance and performance statistics. Palette and movement adjustments live under Inspect → Appearance. Stats reports rolling frame intervals, draw calls, rendered triangles, geometry/texture counts and worker rebuild time. It does not measure GPU duration or memory bytes.

Expanded developer docks: fixed placement, independent scroll areas, no selection-driven popups. Small windows keep only one dock expanded.

Validation: grounded movement, bounded velocity, palettes, non-overlapping docks, stats, mouse/body completion and a complete six-rewrite body-only run. Retained implementation and test details are in README.md. Earlier hover material below records the initial asset integration and is superseded by this revision.

Art handoff 01 · two travellers

Appearance → Traveller selects Blue wrap, Olive cape, or the previous figure checkpoint. Both bodies and their articulated floating hands now work with the existing encounter. Switching keeps the expression, position and interaction state.

Open the close-up rig review to inspect both figures from front, side and back, with slow steps, hovering travel, working grip and a reserve pin.

Blue wrap. Cel body, soft articulated hands.
Olive cape. Same controller and anatomical hand mapping.
Blue in the actual clearing, right-hand pull and wrist ribbon.
Olive using the same encounter and contacts.

Both figures passed the full six-rewrite sequence with real mouse and body input, goal exit/re-entry, stable switching, pins and ribbon checks. The asset labels for hovering Left/Right were remapped anatomically using local X and inward thumbs.

What still needs asset work

Source GLBs, their handoff and a detailed INTEGRATION.md are retained in this study's assets/avatars folder. The previous procedural figure remains available for comparison.

The paint-over loop

First actual-camera blockout, with foreground for context.
First composite: the circular seam is gone; clipping and outer paint boundaries still need work.
Wider authoring render after correcting clipping and near-side terrain.
Second paint pass applied to actual terrain, including the ground beneath the character.

Saved paintings: first pass and current wider pass. The full prompts are retained with v3 and v4; both used built-in imagegen. The painting is projected onto one static 32,768-triangle mesh. Large orbits remain a limitation of a single projection. Painted mode keeps zoom-out within the authored view and disables panning; Appearance has Reset framing and a terrain-blockout comparison.

Framing checks

Closer view after the final rewrite.
Narrower, taller viewport: foreground and ground share the same crop.
Zoom-out limit keeps the painting's boundary out of the authored view.
Moderate orbit: ground and hills move with the scene. Extreme orbits are not a finished environment.

Raised signs

Freestanding extruded atoms, metal settings for operators. Hands remain above the signs.
The five-node goal, re-entered after automatic release.
Alternate separate settings behind the atom glyphs.

Catch and release · revised

Once a route is chosen, near-completion (82% along its motion) settles into the finished pose. Sideways input cannot veto that state. Retreat below 55% reverses it. Both identity eliminations passed actual input tests at 84% progress with a 100px lateral offset. The former diamond and correction cues are removed.

Earlier behind-sigil variation, since rejected as too hard to see. Live guides are back in front; the diamond and correction line remain removed.

Space enters; arrows select; subsequent Space holds grip; arrows pull; release settles; Escape cancels/leaves. An unfinished tree stays engaged outside the approach ring. On entering the goal, the final motion settles and control returns to walking. Space reaches back in. Both addition and multiplication may be commuted in the goal.

The browser check completed all six rewrites with actual input, including a final body pull, and verified exit and re-entry. Zoom still changes the amount of walking needed because the present input mapping uses screen pixels. Rope tension, push/pull, ground gesture guides, world rule pickups and richer two-hand constraints remain in the project roadmap.

Pull stance and hands

The working hand is now anatomically right; the left rests unless pinned. Thumbs and palm direction follow the body. Pulling keeps the character facing the tree, with shorter steps, mild resistance and fingers/thumb closing on the sigil.

Resting hands from the front: inward thumbs and body-relative sides.
Actual body pull while backing away: still facing the tree, right hand engaged.

Movement currently controls a screen-direction cursor, whose position drives progress on one chosen rewrite path. A damped spring delays the tree pose. This does not yet compute rope length or tension; a tension-only alternative would require positioning the character on a suitable side of the contact.

Selection stance and ribbon · optional experiments

Appearance offers Gentle adjustment / Stay put and Elastic ribbon / Off. While browsing contacts with arrows, the character can make a small delayed sideways step, strongest close to the tree. Gripping immediately freezes adjustment and records the new pull origin. A pale elastic ribbon links the right hand to the working hand during a grip and settling, then fades. It changes no input or catch rules.

Live ribbon and shifted hand placement. Existing colored direction guides remain available; clean view hides the UI for this screenshot.

The browser check verified a .27-unit selection adjustment, no automated movement during grip, zero unintended rewrite progress, and independent Off comparisons. Ground-direction cues remain a proposal.