Skip to content

feat(ui): export offline serialized prefab libraries - #11

Merged
nichinichisou0609 merged 1 commit into
mainfrom
feat/ui-library-export
Sep 30, 2026
Merged

nichinichisou0609 merged 1 commit into
mainfrom
feat/ui-library-export

Conversation

@nichinichisou0609

@nichinichisou0609 nichinichisou0609 commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

UI prefabs currently have to be inspected through individual asset exports. This adds nnnotes ui to produce an offline library of selected APK catalog keys, embedded prefab roots, AnimatorControllers and their texture/font resources for a reusable preview.

The export retains signed rectangles and serialized fields, adds stable node/controller identities, and records pack/resource/dependency hashes so resume repairs missing or corrupt files. Input provenance prevents mixing different APK sets in one output directory. Index updates are atomic and failures remain explicit entries.

Validation:

  • Full Python suite: 1214 passed, 5 skipped (optional font dependency and recorded dependency-version differences).
  • 13 new synthetic UI export tests, including JP split-APK selection, resume integrity, source isolation and per-face font metrics; pyflakes passes.
  • International APK 1.0.1, versionCode 25: four UI prefabs exported successfully with five controllers, outside the repository; all referenced output files exist.
  • The companion player consumes these exports in the local browser, including numeric Animator sampling and a parallel two-tween sequence.

This is an experimental serialized-data format, not full Unity/Presenter fidelity. JP uses the existing APK-set/configuration path, with a synthetic UI test; full real JP UI export/render coverage has not been established. No game assets, screenshots, configuration values or credentials are committed.

Companion player PR: empty-sekai/ournotes-player#12.

@nichinichisou0609 nichinichisou0609 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Author self-review of commit 562af3d.

Reviewed the submitted six-file diff and the exporter/CLI boundary. Fixed the draft's resume gap: both main and dependency packs now validate their texture/font/metrics hashes. Input provenance and output-path checks prevent stale or mixed-release reuse. Controllers are exported from their owning environment and deduplicated per run; all used numeric font faces retain separate metrics.

Verification: 1214 local Python tests passed, 5 skipped for optional font/dependency-version reasons; 13 new UI tests and pyflakes pass. All six remote checks are green. Four real international 1.0.1 APK prefabs and five controllers exported outside the repository; the companion player consumed their files in a browser. No assets, credentials or screenshots are included in this PR.

No outstanding blocker found for the documented experimental export scope. Remaining verification: full real JP UI export coverage and a broader prefab corpus. The JP split-APK/configuration path is tested synthetically; this is not a JP pixel-fidelity claim. The PR remains a draft.

@nichinichisou0609
nichinichisou0609 marked this pull request as ready for review September 30, 2026 08:35
@nichinichisou0609
nichinichisou0609 merged commit 0a7344d into main Sep 30, 2026
8 checks passed
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.

1 participant