Skip to content

Latest commit

 

History

History
292 lines (238 loc) · 19.3 KB

0.3.0-user-bugs.md

File metadata and controls

292 lines (238 loc) · 19.3 KB

User reports to verify before 0.3.0

Collected 15 September 2026. User reports are symptoms, not established causes. Preserve these alongside the Cheat Menu parity and release-deliverables checklists.

Work order: finish the native Cheat Menu port already underway, then address this queue, then perform the final 0.3.0 release checks. New reports are notes, not instructions to interrupt the active task, unless _eins0fx explicitly changes priority.

Report Current status Required check
Equipped weapon attacks look unarmed Fixed in the active session, confirmed by _eins0fx Keep testing recurrence of completed-intro restrictions; preserve legitimate story locks
Teleporters, launch/jump points and death reset appearance Empty-MID stall fixed; real launcher cancellation and repeated shell swaps passed Exercise same-pawn and new-pawn transitions with an active CSS selection
Bloody characters return to vanilla colors or broken materials Investigating Trace gameplay-created material instances and preserve blood/effect parameters alongside CSS colors
Eredrim's diapason and Tiel's dagger float under the feet after switching shells CSS-wide correction live locally, verified with Long Hair on both shells (16 September) Actual attachments, native draw/stow, six swaps, Original cleanup and core reload pass. Combat abilities and other outfits still need broader coverage
Repeated shell hotkeys from original Cheat Menu eventually stop CSS Colored Proxima-switch stall fixed; three colored cycles and eight earlier switches passed Repeat gameplay-shell transitions and inspect player identity, menu lifecycle and recovery state; do not presume incompatibility
Seductress fabric behavior Deferred by _eins0fx, known issue Separate cloth/skin weighting problems from runtime pause and attachment state
Seductress feet float during sprint and footstep sounds are missing Deferred by _eins0fx, known issue Compare original and Seductress on the same gameplay shell and animation, including foot bones, notify tracks and physical material
Dodge produces a torn-looking trail across CSS outfits DarkBro displacement branch corrected in the live core; _eins0fx confirms the shredded trail is gone Preserve the native translucent overlay; see the controlled comparison below
HIT2 DE Scyther aims Trial Repeater into the sky Upward default-projectile alignment reproduced on Proxima; fired trajectory not yet checked Compare original replacement and CSS conversion with the same gameplay shell, weapon and aiming inputs; original-mod cause remains unconfirmed

The original Cheat Menu should be disabled before testing CSSX Cheat Menu. CSS appearance compatibility with gameplay-shell changes still needs its own checks independently of that recommendation.

Local evidence before pausing this investigation: work/cssx-native/tiel-missing-bone.json, tiel-before-css.json, tiel-css-sockets.json. The blood-effect test preserved Seductress mesh/materials (blood-live-check.json). A simulated stock-mesh dynamic material delayed recovery until removal and then recovered (transition-mid-repro.json); that alone does not establish the natural portal failure's cause. The test selection on Tiel was removed and the gameplay shell returned to Genessa afterward.

15 September update: native Cheat Menu implementation is committed in 52168dd. The empty dynamic-material recovery stall now passes three repeated live cycles, including active-effect protection and native Inventory cleanup. See the recovery notes and work/cssx-native/material-recovery-live.json. This is a constituent fix, not a claim that every reported travel/death path is verified.

Long Hair Proxima follow-up (16 September)

JayLuk3 clarified that only Long Hair Proxima is installed. Their downloaded recording shows the floor-level accessory while the outfit remains visible. Direct cooked-mesh readback and the live Tiel comparison confirm the missing socket-parent bones. The CSS correction uses a hidden stock-mesh pose follower only for affected mesh accessories. Tiel and Eredrim pass attachment and native draw/stow checks with Long Hair. Six swaps, Original cleanup, core-reload cleanup and material/Inventory recovery checks pass. Original gameplay and CSS settings were restored. No port repack or published ZIP change is needed for this test. The separate persistent portal warning and crash remain unconfirmed. See the recording and attachment investigation.

Deferred asset issues (15 September)

_eins0fx requested deferring the missing attachment bones and mesh/animation-fit issues. These are known issues for 0.3.0 rather than release-blocking runtime work. No global height adjustment or attachment workaround is included in the release.

The cooked V1 and V2 reference skeletons both contain 258 bones, with identical foot-bone transforms; neither includes Tiel's tiel_dagger bone. This does not establish a floating-feet problem in V2. _eins0fx reports that V2 does not have the floating/fit symptoms seen in V1. Keep cross-shell accessory attachments separate from foot placement, cloth and movement-fit reports.

A temporary hidden follower-component probe produced a usable Tiel socket pose, but it was not a complete gameplay fix. Its source and patch are parked under work/cssx-native/deferred-attachment-follower.*, and the experiment was removed from the shipping source. Probe evidence: attachment-follower-probe.json.

Runtime checks and recovery performance (15 September)

Eight successive Genessa/Tiel/Eredrim switches recovered each selected outfit, kept the scythe in hand and allowed native Inventory to open and close. The five checked attack/dodge/aim/menu restriction counts stayed zero. This exercised retained-pawn shell changes, not death or every original Lua hotkey combination. Evidence: work/cssx-native/repeated-shell-recovery.json.

A real Marrow Keep launcher activation and destination-selection cancellation kept Seductress V1 applied through all 25 sampled return states. Inventory opened afterward, with no pending recovery or ignored movement/look input. This does not cover selecting a destination, beacon cleansing or death. Evidence: work/cssx-native/launcher-cancel-live.json.

_eins0fx then reported a pause near the end of that animation with colored Seductress V2. Logs showed material recovery taking 801–963 ms. A repeated material-slot reset reproduced it at 815–842 ms: apply() discarded valid color MIDs and regenerated dye textures even when the outfit had not changed.

The recovery path now reattaches the existing materials after a recognized stock material reset. It validates every weak reference before writing, preserves active/unrecognized game effects, verifies the resulting slots, and falls back to normal rebuilding when resources have been collected. It does not retain old worlds or change texture resolution. Three repeated runs took 0.23–0.30 ms and preserved the exact material objects. These are CSS apply timings, not whole-game frame times or a promise that all loading hitches are gone.

Evidence: work/cssx-native/color-recovery-before.json, color-recovery-after.json. Repeatable regression check: python3 tests/live_material_recovery_perf.py with a colored outfit and the staged developer core. _eins0fx confirmed the natural V2 launcher animation is smooth after the fix.

The same optimization now covers a recognized stock-mesh reset on the retained pawn. Before: 806–834 ms. After: 2.72 ms, 1.82 ms, 2.70 ms. All runs retained the same color materials. python3 tests/live_material_recovery_perf.py --mesh covers this path. Three additional stock/empty-MID/active-effect cycles passed with the colored V2 outfit, including Inventory cleanup and unchanged animation instance and saved preferences. All nine portable test groups passed. New-pawn/death recovery still requires rebuilding when the old resources no longer exist; its performance is not established by these retained-pawn tests.

Blood and shadow checks

A second blood test used the currently colored Seductress V2 outfit. The native blood-mask value changed while the skeletal mesh and all override-material objects stayed identical. Removing only CSS_ColorBloodProbe restored the test mask contribution. Saved preferences were unchanged. Evidence: work/cssx-native/colored-blood-check.json. This does not cover every death, overlay or environmental-effect path.

One directional dodge each with Seductress V1, Beaute Genessa and stock Genessa on the same gameplay shell in Marrow Keep did not reproduce a persistent shadow trail in the post-dodge screenshots. Component bounds changed during motion and settled afterward. Neither fixed skeletal bounds nor parent bounds were enabled; BoundsScale was 1, shadow-cache behavior was Auto, and capsule shadows were off. The screenshots were taken after the animation, so a brief motion/temporal trail still needs a capture during the reported artifact. No shadow-quality or global bounds workaround was applied. Evidence: work/cssx-native/*-dodge-bounds.json and *-after-dodge.jpg for those three appearances.

Epic's Virtual Shadow Maps documentation explains that deforming geometry invalidates cached shadow pages and displaced geometry needs sufficient bounds. This is a diagnostic lead, not an established cause of the reported artifact.

Leftover dye material after a gameplay-shell switch

The Proxima aiming comparison exposed another CSS recovery blocker. Switching from colored Seductress V2 on Genessa to stock Proxima left a CSS-created MID_MI_Genessa_top in slot 6, beyond Proxima's six material slots. Its dye texture parameter caused the active-effect guard to reject outfit changes indefinitely. The material was CSS-owned, not a story restriction or another mod's effect.

detach_residual_colors() now removes only exact live MIDs in CSS's ownership map when the game has changed that component's mesh. It neither recognizes ownership by name nor clears unfamiliar effects. The weak dye cache remains available for temporary stock-mesh recovery; cleanup also runs before unloading.

The regression failed before the fix with that leftover slot, then passed three Genessa/Proxima/Genessa cycles. The tests preserved appearance preferences and returned to the original shell. Material-only recovery remained 0.24–0.28 ms and stock-mesh recovery 1.85–2.06 ms. Three more active/empty-effect cycles and native Inventory cleanup passed. Run python3 tests/live_colored_shell_switch_check.py with the documented safe-game prerequisites. Evidence: work/cssx-native/colored-shell-switch-before.log, colored-shell-switch-after.log, proxima-ready-check.log, and residual-color-transitions.log.

HIT2 repeater comparison

The game's sidearm name is Triarch Repeater (ID_Sidearm_MachineGun). Aiming on Genessa with stock and HIT2 appearances kept the weapon-forward pitch close to horizontal. The first Proxima comparison was invalid because the leftover CSS dye material above prevented HIT2 from applying. It was repeated after that fix, with an explicit assertion that the requested appearance had applied.

With Proxima and the same aim input, stock default projectile rotation had a pitch of 4.16 degrees; HIT2 had 19.16 degrees. Weapon-forward pitch remained about 0.54/0.99 degrees respectively, while its roll changed by about 15 degrees. This establishes an upward default-projectile alignment difference, not a verified fired trajectory or proof that every aiming mode uses that default transform. No universal gun-angle correction was applied.

The source skeletal-mesh .uexp and the converted round-trip payload in work/convert-hit2-p-final are byte-for-byte identical: 4,804,774 bytes, SHA-256 f07b13b38ec0f4b30e33cc0947805ac12374819089d6c1d71f66b8c695c8ee47. That check does not replace an in-game original-package comparison or verify all post-process and firing behavior. Evidence: work/cssx-native/triarch-aim-check.json (Genessa), triarch-KnightLady-aim-check.json (valid final Proxima run), and the matching aim screenshots. The temporary repeater was removed, the Nail Shotgun restored, and the gameplay shell returned to Genessa after testing.

Follow-up captures, 15 September afternoon

_eins0fx supplied screenshot-2026-09-15_13-31-56.png (during dodge), 13-32-14.png and 13-32-32.png (Inventory, Harros selected) from Pictures. The reported scope includes all CSS outfits, including Seductress V1/V2 and ports. The motion capture shows a torn-looking surface trail, not enough evidence to label it a shadow-cache problem. Earlier after-dodge screenshots did not test this instant.

A separate report concerns Seductress V1/V2 becoming uniformly dark/glossy after blood exposure. Source: ~/Uploads/ScreenRecording_09-15-2026 12-28-26_1.mp4, from approximately 01:00. Investigate and document the authoring findings in CSS-eins0fx-collections/seductressV2-eins0fx-CSS before changing its assets. The previous blood check tested material identity, not visual blood coverage.

Read-only runtime inspection after the opening boss reports CharacterId.Player.Darkform.StrongOne, CSS enabled, no recovery pending and no selected CSS appearance for that form. This is distinct from an appearance recovery failure: CSS stores selections per gameplay identity.

Evidence for this investigation is under work/blood-dodge-investigation/.

Dodge material correction, 15 September afternoon

The white shredded geometry is a material displacement effect. During the same frozen Harros dodge pose, removing OverlayMaterial left the white geometry in place. Setting only DarkBro WPO Stretch Scale from 256 to 0 removed it while retaining the normal translucent dash overlay. Setting Shell Explosion WPO Scale to 0 did not remove the artifact.

CSS now neutralizes the DarkBro stretch parameter on its owned material instances when applying/customizing an outfit. These instances share the dye material ownership and recovery cache. Original assets and unfamiliar dynamic materials are not edited. Standalone materials, including Beaute Genessa's cloth drivers, are left intact because they have no material-instance parameter API. There is no new per-dodge callback or texture rebuild.

The separate native dash overlay and shell-explosion parameter remain intact. This intentionally disables one native displacement branch on replacement material instances; it is not a general cloth, shadow-cache or bounds fix. The precise topology assumption inside the cooked shader is not established.

The read-only regression tests/live_dodge_material_check.py failed with scale 256 before the fix and passed with 0 afterward. Controlled Harros captures compared stock, HIT2 and Seductress before/after. _eins0fx also confirms: "The shredded-body trail is gone."

Evidence: work/blood-dodge-investigation/harros-seductress-probe*.jpg, fixed-harros-*.jpg, parameter-before.log, parameter-after.log. A material readback passed for one variant of each of the nine installed outfits, including Seductress V2 Original and Beaute's standalone cloth drivers. This is not a visual test of every variant. V2 color reset and restoring its palette passed; saved preferences were restored unchanged. Three material-reset recoveries took 0.26-0.35 ms and three retained-pawn stock-mesh recoveries took 58.00-59.93 ms on V2 Original, all reusing the same material objects. The latter is a different variant from the earlier topless-harness timing and does not establish equal mesh-reset cost. Both pass the existing 100 ms apply budget; these are CSS apply timings, not whole-frame or loading-time guarantees.

The final native core built and staged successfully; the nine existing portable test groups passed during this investigation. The fix is staged in the active developer core. Published 0.3.0 ZIPs have not been replaced.

Seductress blood coverage finding

The authoring skin BRM red channel is solid white in both V1 and V2. A controlled V1 and V2 Original comparison changed only that channel, retaining identical green/blue channels and the same material object. The white control reproduced uniform glossy blood coverage; a diagnostic gradient restricted coverage while clean skin stayed pale. This identifies a texture-authoring problem, not a requirement to rebuild the body's geometry. Neither package was changed during that initial investigation.

The investigation, source trace, proposed mask work and copied evidence are in CSS-eins0fx-collections/seductressV2-eins0fx-CSS/docs/blood-material-investigation.md. Earlier blood tests only established mesh/material identity, not correct visual coverage. Also, reflected CustomPrimitiveData is the serialized default, not the separate internal runtime array used by the renderer. Do not cite that property as evidence that runtime blood inputs stayed unchanged.

15 September follow-up: Seductress V1 1.0.1 now replaces only its skin BRM with a spatial blood mask baked to its own UV atlas. All 26 other assets and the original catalog/colors are preserved. The installed package passed native blood strengths 0.2, 0.5, 0.8 and 1.0, clearing, edited skin color and clean Inventory/CSS preview checks. The uniform coating is absent in those captures. Preferences were restored exactly. Natural combat, wetness, hardening and travel/death were not retested in this pass. V2.1 remains Claude's separate work. See CSS-eins0fx-collections/seductress-eins0fx-CSS/docs/blood-material-fix.md and its work/blood-fix/runtime/ evidence. No CSS/CSSX code change is required.

Seductress V1 1.0.2 release

15 September: V1 now includes the grounded foot geometry and foot/calf weights already used by V2, seven bounded native body springs, and Chaos cloth on both skirts, shoulder cuffs and neck accessories. It preserves the 1.0.1 blood mask, material/texture assets, color controls and stable outfit ID. This is an outfit update, with no CSS or CSSX runtime changes.

The first optimized test candidate left nine loose simulation vertices after decimation and crashed during world-load restoration. The exporter now compacts all physical vertex arrays with their indices. Native Chaos neighbour checks and cooked validation reject the old data and pass the correction. The visible render mesh is byte-identical across this correction.

The corrected candidate passed world loading, outfit switching, walking, sprinting, dodging, bounded body motion, blood coverage and clearing. _eins0fx confirmed the visual motion and grounding. All four cloths are active, with 2,714 dynamic particles. Broader animation clipping and untested terrain remain possible; this does not claim every animation is perfect.

The draft number 1.1.0 was changed to 1.0.2 at _eins0fx's request. The ZIP keeps both tested IoStore containers byte-exact; only version/validation metadata changes. It contains exactly the matching _P.pak, _P.ucas and _P.utoc inside CSS_Seductress_eins0fx_P/, without user state or runtime DLLs.

Release: CSS-eins0fx-collections/seductress-eins0fx-CSS/dist/releases/v1.0.2/. ZIP SHA-256: 1620ca955fbc079a562c7c14ab4e2827c811af33848418841d58bb41aebfac4c. Changelog: that project's docs/changelog-1.0.2.bbcode.txt, also copied to reference/internal-docs/CSS - Seductress/08-changelog-1.0.2.bbcode.txt here. Source notes and regression evidence remain in the V1 project's docs/physics-proxy-crash.md and historical work/physics-1.1.0/ directory.