Closed noahgibbs closed 3 years ago
This is a good assignment for @saraht45, but will need some time from @noahgibbs to help her with the plugin manifest, where to move tests and docs, etc.
However, NIP is a complex system, it may be easier to pick a smaller system than NIP for removal by @saraht45 for learning how plugins w/t dgd-manifest work. For instance, maybe a +command that base SkotOS and vRWOT don't need that has has a couple of verbs, prop-container, and some simple docs.
Commands
Data Files
Library Files
Defined Script Spaces These definitions will need do be added to SkotOS:Merry
Help Topics
Pull request has been submitted here
Plugin location is here
I have ran two tests. One that cold boots with the nip_removed Skotos branch. It successfully boots without the NIP libs and objects. Then another test that loads the nip_removed Skotos branch with the nip_plugin repo. Boot is successful with all NIP libs and objects present.
nip_plugin still needs work... documentation and better organization of the objects. But for the purpose of vRWOT, NIP has been successfully extracted.
This looks great. Some of the stuff in the NIP plugin (e.g. the butler) will want to move into gables_game. But for right now, this takes the Gables-and-NIP stuff out of core so it's not in vRWOT. So that solves the immediate problem, and lets us solve the existing "core has a bunch of Gables WOE objects" problem at our leisure later.
We'll also probably want to move the nip_plugin repo under ChatTheatre, and submit a PR for gables_game to use it in dgd.manifest. Those don't change the existing code, though.
By extracting NIP into a separate library with dgd-manifest, we can include it in The Gables but exclude it from RWOT.
When we do we should extract NIP tests and documentation into the NIP library, thus allowing RWOT to skip everything irrelevant.
Est: 1.5 days