Forty archives make a finished application
RhineLabUI arranges 40 records across 5 categories in a looping 3D cassette wall. A user searches, changes columns, opens a record, waits through synchronized glass and document decryption, reads the archive, saves it locally, or exports the text. A separate viewer rotates and explodes the cassette into 6 structural groups. The interface extends its video reference with working search, favorites, quality controls, sound settings, and offline PWA behavior.
That completeness makes RhineLabUI compelling to study and awkward to treat as a kit. State, scene choreography, archive content, audio, visual identity, and model behavior belong to one directed experience. The package is marked private, with no exported component library. Rebranding means editing more than colors and text: camera timing, boot language, 3D assets, sound, archive geometry, and the meaning of the decryption sequence are tied together.
A 144.7 MB checkout buys evidence as well as code
Our lab found 1,217 files and about 16,581 lines of source in a 144.7 MB checkout. Much of that weight is visible in the repository: browser screenshots, comparison runs, GIFs, GLB studies, Blender projects, audio, and checked-in web fonts sit beside the application. The README says 4 MiSans font groups alone total about 19.7 MB, loaded according to actual use.
This is useful if you want to audit how a glass effect or camera move evolved. Directories named reference and verification keep before-and-after assets, captured states, and run data that most projects discard. A consumer shipping the application probably does not need every study file. Split authoring evidence from production assets in your fork, then check the generated dist rather than using the Git checkout size as a proxy for the user's download.
What happened when we ran it
Our fresh Debian sandbox installed commit ee57797 in 11 seconds on 3 CPUs with 8 GB of RAM and no secrets. Npm added 31 packages, and the installed dependency tree used 105 MB. The production build passed in 12 seconds. Npm audit reported 0 known vulnerabilities: 0 critical, 0 high, 0 moderate, and 0 low.
The repository supplied no test script or test target, so we skipped tests. Our scan also found 0 CI workflow files, no Dockerfile, and no tests directory. RhineLabUI does include a content check plus many targeted Node scripts for motion, appearance, assembly, decryption, viewport behavior, and rendering settings. Those checks did not run in our measured test step. A passing build proves TypeScript and Vite completed; it does not prove the 3D sequences in a browser.
Fifteen motion switches give reduced motion real control
A merged September change expanded one reduced-motion toggle into 15 individual preferences, grouped around boot, archive, detail, interface, and the 360-degree viewer. The setting can follow prefers-reduced-motion, use a reduced preset, or preserve selected effects. That is better than one blanket switch for an interface whose identity depends on timed text, glass reveals, array waves, and camera travel.
Input coverage is also broad. The archive uses arrow keys, Enter, Escape, /, buttons, mouse dragging, wheel zoom, and touch. The README calls the 1,920 by 1,080 composition its baseline and says desktop and horizontal screens remain the main targets, even though portrait phones and home-screen installation are supported. Test your own content at narrow widths because longer titles and translated labels can stress a layout tuned around Chinese and English fan terminology.
Issue 10 clarified what MIT can and cannot grant
Issue 10 asked for permission to redistribute 2 GLB models, prompting a detailed public clarification. The current README applies MIT to code, modeling scripts, original Blender projects, the named GLB files, original music and effects, and author-created documentation or media. Redistribution and commercial use are allowed for material the author owns, with the normal copyright and license notice.
The same section draws a sharp boundary around Arknights. Rhine Lab names, logos, setting, source-video design, sampled original audio, and third-party fonts or libraries keep their existing rights. The author's model license cannot authorize elements derived from the franchise. A personal fan page can accept that ambiguity differently from a client product or app-store release. For commercial reuse, replace the fictional institution, marks, copied visual cues, and sampled sounds, then review each retained asset.
A September 26 push closed every reported thread
GitHub showed 692 stars and 0 open issues or pull requests on October 1, 2026. The last push was September 26. The API returned 5 closed issues and 5 closed pull requests covering Pages deployment, content separation, archive motion, audio, motion preferences, CDN suggestions, and asset permission. There is no tagged release, so production users should pin a commit and maintain their own changelog.
RhineLabUI is worth downloading when you want to learn how one visual reference becomes a working 3D information system. It is a poor shortcut for a generic dashboard because the strongest parts are specific to its fiction and motion grammar. Keep the design research, interaction checks, and quality controls you need. Replace the franchise identity, trim the 144.7 MB authoring archive, and publish only after the real browser path has been watched from boot through model reassembly.

