PASS focused native VFX suite
PASS native game assets loaded
PASS mixed opaque/transparent submesh masks, native cutout UV scale/offset, cached unreadable alpha readback and sleeveless clothing alpha prevent births on invisible geometry; filtered selection survives BakeMesh deformation
PASS cached deterministic triangle-surface geometry, curved bow coverage, multiple meshes and LOD ownership, shear/mirrored transforms and sheath reparenting
PASS sparse bone and multi-frame bow blend-shape anchors match correctly transformed Unity BakeMesh and actual rendered skin masks; armor bone filters prevent chest/leg cross-emission; unreadable mesh surface recovered and agrees with original triangles
PASS native trail head masks, independent dual heads, transformed attachment identity, bow grip exclusion, focus-staff exceptions and profile-aware sample budgets
PASS model-aware native routing: 268 equipment templates, 308 parts, 105 artist-authored striking intervals, 306 sampled parts; blade=42, bow-limbs=33, casting-focus=3, club-or-torch-head=2, crossbow-limbs=23, excluded-grip-or-string=2, fist-surface=6, loaded-bolt=1, native-striking-edge=105, paired-axe-head=8, separate-striking-part=1, shield-face=22, spear-tip=14, staff-crown=10, striking-head=10, unknown-crossbow-surface=3, unknown-real-surface=23
PASS actual native profile renders: AxeStone/0=7177 protected native pixels / 5412 affected blade or limb pixels / 0 protected changes; SwordBronze/0=1278 protected native pixels / 4181 affected blade or limb pixels / 0 protected changes; BowFineWood/0=264 protected native pixels / 1386 affected blade or limb pixels / 0 protected changes; AxeBerzerkr/0=5688 protected native pixels / 3739 affected blade or limb pixels / 0 protected changes; AxeBerzerkr/1=4725 protected native pixels / 5489 affected blade or limb pixels / 0 protected changes; AxeBerzerkrBlood/0=5905 protected native pixels / 2204 affected blade or limb pixels / 0 protected changes; AxeBerzerkrBlood/1=4777 protected native pixels / 4264 affected blade or limb pixels / 0 protected changes; AxeBerzerkrLightning/0=4697 protected native pixels / 4952 affected blade or limb pixels / 0 protected changes; AxeBerzerkrLightning/1=4774 protected native pixels / 5031 affected blade or limb pixels / 0 protected changes; AxeBerzerkrNature/0=6067 protected native pixels / 3286 affected blade or limb pixels / 0 protected changes; AxeBerzerkrNature/1=6143 protected native pixels / 3365 affected blade or limb pixels / 0 protected changes
PASS exact elemental mapping; saved PQS and actual percent independently increase strength; 25 percent PQS threshold; legacy values and bounded wire roundtrip
PASS identical perk power at ranks0..12; four saved-PQS particle strengths at rank1; armor budgets <=48, bounded world accents and authored shader assets; shader=Nornforged/ElementalSurface; Nornforged/ElementalParticle
PASS low-rank slot reuse, leg-following, individual elemental identity and coordinated full armor budget <=240 particles
PASS reduced/intensity/particle preferences and immediate owned cleanup
PASS equipment audio: 324 assertions; 12 native families, bounded dual-family mix, native attack hooks, owner/sequence/time/distance/rate validation. 1 local native-PCM listening previews (not a substitute for gameplay listening). Acoustic listening and live remote transport remain separate acceptance checks.
PASS equipment audio native runtime: 13 assertions; real native attack and projectile setup/terminal-hit methods, immutable launch palette and unchanged damage/velocity.
PASS native equipment audio DSP capture: 19 unique clips decoded, 24 family phases, 0 unavailable/silent clips. Local WAVs only; listening still required.
PASS real-frame authored VFX: single-clock lifetime, strongest-two composition, existing-cohort deformation, teleport cleanup, cull return, repeated-update reuse, disable/reactivation and zero intensity. 100 cached configure calls: 0.22 ms (diagnostic, not an FPS benchmark).
Particle step CPU call-cost probe: nine native models (3 AxeStone, 3 SwordBronze, 3 CrossbowArbalest), 9 mapped parts, 36 owned systems, 522 maximum particles.
Stopwatch interval covers only the managed policy call and any synchronous native work it waits for. Automatic-policy worker simulation, rendering, other game work and frame-rate effects are NOT included. No total CPU/FPS comparison is claimed.
ABBA order: automatic scheduling, explicit simulation, explicit simulation, automatic scheduling. Six warm frames and 44 measured frames per phase; rendering disabled on probe particle systems. No user equipment or native asset is modified.
phase 1 automatic scheduling: n=44, median=0.031 ms, p95=0.042 ms, max=0.044 ms, live particles=164..194
phase 2 explicit: n=44, median=0.075 ms, p95=0.095 ms, max=0.101 ms, live particles=165..196
phase 3 explicit: n=44, median=0.079 ms, p95=0.116 ms, max=0.129 ms, live particles=165..196
phase 4 automatic scheduling: n=44, median=0.031 ms, p95=0.043 ms, max=0.052 ms, live particles=165..196
combined automatic scheduling: n=88, median=0.031 ms, p95=0.042 ms, max=0.052 ms, live particles=164..196
combined explicit: n=88, median=0.078 ms, p95=0.115 ms, max=0.129 ms, live particles=165..196
Observed native deltaTime range: 16.666–16.667 ms. Timings are descriptive; no hardware-independent performance threshold is imposed.
PASS bounded particle call-cost comparison completed; owned systems paused, emptied and deactivated; visual settings restored. Existing particle systems were observed only, never paused or reconfigured.
PASS no-model helmet/shoulder/accessory slots retain hidden reusable state with zero live particles; late binding, model removal and rebind use actual mesh surfaces only
PASS native HelmetLeather surface on installed 95x player-bone layout: high-PQS rank1 effect stays on the native helmet, all five slot scales and actual billboard dimensions remain in player units
PASS chest/leg regions follow baked body triangles through limb pose, player transform/scale and armature-scale changes; same visibility at ranks0..12, weak high-rank removal, disable/re-enable, settings, slot reuse and native asset preservation
PASS SwordBronze: native triangle-surface anchors, authored surface fire + frost, unchanged original models, local held/back transforms, particle budget, eight equip cycles, unchanged native assets
PASS BowFineWood: native triangle-surface anchors, authored surface fire + frost, unchanged original models, local held/back transforms, particle budget, eight equip cycles, unchanged native assets
PASS CrossbowArbalest: native triangle-surface anchors, authored surface fire + frost, unchanged original models, local held/back transforms, particle budget, eight equip cycles, unchanged native assets
PASS StaffFireball: native triangle-surface anchors, authored surface fire + frost, unchanged original models, local held/back transforms, particle budget, eight equip cycles, unchanged native assets
PASS 25 percent PQS threshold; equal power/budget at ranks0..12; four increasing saved-strength profiles at rank1; moving native particles, reduced effects and particles-off cleanup
PASS explicit bone +75% draw-blend fixture: emission follows baked animated surfaces, original mesh/bones/draw weights preserved
PASS authored skinned mesh follows original bones,73% draw blend and nonuniform scale; source force-hide and teardown hide it immediately
PASS unreadable mesh local-bound fallback without native material/mesh replacement
PASS native shared textures=1, shader=Nornforged/ElementalSurface; Nornforged/ElementalParticle
PASS independent single-particle Hierarchy renderer calibration: BakeMesh(camera,true) world mapping=translation, transform-change error before synchronization=0.82275m, after .00001s simulation=0.00000m
PASS independent World/Shape particle BakeMesh coordinate calibration mapping=0 and emitter-motion invariance
PASS AxeStone native imported scale: rendered birth error=0.00000m, frost surface distance=0.05177m, .9s-to-expiry maximum=0.01997m
PASS AxeStone rotated nonuniform parents: rendered birth error=0.00000m, frost surface distance=0.03233m, .9s-to-expiry maximum=0.03474m
PASS AxeStone mirrored sheared parents: rendered birth error=0.00000m, frost surface distance=0.01945m, .9s-to-expiry maximum=0.05074m
PASS AxeStone live parent rescale: rendered surface distance=0.00000m
PASS SwordBronze native imported scale: rendered birth error=0.00000m, frost surface distance=0.01287m, .9s-to-expiry maximum=0.04156m
PASS SwordBronze rotated nonuniform parents: rendered birth error=0.00000m, frost surface distance=0.02185m, .9s-to-expiry maximum=0.08148m
PASS SwordBronze mirrored sheared parents: rendered birth error=0.00000m, frost surface distance=0.02177m, .9s-to-expiry maximum=0.04923m
PASS SwordBronze live parent rescale: rendered surface distance=0.00000m
PASS BowFineWood native imported scale: rendered birth error=0.00000m, frost surface distance=0.04375m, .9s-to-expiry maximum=0.02150m
PASS BowFineWood rotated nonuniform parents: rendered birth error=0.00000m, frost surface distance=0.02634m, .9s-to-expiry maximum=0.04498m
PASS BowFineWood mirrored sheared parents: rendered birth error=0.00000m, frost surface distance=0.03541m, .9s-to-expiry maximum=0.05512m
PASS BowFineWood live parent rescale: rendered surface distance=0.00000m
PASS actual ParticleSystemRenderer.BakeMesh billboard centers follow native AxeStone, SwordBronze and BowFineWood world triangles through imported scale, rotated nonuniform and mirrored parents, and live rescaling
PASS actual native SwordBronze held/back snapshots, source/current prefab identity, stale metadata rejection, equal perk power at ranks0..12, weak-perk removal, same-component recovery and unchanged native assets
PASS twelve rotating/translating held/back transitions preserve saved strength with exactly one owned surface per native attachment; native removal hooks immediately clear owned VFX. Live network timing remains a separate test.
PASS read-only complete ObjectDB equipment enumeration. All-equipment audit: 800 templates (487 without recipes), 800 valid profiles, 0 unsupported categories, 0 pool gaps; 441 native surface routes, 29 filtered body-region routes, 19 hidden worn templates without usable native meshes, 311 missing native visual attachments. Detailed gaps are listed in Nornforged-equipment-coverage.txt; no untested all-item appearance claim.
PASS actual native four-weapon renders; four PQS strengths at rank1; low-rank fire, frost, lightning, mixed elements and held/back poses; indoor/depth-soft pixels: fire sword=4374/4374, frost bow=3666/3666, lightning arbalest=1529/1529, mixed staff frost=796/796; supported native opaque wall shader=Custom/Creature; opaque-wall leaks=0; surface-only pixels/energy=0/0; particle-only pixels/energy=0/0. Files: [WORKSPACE]\.local\nornforged-smoke-22d7fb3139d04e699ea55658c581af89\BepInEx\config\Nornforged-weapon-surface-outdoor.png; [WORKSPACE]\.local\nornforged-smoke-22d7fb3139d04e699ea55658c581af89\BepInEx\config\Nornforged-weapon-surface-indoor.png; [WORKSPACE]\.local\nornforged-smoke-22d7fb3139d04e699ea55658c581af89\BepInEx\config\Nornforged-weapon-surface-depth-soft.png
PASS native equipment camera rendered four real PQS strengths at rank1, distinct elements, helmet/shield/tool surfaces; native meshes/materials/templates preserved. File: [WORKSPACE]\.local\nornforged-smoke-22d7fb3139d04e699ea55658c581af89\BepInEx\config\Nornforged-equipment-strength.png
PASS real VisEquipment.UpdateLodgroup preserves native membership, thresholds, bounds and assets across repeated rebuilds; private particle LOD mirrors disappear with their native source instead of leaving floating effects
PASS exact 35m ground and 65m equipped visibility boundaries, early return while distant and explicit geometry resynchronization
PASS activation pulses retain the same bounded emitters and shared resources without adding mesh surfaces
PASS native cutout textures, UV transforms and cutoff remain untouched; particle textures are independent of the weapon atlas
PASS shutdown immediately clears active, previously cleared and inactive worn/preview effects and shared resources; deferred Unity destruction is checked next frame
PASS deferred Unity shutdown destroys active, previously cleared and inactive armor/preview owners, LOD mirrors and resources while preserving every original mesh, material, texture and shader
Game 1.0.16
