Skip to content

Architecture and Repository Structure

Pawel Osmolski edited this page Aug 3, 2026 · 4 revisions

Architecture and Repository Structure

Runtime architecture

DarkOneJSP3 replaces the six numbered Panel Stack Splitter instances used by DarkOne2021 with six numbered JSplitter controllers:

Column
└─ DOJSP3.Root
   ├─ DOJSP3.Main
   │  ├─ DOJSP3.InfoStack
   │  ├─ DOJSP3.ArtSpectrum
   │  └─ DOJSP3.Playlist
   └─ DOJSP3.Controls
      ├─ DOJSP3.ControlsLeft
      ├─ DOJSP3.QuickSearch
      ├─ DOJSP3.DisplayStack
      └─ DOJSP3.ControlsRight

JSplitter controllers locate child panels by exact DOJSP3.* Columns UI custom titles. These titles are runtime identifiers, not decorative labels. Use the complete Layout and Panel Map when creating or repairing the hierarchy.

Principal migration changes

  • Panel Stack Splitter title-format scripts became JavaScript controllers.
  • Numeric child indexes became stable DOJSP3.* custom-title identifiers.
  • PSS global variables became persistent JSplitter or JScript Panel properties.
  • $movepanel and $showpanel operations became PanelObject.Move and PanelObject.Show calls.
  • GDI resources moved to JScript Panel 3 DirectWrite and Direct2D handling.
  • ActiveX and WScript dependencies were removed.
  • State remains owned by the relevant panel instead of being duplicated in the root controller.
  • Compatibility mirrors have canonical sources and are checked by the maintenance tooling.

Repository structure

assets/
├── darkonejsp3-logo.png                    Repository artwork
├── darkonejsp3-screenshot-albumnotes.jpg   Album Notes and InfoStack screenshot
└── darkonejsp3-screenshot-main.jpg         Main interface screenshot

DarkOneJSP3/
├── docs/                  Documentation, changelog, credits and guides
├── fcl/                   Optional maintainer-exported Columns UI layout
├── images/                DarkOne artwork and display/icon sheets
├── jscript/               DarkOne JScript Panel 3 wrappers and modules
├── jsplitter/             JSplitter controllers, loaders and shared helpers
├── reference/             Original DarkOne2021 migration reference
├── shared/                Shared project scripts and reset support
├── tools/                 Validator and compatibility-mirror utilities
├── build-info.json        Release metadata
└── darkonejsp3-layout-manifest.json
                           Supported layout and package manifest

user-components-x64/
└── foo_jscript_panel3/
    ├── licenses/          Retained third-party licence notices
    └── samples/           Standalone enhanced sample library

Ownership boundary

The standalone sample implementations and their reusable runtime utilities live inside the JScript Panel component tree. DarkOneJSP3 adds layout coordination, InfoStack integration, project-specific controls and coordinated factory resets on top of the same samples.

Further reading

Clone this wiki locally