5.8 KiB
5.8 KiB
name, description
| name | description |
|---|---|
| import-talent-screenshot | Extract a Division Resurgence talent from one or more screenshots, isolate its icon, reconcile Tier I and Tier II wording and values, create any missing mechanic prerequisites, and enter the reviewed talent through SHD.build ISAC. Use when the user supplies talent screenshots or asks to import, create, model, or enter a pictured talent. |
Import Talent Screenshot
Create a complete, modeled talent from screenshots. Submit mutations to the authenticated ISAC server action so validation, permissions, relationships, icon handling, and audit logging remain intact. Prefer direct requests over operating the editor UI.
Workflow
- Inspect every supplied screenshot at original detail.
- Extract the displayed title, description, highlighted values, thresholds, durations, stacks, and other mechanically meaningful wording.
- Classify a title ending in
IIas Tier II. Classify the matching title withoutIIas Tier I. Store one talent under the base title without the tier suffix. Do not strip a numeral that is genuinely part of the base name; ask when the screenshots do not establish the distinction. - Reconcile both tiers into one shared description template. Replace tier-varying values with numbered placeholders in reading order. Use
{duration}and{max_stacks}only when the mechanic defines them. - Ask the user for exactly one required choice before entry:
Weapon Talent 1,Weapon Talent 2,Backpack, orBody Armor. Do not infer this choice from the icon or talent wording. - Ask other questions only when missing evidence would materially change stored data or combat behavior. State the unresolved alternatives precisely.
- Search the Talent registry for the same base name and category. Update only when the user explicitly requests an update; otherwise stop on a duplicate.
- Search active attributes, supported mechanic recipes, runtime events, outcomes, scopes, resources, and state behavior before creating prerequisites. Reuse semantically identical records.
- Implement missing mechanic functionality when the screenshot establishes behavior that the runtime cannot yet represent. Extend the shared mechanic types, validation, persistence, ISAC editor, runtime execution, pseudo-script, reference UI, schema migration, and focused tests as required. Preserve generic semantics; do not add talent-name checks or a one-off recipe when a reusable event, outcome, scope, resource, or state rule fits. Follow the repository's database-preservation procedure before applying a schema migration.
- Create a missing attribute or other data requirement through its authenticated ISAC server action only when its name, unit, type, category, and calculation semantics are established by the screenshots or project data. Ask for any material field that cannot be derived safely.
- Model the mechanic with the narrowest supported recipe. Prefer health-threshold bands for wording such as “while below N% Health.” Treat those bands as mutually exclusive strongest-matching ranges unless the source explicitly says effects stack.
- Set each numbered outcome's Tier I and Tier II values, phase, scope, basis, and attribute. Mark the mechanic
READYonly after the full behavior is executable and tested. UseASSUMPTIONSorCAPTURE ONLYonly when source evidence is incomplete, not merely because runtime functionality is missing. - Isolate the icon from the screenshot. Preserve the pictured silhouette rather than redesigning it. Remove text and UI background, center it on a square transparent canvas, retain antialiased edges, and validate it at small display size. Use the image-generation editing workflow only when a faithful crop and local cleanup are insufficient.
- Build one
multipart/form-datapayload matching the current talent form contract, including the prepared icon and serialized mechanic program. Submit it directly to the authenticated/isac/talents?/saveTalentserver action. Use browser-sidefetchwhen the browser holds the authenticated session. Do not open, populate, click, or submit the talent editor. Do not use the editor's file input to stage the icon. Make the icon available to the browser-side request without interacting with the editor, then attach it to theFormDataas aFile. Inspect the current route source before relying on a field name or action path. - Read the saved registry row back. Verify the name, category, icon, both rendered tier descriptions, modeled state, thresholds, values, and any newly implemented runtime behavior. Confirm the successful
game_dataaudit event when audit access is available.
Guardrails
- Never invent values hidden by cropping, blur, overlays, or missing tiers.
- Preserve strict wording: “below 25%” means
< 25, not<= 25. - Do not add tier values together. For ordered health thresholds, select the value for the current non-overlapping band unless the source states that effects accumulate.
- Do not create a near-duplicate attribute because of capitalization, spacing, or a synonymous label.
- Do not expose credentials, session data, or personal data in screenshots or audit checks.
- Never write talent, tier, effect, mechanic, icon, or audit rows directly to the database. Never call lower-level persistence helpers to bypass the route action.
- Do not manually create an audit event. A successful server action must create it.
- Never use the talent editor UI for an import. If direct submission cannot preserve the authenticated session, file upload, or current form contract, stop and report the blocker.
- Preview extracted fields and planned mechanics before the first external mutation when the user has not already approved entry.
Project Reference
Read references/shd-talent-entry.md before entering a talent. Re-check the referenced source files when the application schema or editor changes.