WebOfTrustInfo / prototype_vRWOT

0 stars 1 forks source link

Extract NIP into a separate library #10

Closed noahgibbs closed 3 years ago

noahgibbs commented 3 years ago

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

ChristopherA commented 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.

saraht45 commented 3 years ago

Commands

Data Files

Library Files

Defined Script Spaces These definitions will need do be added to SkotOS:Merry

Help Topics

saraht45 commented 3 years ago

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.

noahgibbs commented 3 years ago

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.

noahgibbs commented 3 years ago

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.