Overview

The proof of concept in one view

A virtual Seint artist. It starts from the palette Seint's own Find My Shade quiz would give, observes the face, applies Seint Artist Theory to adjust products and placements, renders the look on photographs with our own compositor and live with Banuba, and revises the look with the user.

The work is seven modules. Each module can be built and tested on its own. The proof of concept is those modules running as one session, in AR and on photographs.

What "finished" means

Two conditions, both required.

  1. Every module has passed its required minimum checks in its own test setup.
  2. A Seint artist accepts the full look on at least 95 percent of the frozen photo set. Accept means the artist would give that look to the user as the starting point. A small opacity change is allowed. A change of product, placement, or decision is not an acceptance. Other bars are on the acceptance page, in steps of 5 percent.

A walkthrough with no score report is not acceptance. The measure is defined on the acceptance standard page.

System map

Every piece of work belongs to one activity. Configure happens before a session. Experience is the session. Evaluate measures both. Select a box to see what it is for and which records it shares.

Configure publishes what a session is allowed to use. Experience runs the same decisions in both modes. Evaluate owns the bars on the acceptance page.

The seven modules

ModuleResponsibilityIt does not
1. Face analysisDescribe the face, neck, skin, and visible issues, with a confidence on each claim.Choose a product.
2. ProfileStore who the user is, what they already own, and what they want today.Override a fact the user has stated.
3. InventoryHold every in-scope Seint product, its use cases, and how it should render on skin.Decide the look.
4. Elements and stencilsDefine the Seint roles, including Cream Corrector and the features (eyes, brows, lips), and the landmark stencils each role may use, with depth ceilings per zone.Add new roles during the proof of concept. The list is fixed.
5. Artist theoryHold the written Seint method and its rule list, each rule tagged with its source. Version 2 is the starting text. The Unified Theory is the reference.Change without a version and a record of what moved.
6. Look composerThe Look Composer agent starts from the quiz palette, chooses elements, stencils, products, and settings in a fixed order, and treats every finding with the correction ladder. The Look Editor agent revises that look from chat.Paint the face.
7. Look rendererApply the look JSON to photographs with our own compositor, and to a live face through Banuba.Choose a product or a placement.

Two modes, one decision

AR and photo use the same analysis, the same theory, the same Look Composer agent, the same Look Editor agent, and the same look JSON. The mode changes only how the face is captured and how the look is shown.

Overview

Platforms

The user apps capture the face and paint the look. The backend owns the data, the APIs, and both agents. It is the core of the system.

How the pieces connect

Capture and live AR rendering (Banuba) stay on the user apps. Photo rendering moves to our own compositor on the API (planned; today the web app's photo test still uses Banuba). Analysis, composition, retrieval, and edits that need a model go through the API.

iOS

The user app for preferences and the full experience, in AR and photo. Native iOS. The interface toolkit is not chosen yet.

The same app includes test modules for stencils, product rendering, and related checks, so a build can be tried on a phone before the scores are recorded.

Android

The same user app as iOS: preferences, AR, photo, and the same test modules. Native Android. The interface toolkit is not chosen yet.

Web

The same user experience as iOS and Android, without the test modules. Next.js.

Admin

For the Seint team: configure, test, evaluate, and change the platform. Next.js. It is a CMS plus the test platform: catalogue, stencils, theory, retrieval checks, and scores.

Backend

FastAPI. It owns the CMS data, the APIs, and both agents. Capture and live AR rendering (Banuba) stay on the user apps. Photo rendering moves to our own compositor on the API (planned; today the web app's photo test still uses Banuba). Face analysis, composition, retrieval, and edits that need a model are requested through the API.

Data

Postgres. Product use-case search uses pgvector in that same database. Inventory does not add a separate vector database.

Overview

Scope

What the proof of concept includes, and what it leaves out. This is the working boundary until the Seint team changes it.

Included

Face analysis

Profile

Inventory

Elements, theory, composer, renderer

Not included, unless the Seint team adds it

Build order

Photographs come before AR. A still image can be scored again. A live scan cannot.

  1. Agree the records modules pass to each other, and freeze the face set.
  2. Pass the required minimum checks for each module on its own.
  3. Run the photo session from start to finish with no hand-edited JSON. Record the score, even if it is under the photo bar.
  4. Raise the required scores to their bars. Optional rows are recorded and do not block this step.
  5. Add AR capture, live render, and the live-scan bar.
  6. Pass the edit checks, and confirm the guide and the product list match the look the user saw.

Overview

Find My Shade prior

Seint's Find My Shade quiz is Seint's own codified artist. The composer starts from the palette the quiz gives, and leaves it only when the face or the brief gives a reason, which the plan states.

What the quiz decides

Six answers, 6,912 paths. The level and face answer choose the palette. The other answers choose tools and finishing products.

AnswerWhat it selects
Level (1–12) and face (A–D)The palette: three highlights, one contour, one bronzer, two Lip + Cheek, and one illuminator, or Balm at Level XI faces C–D and Level XII faces A–D. Also one or two eyeshadows. 48 level-faces, 38 distinct palettes.
Skin typeThe spray: oily or combination to Fixate, dry or balanced to Plush Prep Mist.
CoverageThe brushes: light to medium gets Shape, Blush + Bronzer, and Detail. Medium to full gets IIID, Blush + Bronzer, and Detail.
Powder finishMatte to Vanilla Dust. Radiant to Feather Blotting Dust.
AgeNothing in the observed logic. Age is where the artist theory adds most: lift placement, less shimmer, coverage only where needed.

How the composer uses it: the brand base

The quiz palette and the level-based No. 4, No. 8, and No. 12 palettes are the base logic of every look. They keep the result consistent with what Seint itself recommends. Face analysis only fine-tunes the choice, and every change carries a reason.

Acceptance

IDPoCBarRequirementPass condition
QP-1RequiredMinimumThe quiz map is loaded and reproduces the published palette for every level and face.All 48 level-faces return the published set.
QP-2RequiredMinimumA capture that fails the colour check produces the quiz-only look, marked as such.A failed-light fixture returns the quiz palette and a notice.
QP-3OptionalMinimumThe system's looks are preferred to quiz-only looks in the blind review.Artists rate the system at least as high as quiz-only on the frozen set.

Overview

Acceptance standard

Bars follow how much a miss would hurt, and how hard the check is. A required row must pass for the proof of concept. An optional row is scored and shown, and a miss does not fail it. The set is frozen by the Seint team and the development team before scoring starts.

Accept and revise

Accept. The artist would give this look to the user as the Seint starting point. A small opacity change is allowed.

Revise. The artist would change a product, a placement, or a decision.

The Seint team and the development team agree the faces, the reference notes, and the raters before the run. Adding easier faces after a low score, or removing harder ones, voids the result.

The frozen set

Checks

Required must pass. Optional is scored, and a miss does not fail the proof of concept. Percentage bars move in steps of 5.

CheckPoCBarReason
Artist accepts the full look, photo modeRequired95%This is the number the proof of concept claims. It is hard, and a miss is the claim failing.
Artist accepts the full look, ARRequired85%Live tracking adds failures that are not the look. The set is at least 15 scans.
Skin level within one level of the artistRequired95%The main highlight is chosen from this level. A wrong level reads as a mask.
Faces with no issues stay clearRequired85%A false finding is hard to avoid and can be waived. It should not be common.
Issues the artist marked are covered, or the plan states why notRequired90%A missed distraction is a failed look.
Front-pose placement is acceptableRequired90%Placement is the look. AR drift is recorded and does not fail this proof of concept.
Retrieval returns the artist's shade in the top 3Required95%The composer can only choose well from a shortlist that contains the right shade.
A chat edit does what was askedRequired95%The scripted set is small. Rebuilding the look when the user asked for less blush is a failure.
Unknown product ids, and products blocked by an allergyRequiredZeroThese are correctness checks, not taste.
Free-text conflicts are shown, not guessedOptional80%The user still confirms the parsed points before a look is built.
Render colour is rarely the reason for a rejectionOptional80%A small colour miss is calibration. It does not by itself fail the proof of concept.
No geometric morphing, and no undisclosed skin smoothingRequiredZeroA try-on that reshapes the face shows something makeup cannot do.
AR frame rate on the reference phoneOptional20 fpsA lower rate does not change the products or the placement.
Correction ladder stops at the artist's step, within one stepOptional80%Over-correction is the common artist complaint.
Contour reads as ashy shadow, not brownOptional90%A brown or orange contour is a known failure, worst on deeper skin.
Before scoring, two artists rate the same 10 looks. Their agreement is the ceiling for any bar. If artists agree with each other less than 95 percent of the time, the photo bar is reviewed, not silently missed.

How a row is read

Required. The row must pass. A module may be connected to the others when its required minimum rows pass.

Optional. The row is scored and shown. A miss does not fail the proof of concept.

Minimum. The module behaves correctly on the stated cases.

A percentage. Measured on the shared set after the modules are connected. Bars move in steps of 5. A straightforward check sits at 95 or 100 percent. A hard check that still decides the look sits at 90 or 95 percent. A hard check that can be a little less precise sits at 80 or 85 percent. The proof of concept is not complete on a minimum pass alone.

Each module page lists its own rows, with the same colours.

Activity

Configure

Work that can be prepared before anyone opens a camera. A session uses only what these four editors have published.

Four editors

EditorWho uses itWhat it must do
ProfileThe user, and the Seint team when preparing a demonstrationSave the base profile. A session override does not change the base profile unless the user chooses to update it.
InventoryThe Seint teamAdd and edit a product, its use cases, and its render values. Maintain level-set membership (No. 4, No. 8, No. 12, and the 48 quiz faces), the shade ladder, and retired-shade substitutes. Rebuild the pgvector index. Run a situation query and show each retrieval stage.
Elements and stencilsThe Seint team, with an artist checking placementEdit the theory paragraph, the usage line, the weights, and the depth ceiling per zone. Preview the mask on a reference face. There is no control to add an element.
Artist theoryThe Seint team. An artist owns the wording.Edit the markdown and the rule list, replay a fixed set of faces, and publish a version. Each rule carries its source and evidence label: sourced, inferred, or secondary.

What stays fixed

The element list does not change during the proof of concept. Products, level sets, stencil weights, depth ceilings, usage lines, theory text, and the base profile do change, through these editors, without a code deploy.

Activity

Experience: AR

A live session. The user can change today's brief, then the system captures four poses, reports what it saw, composes a look, and paints it on the live face.

Wait targets are requirements. They can be changed by agreement. They cannot be left undefined.

Steps

  1. Brief

    User sees. The saved profile, and controls for today's occasion, mood, coverage (overall, and optionally per zone), application order, and a note.

    System. Overrides are stored on the session. The base profile is unchanged.

    The user sets the pace

  2. Capture

    User sees. Direction for four poses: straight, left, right, chin up. Hair off the forehead. Neck in frame. No flash.

    System. Each pose is kept or rejected by the quality gate, with a reason.

    During capture

  3. Analysis

    User sees. Short statements as observations are ready. Not an empty waiting state.

    System. Face analysis on the kept frames.

    10 seconds or less

  4. Face report

    User sees. Skin level, undertone, face shape with its confidence, issues on a map (each dark area marked as a colour cast or a shadow), under-eye texture, and anything uncertain. The user can correct the report, for example by marking freckles to keep.

    System. Corrections are written onto the session before composition. Any Find My Shade answer still missing (skin type, coverage, finish, age, and level or face when colour was unreliable) is asked here, in the quiz's wording. This is gate G1.

    The user sets the pace

  5. Composition

    User sees. Two short, editable summaries while the look is built: the complexion (highlights, contour, and any correction), then the optional colour and glow. Each has "Looks right, continue" as the default. They wait for the user only when a check is not confident; otherwise the look carries on.

    System. The composer steps, with gates G2 and G3. The render check uses a snapshot of the current frame.

    First card in 3 seconds or less. Full look in 25 seconds or less of system time, not counting time on the cards.

  6. Live look

    User sees. The face, live, with the look applied. A before-and-after control.

    System. Banuba tracks the face and paints the blended look from its baked textures. Eyes, brows, and lips appear live only where that area is tracked with confidence; otherwise they are shown on a photo, with a note.

    The user sets the pace

  7. On-screen edit

    User sees. Element on or off, opacity, zone weight, and one step lighter or deeper.

    System. The render updates. No model is called.

    Immediate

  8. Chat edit

    User sees. A text field. The change matches the request: one setting, one element, or a new plan. Undo is available.

    System. The request is classified. The classes are defined on the composer page.

    Direct: immediate. One element: 12 seconds or less. New plan: 25 seconds or less.

  9. Result to keep

    User sees. The application steps in the user's chosen order, the matching official collection (No. 4, No. 8, or No. 12) where one fits, and a list of products already owned and products to buy.

    System. Saved with the theory version used to build the look.

    The user sets the pace

Activity

Experience: photo

The same decisions, the same report, and the same editors as AR. Capture and display are the only differences.

Steps

  1. Brief

    User sees. The saved profile, with the same overrides as AR.

    System. Overrides stay on the session.

    The user sets the pace

  2. Photographs

    User sees. Straight is required. Left and right are optional. A neck photograph is offered and optional. A rejected photograph shows the reason.

    System. The quality gate runs on each file. The depth match always uses the face. If the neck is not visible, the later report says the face-to-neck check was not possible.

    The user sets the pace

  3. Analysis

    User sees. The same progress text as AR.

    System. Analysis of the photographs the user kept.

    10 seconds or less

  4. Face report

    User sees. The same report as AR, including corrections.

    System. Corrections are written onto the session before composition. Any Find My Shade answer still missing (skin type, coverage, finish, age, and level or face when colour was unreliable) is asked here, in the quiz's wording. This is gate G1.

    The user sets the pace

  5. Composition

    User sees. The same two cards as AR.

    System. The render check uses the rendered straight photograph.

    First card in 3 seconds or less. Full look in 25 seconds or less of system time, not counting time on the cards.

  6. Look on the photographs

    User sees. The look on each uploaded photograph, with angle switching and before-and-after.

    System. The same JSON, rendered once per photograph.

    The user sets the pace

  7. On-screen edit

    User sees. The same controls as AR, redrawn on the stills.

    System. No model is called.

    Immediate

  8. Chat edit

    User sees. The same editor as AR.

    System. The same three classes.

    Same targets as AR

  9. Result to keep

    User sees. The same guide and product list.

    System. The same saved plan.

    The user sets the pace

Activity

Evaluate

The activity that makes each module testable on its own, and makes the acceptance bars meaningful.

What it contains

Rule for a change

A change to theory, retrieval, stencils, or render values is kept only if the score stays at or above the bar. If a supporting check falls, the change is reverted. The theory page states the same rule for a published theory edit.

Main difficulty

Without artist reference judgments, the percent cannot be calculated. The set also has to include deeper skin and poor lighting. A set of only clear, evenly lit, light faces will overstate the result. Deeper skin needs its own quota, Monk 7 to 10, because image colour is least reliable there and a brightener can turn ashy.

Module 1. Experience

Face analysis

Turn a guided capture into a structured description of the face, neck, and skin. Each claim carries a confidence. This module does not choose a product.

What it produces

What is required, and what is optional

The proof of concept needs only what Find My Shade collects. Everything else fine-tunes the look, and its absence never blocks composition. If something essential is missing, the user is asked before anything is composed.

TierWhatSourceIf missing or unsure
Capture gate (required)One face, large enough, facing straight, neutral expression, sharp, well exposed, white balance, even light, nothing covering the face, bare skin, no beauty filterCode on ML measurements (MediaPipe Face Landmarker, OpenCV sharpness, a colour-constancy estimate). Vision questions for makeup and filters.Retake. If only the colour is unreliable, geometry is kept and level and face come from the user.
Technical (required)Landmarks and head pose, skin, hair and neck masks, colour per zoneMediaPipe Face Landmarker and segmentation, face parsing, CIELAB after white balanceRetake. No stencil can be built without them.
Find My Shade minimum (required)Level, face A–D, skin type, coverage, powder finish, ageLevel and face: estimated, then confirmed by the user. The rest: asked, in the quiz's wording.Asked at the first gate. Composition waits.
Derived (required)Undertone, read against other skin at the same levelComputed from zone colour and the face letterThe quiz face set stands.
Recommended (optional)Under-eye darkness as colour cast or shadow, redness, pigmentation, blemishes, under-eye texture, fine lines, shine, cheekbone, age markers, eye shape, eye colour, stated concerns, look intensityML models, with vision questions where structure matters (hollows, hooded eyes)The base default is kept. Nothing blocks.
Later (optional)Face shape, brows, lips, asymmetry, scars and marks, face-to-neck difference, feature proportionsML and visionA default is used.

Each measured value has a confidence threshold. Below it, the value is treated as unknown: a required value becomes a question, and an optional one falls back to the base default. An optional question is asked only when the answer would change this look, for example eye shape only when the eyes will be made up.

What an artist reads, and the signal for it

An artist readsThe system measuresIt decides
Depth (level)Lightness of cheek and forehead skin after white balance, as a 12-level distributionThe main highlight
UndertoneHue angle compared with other skin at the same levelWhich highlight label, contour warmth, Lip + Cheek family
Face against neckColour difference between face and neckHow the jaw contour bridges them
RednessLocal rise in redness against the faceLadder; green corrector only for vivid red
Dark circlesLightness drop, hue shift, hollow, darkest pointColour cast or shadow; corrector choice and where it starts
Pigmentation, melasmaLocal darkening with a brown shiftHow far up the ladder to go
Texture, fine linesFine detail in the under-eye and around the mouthUnder-eye crescent or corner accents; no shimmer on lines
Face shapeLength, width, forehead, cheekbone, and jaw ratiosContour sub-zones, when confident
CheekboneWidest line and the underside of the boneCheek contour height; moves up when unsure
Age markersJowl, hooded eyes, hollowsLift placement, thin liner, corner accents

Colour cast or shadow

A dark area is either a colour cast (blue, purple, green, or muddy), which a complementary corrector can filter, or a shadow from the bone structure, which only light can lift. The analysis measures the hue shift and lightness drop against the skin around it, checks whether the area sits in a hollow, and records the darkest point, where an artist starts. A shadow never gets a corrector.

Capture quality

Before analysis, the capture is checked (gate G0) for light, white balance, blur, flash, and makeup already on the face. A failed capture is retaken or stored as unreliable. It is not analysed as a normal result. The gate also records how far the colour can be trusted. When it cannot, the composer uses the quiz answers alone, which reproduces Seint's own recommendation, instead of guessing.

In AR, the four poses are straight, left, right, and chin up. A failed pose is retaken or recorded as missing, with the reason. In photo, analysis does not start without a usable straight photograph.

Difficulties

  1. Phone cameras change colour with the light, white balance, flash, and beauty processing.
  2. Artists ask to see the neck, but the main highlight is matched to the face. The neck only decides how the jaw contour bridges the two. Many photographs crop the neck, so the report must say when the check was not possible.
  3. A shadow on one cheek can look like a dark spot. Hair at the hairline can look like forehead spots. An eye in shadow is not a dark circle. A dark under-eye can be a colour cast or a shadow from the bone structure, and they need different products.
  4. Redness, a pimple, and natural flush look similar and lead to different products. They must be separated.
  5. Unstructured notes cannot be used reliably. The note list is fixed for that reason.
  6. Age estimated from a face is unreliable. The profile is the source of truth.
  7. AR frames are less even than a still photograph the user selected.
  8. Colour from a phone is least reliable on deeper skin, where the set needs its own quota.

Acceptance

IDPoCBarRequirementPass condition
FA-1RequiredMinimumAR guides four poses. A failed pose is retaken or stored as missing, with the reason.The session record lists each pose as kept or rejected.
FA-2RequiredMinimumPhoto analysis does not start without a usable straight photograph. Left, right, and neck are accepted when provided.No straight photograph: blocked, with a retake message. Straight only, and no neck: the result says the depth match is face-only.
FA-3RequiredMinimumHarsh light, blur, flash, or makeup already worn is flagged.A fixture for each failure returns a flag, not a normal result.
FA-4RequiredMinimumThe report includes skin level, undertone or undetermined, face shape, regional tones, lip colour, lip texture, skin behaviour, the under-eye texture reading, and the face-to-neck check when the neck is visible.Every field is present on a usable straight photograph.
FA-5RequiredMinimumEach issue type can be returned with a location. A finding without a position cannot be saved.A labelled example of each type returns a finding in the correct zone.
FA-6RequiredMinimumNotes use the fixed list only. An age estimate never replaces the profile.A profile age of 42 remains 42 if the photograph suggests a different age.
FA-7Required95% / 85%Skin level is within one level of the artist. Clean faces do not gain a finding worth covering.Skin level is within one level on at least 95 percent of the set. Clean faces stay clear on at least 85 percent. The theory's provisional level target is 90 percent; check 95 against artist-to-artist agreement.
FA-8Required90%Issues the artist marked as worth covering are covered, or the look states why not.At least 90 percent of those issues are handled or explicitly waived.
FA-9Optional80%Dark areas are classified as colour cast or shadow in agreement with the artist.At least 80 percent agreement on the labelled set.
FA-10Optional80%Textured under-eyes are flagged in agreement with the artist.At least 80 percent agreement on the labelled set.

Test setup and records

Test setup. Load a photograph or a recorded AR session. Show regions, findings, and confidence. Score a folder of labelled faces with one command.

Reads a capture set. Writes a face analysis, used by the report, the composer, and the renderer.

Module 2. Configure and experience

Profile

A saved description of the user, plus what the user says in this session. The session wins. The system still produces a look when the user provides very little.

Fields

Difficulties

  1. Many users will skip fields. The look must still be valid, and it must say that defaults were used.
  2. Free text can contradict a selected option.
  3. The owned palette may not contain a shade that matches the face. Staying inside it without a check produces a poor look.
  4. Allergy filters need ingredient data. Early product records may not have it.
  5. Skin conditions are health information. Storage needs a retention rule, not only a field.
  6. Stated and measured level often disagree. Users tend to choose a lighter level than they are.

Acceptance

IDPoCBarRequirementPass condition
PR-1RequiredMinimumA base profile can be saved and is present on the next visit.Age, season, conditions, allergies, and palette reload correctly.
PR-2RequiredMinimumA session can override occasion, mood, coverage, and free text without deleting the base profile.After the session, the base profile is unchanged.
PR-3RequiredMinimumFree text becomes constraints the user can confirm or remove.The text "No shimmer, keep my freckles, I have a gala" produces those three items before composition.
PR-4RequiredZeroAn allergy match cannot appear. An empty profile still produces a look, marked as system defaults.A flagged ingredient is absent. An empty profile records the system as the source of intensity.
PR-5RequiredMinimumOwned products are preferred. Leaving the palette requires a written reason.A step outside the palette is either absent or justified. No palette still yields a full look.
PR-6Optional80%Conflicts between selected options and free text are shown to the user. They are not guessed.At least 80 percent of a contradiction fixture set is surfaced for confirmation.
PR-7RequiredMinimumFind My Shade answers are stored exactly and reproduce the quiz palette.20 sample quiz paths reload and map to the published face set.

Test setup and records

Test setup. A form with a live view of the merged session and the source of each field. Fixtures: complete, empty, contradictory, and text only.

Writes a client context, used by face analysis for quiz hints, by inventory for filters, and by the composer.

Module 3. Configure

Inventory

The digital record of in-scope Seint products: what each product is, when it is used, and how it should look on skin.

Contents of a product record

RoleDrawn as
HighlightCoverage that evens tone and keeps texture.
ContourCoverage in its own colour, so it reads as ashy shadow. Never a multiply that turns brown.
Cream CorrectorA colour shift at 0.10 opacity. It barely changes lightness.
Lip + Cheek, bronzerA tint.
Pressed Pigment (powder blush)A powder tint, above the setting powder.
IlluminatorAdded shine.
Setting powderLess shine. No colour change.
Eyeshadow, eyeliner, brow products, lip productsTheir own layers, which keep lashes, brow hairs, and lip texture.

Products for every element

Every element in the stencil library, the Seint products it can use, and how many stencils it has. Shade counts are the records in the proof-of-concept catalogue, taken from seintofficial.com on 29 September 2026.

ElementSeint products (shades)StencilsNotes
Main highlightHighlight (24)2Matched to the face.
Brightening highlightHighlight, a lighter shade than the main11Includes the under-eye crescent and the corner accents.
Correcting highlightHighlight, one or two shades deeper than the main7Seint sells no concealer. Highlight fills that role.
Cream CorrectorCream Corrector, the Demi line (12: O1, R1, Y1, OY1, YO1, OR1, RO1, V1, G1, O3, O5, O7)8Drawn at 0.10 opacity.
ContourContour (14)16Cheek, hairline, jaw, neck, nose, chin, and lip variants.
Lip + Cheek on the cheekLip + Cheek (40)3The default cheek colour.
Powder blush (a switch)Pressed Pigment (20)Uses the 3 cheek stencilsThe user can switch to it. The composer picks it first only with a stated reason.
BronzerBronzer (5: Bella, Heatwaves, High Tide, Tanlines, Xanadu)5On by default, as in the official level sets.
IlluminatorIlluminator (7), and Balm (1) at Level XI faces C–D and Level XII faces A–D10Kept off the contour and off textured skin.
Setting powderSetting Powder (2: Vanilla Dust, Feather Blotting Dust)3Changes shine only.
EyeshadowEyeshadow (56); Pressed Pigment on the eyes, except Ladybug, Guava, and Daze9The quiz eyeshadows for the level and face are the base.
EyelinerEyeliner (1: Black Friday); Pencil (13) or an eyeshadow for a softer line5Black Friday is in every No. 12 set.
BrowsPencil, an eyeshadow, or the contour shade to fill; Brow Wax or Archangel Brow Gel to set3Brushed up and out.
LipsLip + Cheek (default); Lipstick (3), Lip Tint (5), Lip Gelato (9), Lip Oil (11), Lip Whip, Blackberry Lip Flush, Lip Balm, Pencil5In the cheek's colour family.
Setting sprayFixate, Setting Spray (Plush Prep Mist is also listed, but was sold out)NoneWhole face. Named in the guide only.

The catalogue also holds Saved Salve (skin care). It is not an element and is not drawn. The stencil library has 87 stencils in total. The elements page lists them.

Not Seint products, or not on sale. Every element maps to a current Seint product line; none needs another brand. These names are flagged so they are never offered as Seint products:

Difficulties

  1. The commercial catalogue changes. The boundary on the scope page is what keeps this finite.
  2. Colour in the tin is not colour on skin, and it changes again across skin levels.
  3. Vector search alone will confuse neighbouring shades. Shade choice is primarily a distance on depth and undertone.
  4. Retrieval can be called accurate only against situations an artist has labelled.
  5. Missing ingredient data weakens the allergy filter.
  6. Tuning render values is slow visual work. It needs an ordered queue or it will consume the schedule.
  7. Colour today comes from photographs and swatches, not instrument measurement. Production needs measured colour and opacity for each pan.

Acceptance

IDPoCBarRequirementPass condition
INV-1RequiredMinimumEvery in-scope shade has the fields listed above.A catalogue report shows no missing field. Identifiers are unique.
INV-2RequiredMinimumProducts can be listed by element. Lip + Cheek resolves for cheek and for lip. Cream Correctors resolve for correction only.Each element filter returns the expected set.
INV-3RequiredMinimumUse cases are in Postgres and indexed with pgvector. A situation query shows every stage.The test view shows removals, shade scores, vector hits, and the final order.
INV-4RequiredZeroAn unknown identifier cannot be returned. An allergy match cannot be returned.Both counts are zero on the retrieval test set.
INV-5RequiredMinimumThe shade graph returns a neighbour where one exists.Checks along the highlight and contour ladders return the expected neighbour.
INV-6Required95%The shade an artist would use is in the top 3.At least 95 percent top-3 recall on at least 40 frozen situations.
INV-7Optional80%Render values are close enough that colour alone is rarely the reason for a rejection.In the end-to-end review, "colour is wrong" is the reason on fewer than 20 percent of rejected looks.
INV-8OptionalMinimumLevel-set membership reproduces the official No. 12 set and the quiz face set for every level.A report per level shows no difference from the published sets.

Test setup and records

Test setup. A query view that shows every retrieval stage, and a preview of the swatch beside the render on two skin depths.

Writes a candidate set per element for the composer. The renderer reads the render values.

Module 4. Configure

Elements and stencils

An element is a Seint role. A stencil is a placement that role is allowed to use. The element list is fixed. Stencil text and weights are editable.

The elements

Each paragraph below is stored on the element and is given to the composer when that element is decided.

ElementTheory paragraph
Main highlightThe foundation shade, matched to the face (not the neck), from the Seint highlight whose undertone label fits the skin. It is the coverage workhorse and evens the face where coverage is needed, not everywhere. If two shades could both be right, use the slightly deeper one.
Brightening highlightThe main highlight plus lift: a lighter highlight on the planes that should come forward, such as the centre forehead, between the brows, down the nose, the centre chin, and the under-eye. It is diffuse light, not shine. Under the eye it is a light, inner-biased crescent, and on textured skin only the inner and outer corners. On deeper skin keep it close to the main, or it turns ashy.
Correcting highlightA highlight one or two shades deeper than the main, pressed onto a darker spot (pigmentation, melasma) with the main stippled on top. Never a lighter shade on a dark spot: that emphasises it. It is the third step of the correction ladder, not a colour neutralizer.
ContourAsh shadow, not bronzer. It gives coverage and restores the shadow that an even complexion erases. Cheek: short, directly under the cheekbone, strongest at the ear, stopping at the outer eye corner; if unsure, higher is safer than lower. Hairline: one continuous band blended into the hair. Jaw: mostly under the jaw edge, blended down the neck. It must read less colourful than the main highlight.
Lip + CheekOne product, and the default cheek colour. On the cheek: on the apples for a fuller look, or higher, just above the contour line and pulled back toward the temple, for a lifted look (default over 40). On the lips: the centre of the lips, gloss or semi-gloss. Lip and cheek stay in one colour family. Sheer or skip the cheek only when flush is already clearly present. Pressed Pigment is the powder blush the user can switch to; the composer picks it first only with a stated reason.
IlluminatorA small point of cream shine on the highest points: top of the cheekbones, the bow of the lip, beneath the brow arch. Depth selects the shade from the level set. Balm replaces it at Level XI faces C–D and Level XII faces A–D. Keep it off fine lines and textured areas.
BronzerWarmth where the sun would fall, on and above the cheekbone, applied very sheer over the blush. It is in the official level sets, so it is on by default and off at Natural intensity. It is never used as contour.
Cream Corrector (Demi)A very small amount of the complementary colour on the exact spot, under the highlight, only when a colour cast remains after the highlight steps. Orange for blue, yellow for purple, green only for true vivid red. The code's number follows depth. It starts at the darkest point, usually the inner under-eye, and may change shade moving outward. Never on a shadow from structure. At most three zones. It is drawn at 0.10 opacity.
EyeshadowThe one or two quiz eyeshadows for the level and face are the base. Lid, crease, and outer-corner zones. On hooded eyes the crease colour sits above the natural fold, so it shows with the eye open. Monolid and deep-set eyes change the zones too.
EyelinerSeint's Eyeliner (one shade, black) is the base line. Pencil or an eyeshadow gives a softer line, as a stated change from the base. Kept thin on hooded or mature eyes.
BrowsFollow the natural brow and fill its gaps: Pencil, an eyeshadow, or the contour shade. Set with Brow Wax or Archangel Brow Gel.
LipsLip + Cheek on the lips is the default, in the cheek's colour family. Lipstick, Lip Tint, Lip Gelato, Lip Oil, and Lip Whip are alternatives when the brief asks. Lip Balm goes first, and Pencil lines.

Placement map

These are real renders on one test face (f010, from the Face Research Lab London Set, CC BY 4.0), made with the proof-of-concept stencil library. Each stencil is rebuilt from the face's landmarks, so the same definition works on any face. The stencil tables below list the full library.

Face f010 twice. Left: product as placed, in visible swipes. Right: the same product after blending, reading as soft makeup.
The base look, placed and blended. Left: the product where it is first put down (main and brightening highlight, contour, Lip + Cheek, bronzer, illuminator, and lip colour), in the real shade colours. Right: exactly the same amount of product after it is blended the way an artist would. Blending adds nothing and removes nothing. It only spreads the product, so the colour covers more skin and gets softer. Shades for level 2, face A: White Peach, Palace, Astoria, Nude, Tanlines, Angel, and Cindy. Colours come from product photographs and are not colour-calibrated.

The renders below show each element on its own. They use marker colours so that the stencils can be told apart; these are not the product colours. Select a render to open it at full size.

Main and brightening highlight on face f010: placed outline and blended coverage.
Main and brightening highlight. The main highlight covers the face and fades at the hairline and jaw. The brightening highlight lifts the centre forehead, the nose, the under-eyes, above the lip and the chin, and is blended only out to the edge of its zone, so it never turns into a mask.
Correcting highlight on face f010: placed outline and blended coverage.
Correcting highlight. A deeper highlight pressed onto a darker spot with a detail brush. It hardly moves when blended, so it stays on the spot. The sites shown are examples; in use they come from the face analysis.
Cream Corrector (Demi) on face f010: placed outline and blended coverage.
Cream Corrector (Demi). A colour shift at 0.10 opacity on the exact spot, with almost no movement. The sites shown are examples; in use they come from the face analysis.
Contour on face f010: placed outline and blended coverage.
Contour. Cheek contour is heaviest at the ear and is blended up and back toward the top of the ear and the temple, softened under the cheekbone. Hairline contour is blended into the hair. Jaw contour is blended down the neck. The nose lines stay thin; they are shown at 0.6 here because the everyday look leaves them off.
Lip + Cheek on the cheek on face f010: placed outline and blended coverage.
Lip + Cheek on the cheek. Placed just above the contour, then pulled back and up toward the temple. It stays off the nose and the lips.
Bronzer on face f010: placed outline and blended coverage.
Bronzer. Swept wide and sheer where the sun would reach: the forehead out to the temples, and the cheeks from beside the nose to the temple. It goes on over the blush.
Illuminator on face f010: placed outline and blended coverage.
Illuminator. Small dabs on the high points, tapped out only a little and kept off the contour.
Setting powder on face f010: placed outline and blended coverage.
Setting powder. Pressed into the T-zone and under the eyes. It changes shine, not colour.
Eyeshadow on face f010: placed outline and blended coverage.
Eyeshadow. The lid colour stays on the lid. The crease colour is blended up through the crease toward the brow bone and fades out before the brow. The lower lash line is shown at 0.5; the everyday look leaves it off.
Eyeliner on face f010: placed outline and blended coverage.
Eyeliner. A thin line along the upper lash line and the outer lower lash line. It barely spreads.
Brows on face f010: placed outline and blended coverage.
Brows. Filled along the natural brow, then brushed up and out with a spoolie.
Lips on face f010: placed outline and blended coverage.
Lips. Lip + Cheek pressed into the centre of the lips and tapped outward, inside the lip line.

The full look, with the eyes, brows, and lips, is on the blending page.

Minimum stencil library

ElementStencilUsage
Main highlightcomplexion_planesWhere coverage is needed: forehead, around the nose, cheeks back toward the temples, chin, and along the jaw. Strongest on the cheeks and areas of concern, fading at the hairline and jaw edge.
Brightening highlightundereye_crescentA light, inner-biased crescent under each eye. Depth ceiling 0.60. The default when the under-eye is smooth.
Brightening highlightundereye_cornersInner and outer corner accents only. Used instead of the crescent when the under-eye is textured, and on mature skin.
Brightening highlightcenter_lineCentre forehead, between the brows, down the nose, above the cupid's bow, and the centre of the chin.
Correcting highlightuneven_zoneA deeper highlight on the darker area only, applied first, with the main stippled on top.
Correcting highlightundereye_innerA highlight one or two shades deeper than the main, pressed onto the darkest, inner point of the under-eye when it is darker, with the main stippled on top. Never on a shadow from structure. Depth ceiling 0.45.
Contourcheek_hollowDirectly under the cheekbone, strongest at the ear, fading forward and stopping at the outer eye corner. Moves up when landmarks are uncertain.
Contourcheek_liftOn or just above the underside of the cheekbone, blended upward. The lift variant, default over 40.
Contourtemple_hairlineOne continuous band along the hairline and temples, blended into the hair. Stronger on round and heart shapes.
Contourjaw_neckMostly below the jaw edge, lighter than the cheek, blended down the neck so the face does not stop at the chin.
Contournose_sidesThin lines beside the nose, only when the plan asks for definition.
Lip + Cheekcheek_appleApples of the cheeks, for a fuller look. Default under 40.
Lip + Cheekcheek_liftedJust above the contour line, pulled back toward the temple. Default over 40, or when lift is the intent.
Lip + Cheeklip_centerCentre of the lips, from the same colour family as the cheek.
Illuminatorhigh_pointsTops of the cheekbones, the cupid's bow, and under the brow arch. A point, not a stripe. Cut out of textured zones.
Bronzersun_zonesA broad, very sheer field on and above the cheekbones, forehead, and temples, lightly across the nose. Lip + Cheek may overlap it. Never placed as contour.
Cream Correctorfinding_spotGenerated from one finding's darkest point and size. Small and feathered. At most three zones.
Cream Correctorundereye_innerThe darkest, inner point of the under-eye, for a colour cast only. Drawn at about 0.10 opacity (allowed range 0.05–0.15).

Stencils are tied to facial landmarks, with separate weights for sub-zones, so one definition is used in AR and on photographs. Contour exposes weights for hollow, temple, jaw, and neck. Stencils carry their gradient (the cheek contour is strongest at the ear) rather than a flat fill.

The full proof-of-concept library has 87 stencils across the complexion, cheek, corrector, eye, brow, lip, and powder roles. Each is defined from landmarks in eye-distance units, so it can be rebuilt on any face. Each has variants for depth, face shape, age, texture, asymmetry, and findings (dark circles, redness, pigmentation, hooded, monolid, or deep-set eyes). Each also has a default opacity range, the stencils it must not overlap, the face-analysis inputs that select it, and a blend recipe. The composer sets an opacity for each stencil it uses. The opacity is the placed deposit: how much of the skin the product covers where it is put down, before blending.

ElementStencilsLibrary identifiers
Main highlight2HL-JAWLINE, HL-MAIN-BASE
Brightening highlight11HL-UE-ORBITAL, HL-UE-TRIANGLE, HL-UE-SEINT-WEDGE, HL-UE-MATURE, HL-BRIDGE, HL-BRIDGE-CHART, HL-BROW-FOREHEAD, HL-FOREHEAD-CHART, HL-SIDE-NOSE, HL-CUPIDS-BOW, HL-CHIN
Correcting highlight7HL-UE-INNER-CORRECT, HL-CORRECT-TEMPLATE, HC-UE-INNER, HC-PERINASAL, HC-COMMISSURE, HC-MELASMA, HC-SPOT
Cream Corrector8CC-UE-INNER, CC-UE-OUTER, CC-PERINASAL, CC-COMMISSURE, CC-UPPER-LIP, CC-CHEEK-PATCH, CC-FOREHEAD-PATCH, CC-SPOT
Contour16CT-CHEEK-HOLLOW, CT-CHEEK-LIFT, CT-TEMPLE-HAIRLINE, CT-HAIRLINE-SIDES, CT-HAIRLINE-FULL, CT-FOREHEAD-TOP-CENTRE, CT-JAW-UNDER, CT-JAW-FULL, CT-NECK-EXT, CT-DOUBLE-CHIN, CT-JOWL, CT-NOSE-SIDES, CT-NOSE-TOPSIDES, CT-NOSE-TIP, CT-UNDER-LIP, CT-CHIN-TIP
Lip + Cheek on the cheek (also powder blush)3LC-LIFTED, LC-APPLES, LC-CHART-DIAGONAL
Bronzer5BZ-FOREHEAD-SUN, BZ-APPLES, BZ-CHEEKBONE, BZ-NOSE, BZ-CHIN
Illuminator10IL-CHEEKBONE-HIGH, IL-CHEEKBONE-C, IL-BROWBONE, IL-CUPIDS-BOW, IL-INNER-EYE, IL-NOSE-BRIDGE, IL-NOSE-TIP, IL-LIP-CENTRE, IL-CHIN-CENTRE, IL-FOREHEAD-CENTRE
Setting powder3SP-TZONE, SP-UNDER-EYE, SP-FULLFACE
Eyeshadow9ES-LID, ES-CREASE, ES-OUTER-V, ES-BROWBONE, ES-INNER-CORNER, ES-LOWER-LASH, ES-FAUX-CREASE, ES-MONOLID-GRADIENT, ES-LID-CENTRE
Eyeliner5EL-UPPER, EL-WING, EL-TIGHTLINE, EL-LOWER-OUTER, EL-WATERLINE
Brows3BR-FOLLOW, BR-MAP, BR-TAIL-EXTEND
Lips5LP-CENTRE, LP-FULL, LP-LINER, LP-OVERLINE, LP-GLOSS-CENTRE

Blend styles

Each stencil names how its product is blended, so the render can mock the brush. The style changes the edge and the spread of the deposit, not where the stencil sits.

StyleWhat it mocksUsed for
GradientDeposit ramps along an axis, strongest where the brush lands firstEyeshadow lid to crease, lip centre outward
FeatherAn even, soft edge in every directionIlluminator points, liner edges, lip edges, some contour
Overflow or spreadA faint halo past the placement edge, as with a sheer wash or a fluffy brushBronzer, hairline contour, setting powder
Directional dragA smear in one directionContour blended up and back, Lip + Cheek pulled toward the temple, crease windshield-wiper, brow spoolie up and out
Stipple and buffDots of deposit, then a light buffMain, brightening, and correcting highlight, Cream Corrector, pressed coverage

Each stencil also carries a full blend recipe: the tool, the direction and distance the product is moved, the number of passes, and the edges it must stop at. The blending page explains it, element by element.

Face shape and depth ceilings

Face shape selects and weights contour sub-zones. A round face adds temple and jaw. A diamond face adds the top of the forehead and the tip of the chin. A pear face uses the jaw only. The library itself is the same for every shape. Shape is applied only when the analysis is at least 0.55 confident, and an artist or user can always override it, because Seint artists warn against a one-size-fits-all diagram.

ZoneDepth ceilingWhy
Under-eye brightening0.60A very light hand under the eyes. Heavy product creases.
Inner under-eye correcting highlight0.45Severe darkness is answered by a better corrector colour and precise placement, not thicker product.
Centre face brightening0.80Light, not a mask.
Main highlight1.0Full coverage is allowed where the user asks for it.

A ceiling caps the product placed in that zone. Blending then spreads it, so the finished coverage is lower.

Difficulties

  1. A stencil that is correct on a front photograph will drift in AR when the head turns, unless it is tied to landmarks.
  2. The jaw and neck often fall outside the face mesh Banuba paints. Neck continuity is a separate rendering problem. If the neck is not painted, the report must not say that it was.
  3. Face shape changes which contour sub-zones are used and how heavy they are. It is the weakest signal in the analysis, so it is applied last and only when confident.
  4. A localized stencil has to meet a small finding. A mask the size of the cheek is not localized.
  5. Cream Correctors are about 10 percent opaque. Drawn too strongly they look like paint. Drawn honestly they are barely visible. The guide must still name them.
  6. Under-eye and cheek contour are where placement most often fails: a triangle that is too bright or too low, or a contour that sits too low and drags the face down.

Acceptance

IDPoCBarRequirementPass condition
ES-1RequiredMinimumThe elements exist, including Cream Corrector and the features. The composer receives that element's paragraph when deciding it.A compose trace shows the paragraph inside that step.
ES-2RequiredMinimumEvery element has at least one stencil. Every stencil has a usage sentence. The library above is present.The management screen lists them. Empty usage text cannot be saved.
ES-3RequiredMinimumPhoto and AR use the same stencil record.A weight change updates both previews. The mask is not copied into application code.
ES-4RequiredMinimumContour exposes hollow, temple, jaw, and neck. Correction masks are capped at three zones. An under-eye colour cast uses the inner under-eye Cream Corrector stencil at about 0.10 opacity (0.05–0.15), not a round stamp. The inner under-eye correcting highlight stays within its 0.45 ceiling. An under-eye shadow gets no corrector.Four findings produce at most three masks. An under-eye shadow produces brightening only.
ES-5RequiredMinimumThe screen edits theory, usage, and weights, and previews a reference face. It cannot add or delete an element.Walkthrough. The add-element control is absent.
ES-6Required90%Artists accept placement on the reference set.At least 90 percent of front-pose placements are acceptable across the eight face shapes, with the under-eye crescent and corner variants both reviewed. AR drift is recorded on the live subset and does not fail this proof of concept.

Test setup and records

Test setup. The manager, with the mask drawn on reference faces: eight face shapes, a front pose and a turned pose, one lighter skin and one deeper skin, and one textured under-eye.

Writes element and stencil records, used by the composer for what is allowed and by the renderer for what is drawn.

Module 5. Configure

Artist theory

The written Seint method. Artist Theory v2 is the starting text: one cream layer, the IIID roles, the placement map, the order of decisions, and how an artist chooses.

What the module holds

Foundations

IIID

What it is

Seint's one-layer cream foundation system. Highlight, Contour and Lip + Cheek are the core; Bronzer and Illuminator are optional.

The idea

A face isn't one flat colour. Instead of one shade everywhere and layers on top to put the depth back, each shade goes only where it's needed and everything is blended once. The result looks dimensional, not flat.

The name

Seint doesn't spell it out. Artists read IIID as "three-dimensional" (artist source).

HAC

What it is

Highlight and Contour, the light-and-shadow method built into IIID (artist source).

The idea

Lighter shades go on the areas that should come forward and Contour goes where shadows fall. Every shade is placed first and blended after, so the face keeps its light and shadow.

Cheetah HAC

dot every shade on, lighter ones first, then blend. It's a faster way to apply the same map, not a different theory.

How an artist works

Choosing, in order (base first, accents last)

  1. Level (depth) and face from Find My Shade; then undertone and concerns.
  2. Main Highlight: the match.
  3. Brightening and correction, chosen relative to the main.
  4. Contour.
  5. Cheek: Lip + Cheek or Pressed Pigment. It picks the lip family.
  6. Bronzer and Illuminator, if wanted.
  7. Eyes, brows, lips.
  8. The face map, then the intensity.

Putting it on (first to last)

corrector → deeper correcting Highlight → main Highlight and brightening → Contour → Lip + Cheek → Bronzer → Illuminator → setting powder → Pressed Pigment on the cheeks, if used → eyes → brows (Contour shade, then Brow Wax or Archangel Brow Gel) → lips → setting spray.

The corrector is chosen last (only if the Highlights aren't enough), but it goes on first, under the Highlight. Within the complexion, highlight-first, contour-first or Cheetah dots all end in the same map.

Principles

  • Match first. Every other shade is chosen relative to the main Highlight, so it has to be right.
  • One layer, placed then blended. Place every shade in its own area, then blend once. The shades are side by side, not stacked.
  • Blend until no edges show. Stipple, don't swipe.
  • Less is more. "Use less product, but put it in the right place."
  • Enhance, don't mask. Some natural skin should still show, and makeup doesn't change the shape of the face.

Theory at a glance

Seint theory in six rules

1. Base

The main Highlight matches your Level. Brightening is one to two shades lighter, on the under-eyes and the centre of the face.

2. Light and shadow

Highlight goes where light falls. Contour goes where shadow sits (hollows, nose sides, jaw), and bronzer where the sun hits.

3. Correct only as much as needed

First press your main Highlight on the spot, then a deeper Highlight, then Cream Corrector only if colour still shows. Green cancels true red, yellow cancels purple, orange cancels blue.

4. Intensity

Natural, Everyday, Full or Glam changes how much product goes down and adds zones as it goes up (Natural has no contour, illuminator or eyes). The zones themselves don't move.

5. The skin changes the amount

Oily skin gets less cream product and more powder on the T-zone. Movement areas around the eyes get less. Fine lines get less illuminator. From 41, brightening, illuminator, the lower eye lines and brows get less, while contour, bronzer and cheek sit higher instead of getting lighter; the base stays the same.

6. Cheek sets the lip

The cheek colour picks the lip family, and brows are filled with the contour shade.

Elements

Main highlight (base)

What it does

Evens the skin; your foundation and concealing shade.

Where it goes

Where you want even coverage, plus a light jawline touch; not everywhere.

Which products

Highlight, the shade from your Level set.

Adjustments

  • Match the face, not the neck; between two shades, pick the darker.
  • Washed out or settling in lines: one shade darker.
  • Oily ×0.85; no age factor.

Brightening

What it does

Brings areas forward with a lighter Highlight.

Where it goes

Under the eyes (inner-biased), between the brows to the forehead, nose bridge, above the cupid's bow, chin.

Which products

Highlight, one to two shades lighter than the main.

Adjustments

  • No shade in range: skipped.
  • Textured or mature under-eye: inner and outer corner accents only.
  • Age 41+ ×0.8, oily ×0.85.

Contour

What it does

Adds shadow; cool and muted, never orange.

Where it goes

Under the cheekbone (strongest at the ear), temples and hairline (into the hair), under the jaw and down the neck; nose sides at Full and Glam.

Which products

Contour; hair and brow colour guide its warmth.

Adjustments

  • Stop at the outer eye corner, never toward the mouth.
  • Over 40: up, out, lift.
  • Oily ×0.85.

Bronzer

What it does

Adds sun warmth; never a contour substitute.

Where it goes

Where the sun hits: upper forehead and apples of the cheeks, lightly, over the blush.

Which products

Bronzer (Bella, Heatwaves, High Tide, Tanlines, Xanadu), from your Level set.

Adjustments

  • Fine lines: Bella, not shimmery Xanadu.
  • Freckles: forehead ×0.8; oily ×0.85.
  • Over 40: higher on the cheekbone, off the apples.

Cheek (Lip + Cheek / Pressed Pigment)

What it does

Adds a flush and sets the lip colour family.

Where it goes

High, just above the cheek contour, blended toward the temple. Official: apples or chart diagonal.

Which products

Lip + Cheek from your Level set; or Pressed Pigment after powder.

Adjustments

  • Satin shade on the cheek, gloss on the lips; no satin in the set: keep its pick.
  • Over 40: slightly higher, longer upward blend.
  • Pressed Pigment: none at Natural, up to 0.80 at Glam.
  • Oily ×0.85.

Illuminator / glow

What it does

Glow on high points only; less is more.

Where it goes

Top of the cheekbone, under the brow arch, cupid's bow, inner eye corner, top of the nose bridge. Never on contour zones.

Which products

Illuminator by depth (Pearl, Honey, Angel, Nova, Rose Gold, Glow); deepest Level sets: Balm - Unscented.

Adjustments

  • None at Natural.
  • Fine lines: ×0.6, at most 2 zones.
  • Age 41+ ×0.8, oily ×0.85.

Corrector (colour correcting)

What it does

Neutralises discolouration, stopping at the first step that works.

Where it goes

Only on detected findings: under-eye, beside the nose, mouth corners, upper lip, patches, spots.

Which products

Main Highlight pressed on, then a Highlight 1–2 shades deeper, then Cream Corrector (complement colour, 10 % opacity).

Adjustments

  • Press: the zone's own stencil, or the spot stencil for a spot.
  • Red casts skip the deeper Highlight.
  • Applied, never sheer; one per area.

Brows

What it does

Fills sparse areas so brows look fuller, soft, not solid.

Where it goes

Along your natural brow, only where hair is missing; softer at the front. A start–arch–tail map only if sparse or drooping.

Which products

Your Contour shade (never pencil), then Brow Wax or Archangel Brow Gel.

Adjustments

  • No darker than needed; keep each brow's own shape.
  • Over 40: tail no lower than the start; ×0.85.

Eyes (eyeshadow / eyeliner)

What it does

Adds depth and definition.

Where it goes

Lid, crease, outer V, under the brow, lower lash line; liner along the upper lashes and soft on the outer lower. None at Natural.

Which products

Eyeshadow (quiz pair; 1 light, 2 medium, 1 dark), Eyeliner (Black Friday) or Pencil.

Adjustments

  • Complement eye colour; never Lady Bug, Guava or Daze.
  • Fine lines: matte except lid. Hooded: crease above the fold.
  • Age 41+: lower lash and liner ×0.8.

Lips

What it does

Lip colour in the cheek's colour family.

Where it goes

Patted on the lip centre, fading out; Pencil on the border or full Lipstick at Full or Glam.

Which products

Lip + Cheek from your Level set; Lip Balm, Pencil, Lipstick, Lip Tint, Lip Gelato.

Adjustments

  • Gloss or semi-gloss Lip + Cheek; the satin one goes on the cheek.
  • Order: Balm, Pencil, colour, topper.
  • Lip Oil or Lip Whip: optional add-on, not rendered.
  • Lip lines: satin, not heavy gloss.

Setting (powder / spray)

What it does

Sets the cream layers; changes shine, not colour.

Where it goes

Pressed sparingly into the T-zone (forehead centre, nose, chin), small under-eye area if creasing. Official: light dusting all over.

Which products

Vanilla Dust (matte) or Feather Blotting Dust (radiant); Fixate Setting Spray or Setting Spray. Plush Prep Mist is sold out.

Adjustments

  • Oily: T-zone ×1.3, Fixate before and after.
  • Dry: spot only ×0.5; textured under-eye ×0.6.

Rules checked on day one

  1. Bronzer is never used as contour.
  2. The main highlight matches the face. It is chosen before contour, and before everything else.
  3. Contour is less colourful than the main highlight, and reads as shadow.
  4. No lighter shade on a dark spot. A darker spot gets a deeper correcting highlight.
  5. A corrector is used only for a colour cast that remains after the highlight steps, never on a shadow from structure. At most three correction zones.
  6. Under-eye depth stays within 0.60 for brightening and 0.45 for the correcting highlight. The Cream Corrector stays at about 0.10.
  7. No shimmer or illuminator on fine lines or textured zones.
  8. Illuminator follows depth from the level set, and Balm replaces it at Level XI faces C–D and Level XII faces A–D.
  9. Lip and cheek stay in one colour family.
  10. Cheek contour stops at the outer eye corner and never moves toward the mouth.
  11. Intensity stays within each stencil's allowed range, never above 1.
  12. Missing evidence is not recorded as a skip.
  13. The plan uses only catalogue identifiers.
  14. No geometric morphing.

Acceptance

IDPoCBarRequirementPass condition
SAT-1RequiredMinimumVersion 2 is loaded, versioned, and is the text the composer uses.A new install composes against that version. The version is on the plan.
SAT-2RequiredMinimumThe editor can change the markdown and publish it without a deploy.Edit one sentence, publish, compose, and see the new version on the plan.
SAT-3RequiredMinimumThe rule list is explicit, and the gate uses it, including the fourteen rules above.One fixture per rule is rejected.
SAT-4OptionalMinimumA draft can be replayed on the fixed face set, and the difference in plans is visible.Replay shows which faces changed and which did not.
SAT-5Required95%A published theory change does not drop artist acceptance below the photo bar.The photo score after publish is still at or above 95 percent, or the publish is rolled back.

Test setup and records

Test setup. Markdown editor, version list, rule list, and replay with a plan diff.

Writes a theory version: prose sections and a rule list.

Module 6. Experience

Look composer

The Look Composer agent starts from the brand base (the quiz palette and the No. 4, No. 8, and No. 12 sets), fine-tunes it from the face analysis in dependency order, and records a reason for every change. For each element it decides the products, the stencils, and an opacity for each stencil: how much product is placed, before blending. This mirrors how an artist delivers a cart and a face map. The Look Editor agent then changes the look by the smallest action that satisfies the user's request.

Look Composer agent

This graph is the agent's loop. Solid edges are the forward order. Dashed edges are the retries. Code does every lookup, number, and rule check. An LLM agent makes the look decisions in four steps. jev answers the atomic questions at the gates. A vision model reads the photo and checks the render. Select a step to read its job.

    A change at a gate re-runs that step. A rules or render failure returns to the step that owns the element. At most two retries. Then a fallback plan built by code is shown, and labelled as such.

    The generative model sits behind one interface, so its identifier (the site's gpt 6 luna) is a configuration value and can change without changing the sequence.

    Steps in dependency order

    Decision order follows what each choice depends on. Layer order is the order in which the product goes on the face and is drawn. They are two separate lists, stored as separate fields, and both are on the theory page. The steps below group the decisions: S4 chooses the main, the brightening highlight, and the contour; S5 then runs the correction ladder against the main. Contour and correction do not depend on each other.

    StepDecidesWaits forWhy it is its own step
    S0 Capture gateWhether the photo can be measuredThe photoColour measured on a bad capture is wrong, and everything after it would be too.
    S1 Face analysisThe face report, each value with a confidenceS0ML models and vision questions run in parallel.
    S2 Profile completionWhich Find My Shade answers are still missingS1The essentials must be known before a base can be built.
    S3 Brand baseThe starting palette, with no modelG1Level and face select Seint's own palette.
    S4 Base complexionMain and brightening highlight, contour: products, stencils, opacitiesS3The base elements. Everything else is placed against them.
    S5 CorrectionThe ladder step for each finding, and any correcting highlight or Cream CorrectorS4The ladder starts from the chosen main highlight. Skipped when there are no findings.
    S6 Optional colour and glowBronzer, Lip + Cheek (or Pressed Pigment as a powder blush), illuminator or Balm: on, sheer, or offG2Lip + Cheek sits above the contour line, and illuminator stays off the contour.
    S7 FeaturesEyeshadow, eyeliner, brows, lipsG3 for lips; S4 for browsLips follow the cheek's colour family. Brows may use the contour shade.
    S8 Assemble and checkLayer order, rules, blending, and the render checkS4 to S7Checks the whole look at once.
    S9 DeliverThe look, the guide, and the cartG4Hands over to the Look Editor agent.

    Why an agent, not fixed code: the theory has 77 rules and 37 thresholds, several of which conflict by design, across about 30 face attributes and 87 stencils. A fixed decision tree cannot state its reasons in the user's terms or handle the combined cases. The agent chooses only among options that code has already computed and filtered to the catalogue, and it never does the maths.

    Why not fewer steps: correction needs the chosen main highlight, cheek colour needs the contour line, and lips need the cheek. Why not more: one step per element would add prompts and waiting without a new dependency, because eyeshadow and liner share one eye look, and bronzer, blush, and illuminator share the cheek area.

    Gates

    Each gate runs code checks first, then jev questions, then shows the user one card with "Looks right, continue" as the default. The gates sit after the decisions that later steps depend on. G1 and G4 always ask the user. G2 and G3 carry on by themselves only when all three hold: every code check passes, no required attribute is missing, and jev scores the gate at 0.85 or higher (the lowest confidence among its answers). Otherwise they ask. Either way the user always sees an editable summary, and an edit re-runs the step that owns it.

    GateAfterChecksThe user
    G0CaptureTwelve capture checks, in codeOnly sees a retake message
    G1Face reportEssentials present. jev: does each answer agree with what was measuredAlways asked. Confirms level and face, and answers the missing quiz questions. Composition waits.
    G2Complexion and correctionShade distances, under-eye ceilings, ladder stops, deviations. jev: is each reason supported by the rule it cites; is each ladder stop rightAsked only when a check fails, a required attribute is missing, or jev scores below 0.85. Always sees an editable summary, and can change depth or coverage before anything is built on it
    G3Optional colour and glowOverlap with the contour, shimmer on fine lines, powder blush chosen first only with a stated reason. jev: does the cheek family fit the undertone; is each skip justifiedAsked on the same rule as G2. Always sees an editable summary, and can turn bronzer, cheek colour, or glow on or off, and switch Lip + Cheek to Pressed Pigment
    G4Final lookLayer order, overlaps, availability. jev: is each reason grounded; is the colour story in harmony; is the look proportionately close to the brand baseAlways asked. Accepts the look, the guide, and the cart

    About jev. jev is TypeSafe's judgement model (currently jev-1.13.0). It takes a text or JSON state and a set of typed questions, and returns one typed answer per question: yes or no (noul), choice, or score. Choice and score answers carry a confidence. jev does not read images and does not write text. So the vision model checks the render, the agent writes every reason, and jev checks the reasons. TypeSafe has no separate gate object. A gate here is code checks, one jev request with one question per item, and thresholds in our code: below 0.6 confidence the issue is shown or the step is retried, 0.6 to 0.85 shows "please check", above 0.85 passes. These starting values follow TypeSafe's confidence-routing example and are tuned on the frozen set.

    Prompts built per step

    There is no single large prompt. Each agent step gets a template, plus fragments included only when they apply: only the elements, products, and stencils that exist in the catalogue and were selected for this user. A step never carries logic about something it cannot choose. Each fragment names the theory rules and book sections it states, so a changed rule points to the fragments that must change.

    What the plan contains

    Correction ladder

    Artists treat a spot with the smallest step that works. The composer does the same for every finding, and records where it stopped. This is the concealer role: Seint sells no separate concealer, and the Highlight product is described as its concealing shade.

    StepWhat is appliedGo on when
    1Main highlight at the zone's normal coverageThe spot still shows
    2The same main highlight, pressed with more local coverage (up to 0.9), then setThe spot is still darker than the skin around it
    3A correcting highlight one or two shades deeper, stippled on the spot first, with the main stippled on top without mixingA colour cast remains
    4A Cream Corrector in the complementary colour, under the highlight, one shade per sub-areaStop when neutral

    A shadow from structure leaves the ladder after step 1 and gets brightening instead. Under the eyes, every step stays within the depth ceilings. A lighter shade never goes on a dark spot.

    Look Editor agent

    One conversational agent handles chat in both AR and photo. It classifies the message, then takes one of three exits. On-screen toggles and sliders stay outside this agent and do not call a model. Looks are versioned. A chat change can be undone.

    Direct changes use no model. jev classifies the message. Redoing one element re-runs only the step that owns it, with its gate checks. A new plan re-enters the Look Composer agent at the base complexion step.
    User saysClassWhat happens
    Turn blush offDirectNo model. The cheek layer is disabled.
    Less opacity on the highlightDirectNo model. Opacity changes. Nothing else does.
    Softer along the jawDirectNo model. The jaw weight drops. Hollow and temple stay.
    One shade deeperDirectNo model. One step on the shade graph.
    Cover the spot on my cheekOne elementThe correction step runs again for that finding only.
    I look washed outOne elementThe base complexion step runs again and moves the main one step deeper. Washed out, or product settling in lines, usually means the main is too light.
    My contour looks muddyOne elementThe base complexion step runs again and moves the contour to a cooler neighbour on the shade graph.
    It looks cakey under my eyesDirectNo model. Under-eye coverage drops. If texture is high, the plan offers corner accents.
    Show me the order Kelly usesDirectNo model. The application preset changes. The look does not.
    Make it a wedding eveningNew planNew plan from the base complexion step. Complexity, illuminator, and lip may all change.

    Difficulties

    1. If the user sees nothing until the end, the wait is unclear. The time targets on the experience pages are the limit.
    2. A model will invent shade names unless an unknown identifier cannot be saved.
    3. The vision check will sometimes pass a poor render and sometimes fail a good one. The retry limit and the visible failure are required.
    4. Classifying "less contour" as a new plan is a defect.
    5. Model names and prices will change. They cannot be written through the feature code.
    6. Elements decided in separate steps can conflict. The overlap checks at each gate and the harmony question at G4 exist to catch that.
    7. Too many confirmation cards tire the user. There are four, each with a default. G2 and G3 pass on their own when every check is confident, and still show an editable summary.
    8. jev reads literally and should not do arithmetic. Code turns distances and counts into named buckets before jev sees them.
    9. Over-correction is the common artist complaint. The ladder and the depth ceilings exist so the system does not reach for a corrector or heavy coverage when the main highlight is enough.

    Acceptance

    IDPoCBarRequirementPass condition
    LC-1RequiredMinimumThe Look Composer agent runs the steps in order and stores a trace.The test view shows every step, with the model and the time.
    LC-2RequiredMinimumAgent steps call the configured LLM. Gate questions call jev. The render check calls the vision model. Maths and rule checks are code.The trace names the model per step. A configuration change can point a step at a different model id.
    LC-3RequiredMinimumEvery element has a decision and a reason. Applied elements name a stencil, a catalogue product, an opacity, and zone weights where the stencil has zones.The schema check passes. Every finding names its ladder step. An invented product id is rejected at the rules gate.
    LC-4RequiredMinimumThe vision gate reviews a real render. Failure retries at most twice, then shows the best attempt and the reason.A fixture built to fail does not loop. The reason is visible.
    LC-5RequiredMinimumThe plan includes alternatives, the guide, and the owned versus to-buy list.Two to four alternatives, the applied steps in the guide, and a product list.
    LC-6Required100%The Look Editor agent classifies the request. Toggles and opacity do not call a model.Every scripted line lands in the stated class. A slider creates no model trace.
    LC-7Required95% / 85%Artists accept the look as a Seint starting point.At least 95 percent Accept on the frozen photo set. At least 85 percent Accept on at least 15 live scans. The photo number is the headline.
    LC-8Required95%Edits do what was asked and leave the rest unchanged, except when the class is a new plan.At least 95 percent of the scripted edit set passes.
    LC-11RequiredMinimumEvery product outside the brand base carries a deviation with its reason and rule.A fixture plan with an unexplained product fails the schema.
    LC-12RequiredMinimumMissing Find My Shade answers are asked at G1 before composition.A report without skin type produces the question, and no complexion plan is written until it is answered.
    LC-9Optional80%The correction ladder stops at the artist's step.Within one step on at least 80 percent of labelled findings.
    LC-10Optional70%The main highlight is one an artist would choose.At least 70 percent agreement with any rating artist.

    Test setup and records

    Test setup. Run the graph on a frozen face analysis and profile. Inspect each step, the cost, and the time. Replay the edit set.

    Reads face analysis, client context, the brand base (quiz prior and level sets), candidate sets, element and stencil records, prompt fragments, and the theory version. Writes a look plan and the gate results.

    Module 7. Experience

    Look renderer

    Apply the look JSON to a face. On photographs our own compositor draws and blends the stencils; in live AR Banuba tracks the face and paints the baked textures. This module does not choose a product or a placement.

    Behaviour

    How each role is drawn

    RoleDrawn asCheck
    Main and brightening highlightCoverage that evens tone and keeps skin texture. Brightening is the main plus lift, not shine.No hard edges between territories
    ContourCoverage in the contour's own colour, with skin detail keptLess colourful than the main; visible on deeper skin; never brown or orange
    Cream CorrectorA colour shift at 0.10 opacity, under the highlightChanges hue, barely changes lightness
    Lip + Cheek, bronzerA tint over the complexionBronzer above the blush
    Pressed Pigment (powder blush)A powder tint above the setting powderOnly when the user switches to it, or with a stated reason
    IlluminatorAdded shine on the high pointsKept off textured zones
    Eyes, brows, lipsTheir own layers, keeping lashes, brow hairs, and lip textureIn AR only where that area is tracked with a confidence of at least 0.70

    Rendering path

    Difficulties

    1. A correct product id still looks wrong if the render values are a flat tint. Matching Seint cream is calibration work.
    2. AR and photo will diverge if each mode keeps its own masks. Both must read the stencil record.
    3. Neck contour may have no surface to paint if the mesh ends at the jaw. The system must not claim the neck was painted when it was not.
    4. A spot mask will slide between frames unless it stays attached to landmarks.
    5. Rebuilding the whole effect on every slider move will drop frames on a mid-range phone.
    6. A brown contour multiplied onto skin drifts orange and over-darkens deep skin. Contour must be checked for hue as well as depth.
    7. Banuba's texture path is deprecated and its face layout is undocumented.

    Acceptance

    IDPoCBarRequirementPass condition
    LR-1RequiredMinimumA look JSON renders on an uploaded photograph with our own compositor, and in live AR through Banuba.The same fixture plan appears in both modes in the demonstration.
    LR-2RequiredMinimumProducts, regions, and opacities match the JSON. The renderer adds no product.A checklist plan is compared, layer by layer, with both outputs.
    LR-3RequiredMinimumToggle, opacity, and zone weight update the image without a composer call. Before and after works in both modes.Those controls create no compose request.
    LR-4RequiredMinimumA localized layer is visible at the finding. A snapshot can be passed to the vision gate.A fixture finding shows product at that position. The gate receives an image.
    LR-5RequiredMinimumLayer order matches this page, and the complexion is drawn in one pass.A debug view lists the layers in the order above.
    LR-6Optional20 fpsAR stays interactive on the reference phone named in the first week.At least 20 frames per second after warm-up, with a full look applied.
    LR-7Required90%Artists are not rejecting looks because product landed in the wrong place."Placement is wrong" is the reason on fewer than 10 percent of rejected photo looks.
    LR-8RequiredZeroNo morphing. Smoothing stays within the disclosed limit.A render-plan check finds no morph and no smoothing above the limit.
    LR-9Optional90%On deeper skin the contour is visible and not brown.At least 90 percent of Monk 7 to 10 looks pass the contour check.

    Test setup and records

    Test setup. A JSON view with the photograph and a recorded AR clip side by side. Saved plans can be rendered again and compared when render values or stencils change.

    Reads a look plan, stencil geometry, and render values. Writes the live render and a snapshot.

    Module 7. Experience

    Blending

    How the renderer turns placed product into a blended look. The stencil says where the product is put down. The blend says how an artist then moves it. This is model BL-2, approved on 29 September 2026 and proven on one test face (f010).

    The model in plain language

    1. Seed deposit. Each stencil is put down first, as an artist places a stick or a dense brush. Its opacity is the placed deposit: how much of the skin the product covers where it lands. At the default Everyday intensity, cheek contour is placed at 0.90.
    2. Direction-aware spread. Each stencil then moves the way its brush would: along the swipe, and toward a point on the face. Cheek contour is pulled up and back toward the top of the ear. Lip + Cheek is pulled toward the temple. Jaw contour is pulled down the neck, and hairline contour into the hair. Each stencil names its tool, how far it spreads, how much further along the swipe than across it, how far it drifts, and how many passes it gets. More passes soften the edges without spreading further.
    3. Nothing is added or lost. Blending only moves product, so a wider blend is also a softer one. The strength after blending follows from that. Cheek contour placed at 0.90 ends at about 0.40 at its strongest point, spread over four to five times the placed area.
    4. Hard stops. Some edges are walls that product never crosses: the eyes and lash lines, the lip line, the nostrils, the ears, and the background. Other edges fade the product out, so no line is drawn: the nose and the area around the mouth for cheek colour, the brow hairs, the outer edge of the brightening zone, the contour for illuminator, and the hair.
    5. Passes in layer order. The layers are blended in the order they are applied: Cream Corrector, then the correcting highlight, then the cream complexion (main and brightening highlight, contour, and Lip + Cheek, all placed first and then blended), bronzer over the blush, illuminator, setting powder, powder blush (if chosen), eyes, brows, and lips. Setting spray goes on last and is not blended. A later cream layer slightly softens the wet cream under its brush, as a real brush does.
    6. Pigment mixing. Where cream products overlap, their colours mix as pigments do, rather than being laid one on top of another. Skin texture shows through: about half of the skin detail under the complexion and lips, 90 percent under the eyes, and all of it under the brows. The main highlight is matched to the measured skin, so the complexion reads as the person's skin, evened.
    7. Baking for AR. The blended result is baked into textures on a standard face mesh: one per element, and one per layer group (cream, eyes, brows, lips). Banuba then draws them on the tracked face in every frame. Nothing is recomputed per frame. The textures are baked again only when the look changes.
    Face f010 with the full blended look: soft contour, flush toward the temples, bronzed forehead, defined eyes, brows, and lips.
    The full look on f010, at the default Everyday intensity. The base look plus eyeshadow, liner, brows, and lips, all blended. The contour and flush are visible and have soft edges. The same look placed and blended side by side is on the elements page.
    Twelve square textures: the blended product of each element laid out flat on the face mesh.
    The same look, baked for AR. Each square is one element's blended product laid out flat on the MediaPipe face mesh. The last square is the mixed cream layer. The chequer shows where a texture is transparent. Banuba's own layout is not documented, so a remap is still needed.

    How each element is blended

    Sourced means the direction or end point comes from Seint or a named Seint artist. Secondary means it comes from notes on a tutorial video. Inferred means it is our own construction. Every distance and number is inferred: each was tuned by eye on f010 and checked against the face's landmarks and the zones in the theory.

    ElementHow it is movedWhere it ends upBasis
    Main highlightBuffed outward with a dense brush, in three passes.The whole face, fading at the hairline and the jaw edge.Sourced: where it ends (Heather Gilligan, JoEllen Woods). Inferred: the outward buff.
    Brightening highlightPressed outward with a damp sponge under the eyes and a dense brush elsewhere, in three passes.Out to the edge of its zone and no further, inside Seint's under-eye wedge, so it never becomes a whole-face mask.Sourced: the zones (Seint "How to use IIID" chart). Secondary: the sponge under the eye (notes on a Kelly Snider video). Inferred: stopping at the zone edge.
    Correcting highlightPressed with a detail brush, one pass.Stays on the spot.Sourced: the tool and the order (Kelly Snider). Secondary: that it hardly moves (video notes).
    Cream Corrector (Demi)A detail brush point, then a light buff, one pass.Stays on the spot, at 0.10 opacity.Sourced (Heather Gilligan, Kelly Snider). Secondary: that it hardly moves (video notes).
    Cheek contourA dense brush along the swipe, pulled up and back toward the top of the ear, in three passes.Heaviest at the ear, forward to about the outer eye corner, up above the cheekbone toward the temple, softened under the cheekbone, and fading well above the jaw.Sourced: the direction and the end points (JoEllen Woods: "blending upward, from the hairline to about the corner of the eye", heaviest near the ear; "Up. Out. Lift."; the Seint chart). Inferred: the lower limit.
    Hairline contourBlended outward from the face centre, into the hair.Into the hair above the hairline, down to the temple, not below the top of the ear.Sourced (JoEllen Woods: forehead contour blends into the hair).
    Jaw and neck contourPulled down.Below the jaw line and down the neck, not up onto the cheek.Sourced (JoEllen Woods, AtypicalErin).
    Nose contourThin lines with a detail brush.Stays a thin line beside the nose.Sourced: the tool (Seint brush pages). Inferred: the direction.
    Lip + Cheek on the cheekA dense brush along the cheek diagonal, pulled back and up toward the temple, in three passes.Just above the contour, from beside the nose and mouth corner (never on them) back to the temple, up to about the level of the eye corner.Sourced (Kelly Snider: "pull it back slightly toward your temples"; JoEllen Woods: higher toward the temple; the Seint chart; the Seint Lip + Cheek page).
    Powder blush (Pressed Pigment)A fluffy brush, the same direction as Lip + Cheek, three passes, after the setting powder.The same area as Lip + Cheek.Sourced: the direction (as Lip + Cheek) and the product (Seint Pressed Pigment page). Inferred: going on after the powder.
    BronzerA fluffy brush, wide and sheer, drifting toward the temples, two passes, over the blush.The forehead out to the temples, and the cheeks from beside the nose to the temple. It stays above the brows and above the mouth corners.Sourced (Seint Bronzer page: "where the sun would naturally kiss your face", "over your blush"). Secondary: around the temple (notes on a Kelly Snider video). Inferred: the lower limits.
    IlluminatorFingertip dabs, two passes, no drag.A small point. It grows by at most a tenth of the distance between the pupils, and never lands on the contour.Sourced (Heather Gilligan: dab, never sweep; less is more). Inferred: how far it grows.
    Setting powderPressed with a damp sponge.Stays where it is pressed.Sourced: the tool and the zones (Seint Setting Powder page, JoEllen Woods).
    EyeshadowLid colour pressed on with a fingertip. Crease colour blended with a fluffy brush, up and out, in three passes.Lid colour stays on the lid. Crease colour goes up through the crease to the brow bone and fades out before the brow.Sourced: "from your eyelids to your brow bone" (Seint Eyeshadow page). Secondary: up and out through the crease (notes on Kelly Snider's eyeshadow videos).
    EyelinerA liner brush, one pass.Stays a thin line on the lash line.Sourced: the tool (Seint brush pages). Inferred: the direction.
    BrowsA spoolie, brushed up and out.Stays in the brow.Sourced (Seint Brow Wax page: "Brush your brows upward and outward").
    LipsTapped with a fingertip from the centre outward, two passes.Inside the lip line.Sourced: Lip + Cheek in the centre of the lips (Seint Lip + Cheek page). Inferred: the tapping.

    What changed from BL-1

    In BL-1 an opacity was the strength after blending. Contour at 0.30 therefore put very little product down, and the blended look on f010 was almost invisible. BL-2 makes the opacity the amount placed, which is how an artist thinks about it, and blends further, to where artists say each product ends up. All 23 reach checks now pass on f010 (BL-1 passed 22).

    ElementSpread (pupil distances)Area after blendingStrongest point after blendingEffect
    Cheek contour0.07 → 0.123.1× → 4.2×0.30 → 0.42 (placed 0.90)Now reaches up above the cheekbone toward the temple.
    Lip + Cheek on the cheek0.11 → 0.134.3× → 4.0×0.35 → 0.59 (placed 0.90)Reaches higher toward the temple; spreads along the diagonal.
    Bronzer on the cheeks0.11 → 0.146.3× → 9.0×0.15 → 0.13 (placed 0.45)Wider, from beside the nose to the temple.
    Bronzer on the forehead0.11 → 0.162.7× → 3.1×0.15 → 0.26 (placed 0.45)Out to the temples.
    Under-eye brightening0.06 → 0.121.6× → 2.3×0.40 → 0.41 (placed 0.60)Reaches the edge of its zone, not beyond.
    Cheekbone illuminator0.035 → 0.0751.6× → 2.8×0.20 → 0.32 (placed 0.50)Still a small point.
    Eyeshadow crease0.05 → 0.073.6× → 4.6×0.25 → 0.30 (placed 0.80)Up to the brow bone.
    Jaw contour0.10 → 0.143.4× → 4.8×0.20 → 0.38 (placed 0.75)Further down the neck.

    Area after blending is the blended area divided by the placed area. The figures come from the element renders on f010.

    Limits

    Integration

    How the modules connect

    Modules meet only through the records below. A module test is complete when it can run on fixtures of its input and produce its output. Integration is complete when the demonstration runs with nobody pasting JSON between steps.

    Session flow

    The snapshot returns to the composer for the render check. A failed gate returns to the composer, not to a manual edit of the JSON.

    Records

    RecordWritten byRead by
    Capture setAR capture or photo upload, after the quality gateFace analysis
    Face analysisFace analysisThe report, the composer, and the renderer for positions
    Client contextProfile and the sessionThe composer, and inventory filters
    Candidate setInventory retrievalComposer element steps
    Element and stencilElements managerComposer and renderer
    Theory versionTheory editorComposer steps and the rules gate
    Quiz prior and level setsInventory (the 48 level-face sets, and No. 4, No. 8, No. 12 per level)Composer step S3
    Brand baseComposer step S3Every agent step, and the deviation checks at the gates
    Gate resultsCode checks and jev at G0 to G4The user cards, retries, and the trace
    Look planLook Composer agentRenderer (complexion role and coverage maps, layers), Look Editor agent, and the result the user keeps
    SnapshotRendererRender check, and before-and-after

    Integration

    Demonstration

    The script that must run without hand-edited JSON. Passing this script is integration. It is not, by itself, the acceptance bars.

    Prepare once

    1. Publish Artist Theory v2.
    2. Load the in-scope catalogue, use cases, and render values, and the Find My Shade map.
    3. Confirm the elements and the stencil library.
    4. Save a base profile with a palette and one allergy.

    Then, with one person

    1. AR: override the occasion, complete four poses, read the report, correct one item, wait for the look, and see it live.
    2. Turn contour off and on. Change highlight opacity.
    3. Ask for a softer jaw. Ask for an evening version. Undo once.
    4. Photo: straight, plus one side, and no neck. The report must state that the face-to-neck check was not possible. The look renders on both photographs.
    5. Leave with a guide and a product list that respects the allergy and prefers the palette.
    6. Repeat the photo run on a face with a brown spot. The plan stops at the main highlight or the correcting highlight, not at a corrector.
    7. Repeat on a face with a textured under-eye. The plan uses corner accents, not a crescent.

    Integration

    Responsibilities

    Who supplies the material, who builds the system, and who signs the result.

    Division of work

    WorkSeint teamDevelopment team
    Golden faces and reference notesArtists create or approve the reference judgment for each faceHost the set, freeze it, and prevent edits during a score run
    The acceptance ratingArtists mark Accept or Revise, with a reasonRun the looks and publish the score report
    Theory textOwn the wording and sign a publishEditor, versions, replay, and the rule gate
    Catalogue and use casesConfirm shades, use cases, and the situation answer keyRecords, pgvector index, retrieval stages, and render values
    Findings labelsMark colour cast versus shadow, the darkest point, and textured under-eyes on the frozen setStore the labels and score the analysis against them
    PlacementAccept or reject stencils on the reference faces, including the under-eye variantsLandmark masks, the manager, and both renderers
    Allergies and paletteReal examples of limits and owned compactsFilters and the preference rule
    Sign-offSign the rubric and the frozen set before the runSign that every required row passes and that the report matches the run

    Integration

    Open decisions

    What has been decided, and what still needs an answer before the face set is frozen. Until an open item is decided, the scope page states the working assumption.

    Decided on 29 September 2026

    Achin Kumar approved these decisions.

    1. Gates G2 and G3. They pass on their own only when every code check passes, no required attribute is missing, and jev scores the gate at 0.85 or higher. Otherwise the user is asked. An editable summary is always shown. G1 and G4 always ask.
    2. Two orders. Decision order (which choice depends on which) and layer order (how the product goes on and is drawn, 13 layers) are two separate lists, stored as separate fields. Both are on the theory page.
    3. Powder blush. The cheek product is a switch between Lip + Cheek (the default) and Pressed Pigment, the powder blush. The composer suggests Pressed Pigment first only with a stated reason, and shows that reason to the user. Seint sells no product named "blush".
    4. Eyes, brows, and lips in AR. They are drawn in live AR only when the face reading for that area is confident enough (at least 0.70). Otherwise they are drawn on the photo only, with a short note on the final-look screen. The 0.70 is our starting value (inferred), not a Seint figure.
    5. Neck. Face only, the Seint default. The main highlight is matched to the face, not the neck. When the neck is visible, the report says whether it is darker or lighter than the face, as a check, not the match target.
    6. Application presets. The guide offers five: highlight first, contour first, main first, Cheetah dots, and one brush. A preset changes the guide text only, never the layer order or the render.
    7. Cream Corrector (Demi) at 0.10 opacity, from 0.08 to 0.15 by intensity. Kelly Snider: "these Cream Correctors are unique with only 10% opacity". Heather Gilligan: "Seint Demi under eye have just 10% opacity". Seint: "apply a light touch of color directly to the places on your skin that need filtering". More coverage on a spot comes from the correcting highlight, not from more Demi.
    8. Opacity is the placed deposit. The opacity in a look plan is how much product goes down where it is placed. Blending then spreads it without adding or removing any, so the finished strength is lower. The blending page explains the model (BL-2).

    To decide

    1. Which artists will rate, and whether they can review 40 looks plus 15 live scans.
    2. Whether Cream Correctors are drawn in AR in this proof of concept, or named in the guide only. They are drawn in photo mode.
    3. The reference phone for the frame-rate check.
    4. How long photographs and analysis may be stored, and who can delete them.
    5. Whether a look may recommend a product the user does not own, or must stay inside the palette.
    6. Whether the product list links to purchase in this proof of concept, or only names the products.
    7. Who is allowed to publish a theory version.
    8. Whether the wait targets of 10 seconds for analysis and 25 seconds for a look are acceptable.
    9. Whether bronzer is on by default, as in the official level sets, or opt-in.

    Working assumptions