Skip to content

fix Kuro Chibi sprite consistency and animation states - #53

Merged
legeling merged 3 commits into
legeling:mainfrom
KuroNeko-night:kuro-pet
Jul 27, 2026
Merged

fix Kuro Chibi sprite consistency and animation states#53
legeling merged 3 commits into
legeling:mainfrom
KuroNeko-night:kuro-pet

Conversation

@KuroNeko-night

@KuroNeko-night KuroNeko-night commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR updates the existing kuro-chibi--kuroneko-night pet. It is a repair of the existing submission, not a new pet submission.

The update addresses the V2 directional-state and 000 up review blockers, preserves the previously accepted transparency and waiting/review improvements, and adds a verifiable game source for Kuro.

Directional drag states

Rows 1 and 2 have been replaced with a new eight-frame directional drag animation.

running-right

Kuro is now visibly dragged toward screen-right from an implied lift point at the upper back:

  • Her body remains fully airborne.
  • Her hair, tail, arms, and legs trail toward screen-left because of inertia.
  • The synchronized >< expression communicates mild, cute reluctance.
  • No mouse cursor, hand, hook, speed line, dust, or detached effect is shown.
  • Limb, hair, and tail positions vary across the eight-frame loop instead of repeating one static front-facing pose.

The collar bell is registered at the same visual coordinate across all eight frames. Its maximum measured deviation is under one pixel. We selected the bell as the stable anchor because it sits close to the implied upper-back pull point, while still allowing the head, hair, limbs, and tail to move naturally.

running-left

running-left is a deterministic per-frame mirror of the approved running-right row.

This produces an unmistakably opposite direction while retaining exactly the same scale, timing, cadence, silhouette quality, and registration. Mirroring an approved directional row is permitted by the V2 pet workflow when the design remains safe to mirror.

Why this is a drag animation rather than literal running

We intentionally did not replace these rows with a conventional sprinting animation.

These states are used while the pet is moved horizontally, and the V2 directional-state contract permits directional drag movement expressed through the body, limbs, hair, tail, and props. It does not require the character to run on the ground.

A reluctant airborne drag also fits Kuro's shy personality better than an energetic sprint. The new rows still satisfy the important semantic requirements: opposite travel directions, readable motion cadence, full-body movement, and no external motion effects.

000 up cardinal

The previous 000 frame was too close to a neutral forward-facing pose at normal pet size.

It has been replaced with a clearly upward-looking frame featuring:

  • a visible chin lift;
  • both eyes directed upward together;
  • a slight upper-body follow-through;
  • an unmistakable upward gaze at 192x208.

Only the failing 000 cell was replaced. The remaining 15 look-direction cells were preserved because their direction, identity, scale, and continuity were already acceptable.

Existing repair improvements retained

This revision retains the improvements already present in the repair:

  • removed the white artifact near the idle tail;
  • unified the overall color grading;
  • standardized the broad muted-blue garment collar;
  • replaced waiting and review with more recognizable actions;
  • improved alpha consistency in partially transparent areas;
  • manually refined extraction edges;
  • removed visible green and blue chroma fringes.

Items intentionally not changed

Non-directional running row

We did not replace the non-directional running row.

The black circular element is not an unrelated object. It is the rotary dial on an old-style landline telephone base, while Kuro holds the handset to her ear. The full loop represents an active work call.

This remains consistent with the non-directional running state, which represents active task work, processing, communication, or focused effort rather than literal foot-running. The telephone interaction is intentional and was kept because it communicates a work-in-progress state without adding scenery, UI, text, or detached effects.

Game character category

We did not revert Game Characters to Original Characters.

Kuro is a character from as the Night's Reincarnation. The Steam store page contains a character panel that identifies Kuro by name:

https://store.steampowered.com/app/2899760/as_the_Nights_Reincarnation/

The URL is now recorded in submission.json as source_url, so the category and game-character tag have a verifiable public source.

The final pet spritesheet is still an independently AI-generated and manually adapted Codex asset by KuroNeko-night. The game artwork was used only as a character identity reference; no reference image pixels are included in the submitted package. The submission remains limited to non-commercial use.

Other unchanged fields and assets

This repair does not change:

  • the pet slug or author slug;
  • the English or Chinese pet name;
  • the credited adaptation author;
  • the non-commercial-use declaration;
  • spriteVersionNumber: 2;
  • any accepted animation row other than the directional rows and 000 up;
  • the required three-file package structure.

Validation

  • Atlas dimensions: 1536x2288
  • Runtime version: V2
  • validate_atlas.py --require-v2: passed
  • Validation against the actual #0000FF generation key: passed
  • Transparent RGB residue: 0
  • No reported chroma fringe or opaque background leakage
  • All unused cells are fully transparent
  • spritesheet_sha256 matches the submitted spritesheet.webp
  • The pet directory contains only:
    • submission.json
    • pet.json
    • spritesheet.webp

The previous repository-level npm run validate:pr and npm run lint checks were green. Repository CI can rerun them against this final visual revision.

Final contact sheet

contact-sheet-release

Summary by CodeRabbit

  • 内容更新
    • 将宠物角色分类更新为“游戏角色”。
    • 同步更新相关标签及精灵图数据校验信息。
    • 其他宠物信息保持不变。

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6eb0061d-dabd-42f3-9187-42a5080197c5

📥 Commits

Reviewing files that changed from the base of the PR and between c89d6c0 and 7f573b8.

📒 Files selected for processing (2)
  • pets/kuro-chibi--kuroneko-night/spritesheet.webp
  • pets/kuro-chibi--kuroneko-night/submission.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • pets/kuro-chibi--kuroneko-night/submission.json
👮 Files not reviewed due to content moderation or server errors (1)
  • pets/kuro-chibi--kuroneko-night/spritesheet.webp

📝 Walkthrough

Walkthrough

更新 Kuro Chibi 提交的角色分类、标签及精灵图哈希;其余提交字段保持不变。

Changes

宠物提交元数据

Layer / File(s) Summary
分类标签与精灵图校验更新
pets/kuro-chibi--kuroneko-night/submission.json
primary_category 和对应标签切换为游戏角色,并更新 spritesheet_sha256

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs

Suggested reviewers: legeling

Poem

小兔蹦蹦改标签,
黑猫换上游戏装。
哈希闪闪对精灵,
元数据整齐亮。
喵呜,提交完成啦!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning 标题提到了 sprite 一致性和动画状态,但实际变更仅是分类、标签和 spritesheet 哈希更新。 改成准确概括的标题,例如“更新 kuro-chibi--kuroneko-night 的分类、标签和 spritesheet 哈希”。
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@legeling legeling left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the repair work. The transparency cleanup and the updated waiting/review rows are improvements, but this is not ready to merge yet:

  1. submission.json changes the category from Original Characters / original-character to Game Characters / game-character. PR #51 identifies the canonical identity as original/kuroneko-night/kuro, and no game source is provided. The PR summary also says the existing category is preserved, while the diff changes it. Please revert these two metadata fields unless there is a verifiable game source.
  2. Rows 1 and 2 do not satisfy the V2 directional locomotion contract. running-right and running-left are nearly identical front-facing loops; each needs a readable alternating cadence and an unmistakable opposite travel/facing direction.
  3. The 000 up cardinal is too close to neutral at normal pet size. V2 cardinals are hard gates, so up must be unmistakable rather than a very subtle eye shift.
  4. Row 7 regresses from a recognizable desk/task-work animation to holding an unclear black circular object. The non-directional running row represents active task work/processing and should read clearly as that state.

Local verification passed (npm run validate:pr, npm run lint, and validate_atlas.py --require-v2), so these are visual/semantic and metadata blockers rather than structural failures.

@KuroNeko-night
KuroNeko-night requested a review from legeling July 26, 2026 17:15
@KuroNeko-night
KuroNeko-night marked this pull request as draft July 26, 2026 17:15
@KuroNeko-night
KuroNeko-night marked this pull request as ready for review July 26, 2026 17:20
@legeling
legeling merged commit 0837c21 into legeling:main Jul 27, 2026
4 checks passed
@KuroNeko-night
KuroNeko-night deleted the kuro-pet branch July 27, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants