[{"data":1,"prerenderedAt":188},["ShallowReactive",2],{"app-page-oceans-symphony":3},{"id":4,"title":5,"app_id":6,"apple_store":7,"body":8,"description":85,"export":86,"export_shape":87,"extension":88,"google_play":89,"import":86,"last_verified":90,"license":91,"links":92,"logo":7,"mapping":99,"meta":124,"modules":125,"name":5,"navigation":86,"order":176,"path":177,"platform":178,"repo":179,"self_reported":180,"seo":181,"spec_version":182,"status":183,"stem":184,"summary":185,"website":186,"__hash__":187},"apps\u002Fapps\u002Foceans-symphony.md","Oceans Symphony","oceans-symphony",null,{"type":9,"value":10,"toc":76},"minimark",[11,16,20,24,52,56,62,66,69,73],[12,13,15],"h2",{"id":14},"what-oceans-symphony-is","What Oceans Symphony is",[17,18,19],"p",{},"A local-first companion app for dissociative and plural systems. Data lives in\nthe browser (or the Android wrapper) and never has to touch a server. It also\nimports Simply Plural, Octocon, and Plural Star data.",[12,21,23],{"id":22},"export-shape","Export shape",[17,25,26,27,31,32,35,36,39,40,43,44,47,48,51],{},"One ZIP per system, named after the system, containing ",[28,29,30],"code",{},"manifest.json",",\n",[28,33,34],{},"openplural.json",", and a ",[28,37,38],{},"media\u002F"," folder with every image the document refers\nto. The document declares ",[28,41,42],{},"openplural_version: \"0.1\""," and a ",[28,45,46],{},"producer"," block\nwith ",[28,49,50],{},"app_id: oceans-symphony",".",[12,53,55],{"id":54},"import-behaviour","Import behaviour",[17,57,58,59,61],{},"The importer accepts either a raw ",[28,60,34],{}," or a ZIP that contains one,\nand was written against PluralSpace exports. Every imported record keeps its\nsource id so re-importing the same file deduplicates instead of duplicating.\nA full local backup is taken before a replace-everything import.",[12,63,65],{"id":64},"known-loss","Known loss",[17,67,68],{},"Front events and comments, boards, polls, reminders, habits, proxy tags, and\nsharing are not represented. Asset entries carry no hash or size.",[12,70,72],{"id":71},"naming","Naming",[17,74,75],{},"Support landed in June 2026, before OpenPlural was renamed to PluralPort, so\nthe app's UI, filenames, and code all still say OpenPlural. The data inside is\nthe same v0.1 format. This page was written from the app's source rather than\nreported by its maintainer.",{"title":77,"searchDepth":78,"depth":78,"links":79},"",2,[80,81,82,83,84],{"id":14,"depth":78,"text":15},{"id":22,"depth":78,"text":23},{"id":54,"depth":78,"text":55},{"id":64,"depth":78,"text":65},{"id":71,"depth":78,"text":72},"Local-first companion app with a shipped OpenPlural v0.1 importer and exporter that bundles images into a ZIP.",true,"Per-system ZIP with manifest.json, openplural.json, and media\u002F","md","https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=app.oceans_symphony.twa","2026-09-09","MIT",[93,96],{"label":94,"href":95},"Exporter source","https:\u002F\u002Fgithub.com\u002Fpenumbrias\u002Foceans-symphony\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002FopenPluralExport.js",{"label":97,"href":98},"Importer source","https:\u002F\u002Fgithub.com\u002Fpenumbrias\u002Foceans-symphony\u002Fblob\u002Fmain\u002Fsrc\u002Flib\u002FopenPlural.js",[100,103,106,109,112,115,118,121],{"source":101,"target":102},"alters[]","Member",{"source":104,"target":105},"front sessions","FrontPeriod + FrontAssignment",{"source":107,"target":108},"groups + alter group lists","Group + GroupMembership",{"source":110,"target":111},"tags","TaxonomyTerm + TaxonomyAssignment",{"source":113,"target":114},"journal entries + alter notes","Note, with the note kind in extensions",{"source":116,"target":117},"relationships","RelationshipType + member edges",{"source":119,"target":120},"system chat channels + messages","Conversation + ChatMessage + categories",{"source":122,"target":123},"alter and system images","Asset with uri under media\u002F",{},[126,130,133,137,140,143,146,149,152,155,158,162,164,166,168,170,172,174],{"key":127,"support":128,"note":129},"systems","full","System profile from app settings.",{"key":131,"support":128,"note":132},"members","Alters map to members, including alias, age, birthday, and pronouns.",{"key":134,"support":135,"note":136},"fronting","partial","Front periods with assignments only; no front events or front comments.",{"key":138,"support":128,"note":139},"groups","Groups plus group memberships.",{"key":141,"support":128,"note":142},"taxonomy","Terms and assignments.",{"key":144,"support":128,"note":145},"custom_fields","Definitions and values.",{"key":147,"support":128,"note":148},"notes","Journal entries and per-member notes; the kind is carried in extensions.",{"key":150,"support":135,"note":151},"assets","Referenced images are bundled under media\u002F; no hashes or sizes are written.",{"key":153,"support":7,"note":154},"privacy","Not verified from source.",{"key":156,"support":128,"note":157},"chat","Conversations, messages, and categories; no attachments or reactions.",{"key":159,"support":160,"note":161},"boards","none","Emitted empty.",{"key":116,"support":128,"note":163},"Relationship types and member edges.",{"key":165,"support":160,"note":161},"polls",{"key":167,"support":160,"note":7},"reminders",{"key":169,"support":160,"note":7},"habits",{"key":171,"support":160,"note":7},"proxy",{"key":173,"support":160,"note":7},"sharing",{"key":175,"support":160,"note":7},"safety",3,"\u002Fapps\u002Foceans-symphony","Web (PWA), Android","https:\u002F\u002Fgithub.com\u002Fpenumbrias\u002Foceans-symphony",false,{"description":85},"0.1","adopter","apps\u002Foceans-symphony","Local-first React PWA (also on Android) for dissociative and plural systems. It ships a full OpenPlural v0.1 export and import: one ZIP per system with openplural.json, a manifest, and bundled media. Covers members, fronting, groups, taxonomy, custom fields, notes, chat, and relationships. It still uses the OpenPlural name and filenames from before the rename.","https:\u002F\u002Foceans-symphony.app\u002F","b-VOlImQWfw3slJtUSv0TM1BHoTG_bROtb5OpeRh8pw",1792272242370]