# Ross Video DashBoard 9.16.2 - capability inventory from plugins (incl. undocumented)

- Version: v2 (2026-10-15)
- Subject: Ross Video DashBoard 9.16.2 (Windows build 2026-07-03, Eclipse RCP 3.8). Official current release is DashBoard v10 (2026-09); 9.16.2 is one generation older.
- Method: Read-only analysis of c:/DashBoard/plugins (259 bundles: 249 jars + expanded dirs). MANIFEST/plugin.xml/class names indexed with Python zipfile. Selected classes of 7 jars (ogscript/params bridge, CLI, tally, startup switches) decompiled with CFR 0.152 to confirm signatures. Nothing executed. Cross-checked against the bundled CustomPanel Development Guide HTML (8351DR-007, inside graphnav jar) and the official v10 User Guide / CustomPanel Guide / Release Notes tables of contents fetched 2026-10-15.
- Confidence: fact = string/class/signature confirmed in jar, plugin.xml, resource, ini or decompiled source; source bundle given; assumption = inferred from class or key names; behaviour not verified; unknown = not investigated or unreadable
- UNDOCUMENTED means: Name appears neither in the bundled CustomPanel Development Guide full text nor in the official v10 guides' tables of contents (word match; false negatives possible).
- Note: Ross Video copyrighted text and source are not reproduced; names and summaries only. Non-official third-party notes. DashBoard, openGear, XPression, Catena, RossTalk are trademarks of Ross Video Ltd.
- Human-readable page: https://dashboard-dekiru.pages.dev/
- Machine-readable JSON: https://dashboard-dekiru.pages.dev/llm.json


## Startup switches and internal properties (DashBoard.ini -vmargs or launch properties)

- **[UNDOCUMENTED] -Dbeta=true** (fact; source: rice.dashboardsuite ApplicationWorkbenchAdvisor / WindowAdvisor) — Adds ' Beta' to the window title and enforces a 31-day expiry from build date ('Beta Expired' dialog; skipped if a Ross-internal marker URL is reachable). Not a feature unlock. Shipped ini sets false.
- **[UNDOCUMENTED] script.sandbox** (fact; source: common.oglml OGScriptScope) — true -> Rhino initSafeStandardObjects (restricted scope). Unset (default) -> initStandardObjects (normal scope). Default is NOT sandboxed; Java access from panel scripts is likely (assumption, untested).
- **[UNDOCUMENTED] db.usealternateui=true** (fact; source: common.lnf UIUtils.isTouchUI, gear Device) — Switches touch-UI mode (Ultritouch-style UI).
- **[UNDOCUMENTED] -cliport / db-cliport** (fact; source: gear.rice.debug.cli CLIBootstrap) — If the value is numeric, starts the TCP CLI server on that port. Not started otherwise. Bind failure retried every 5 s.
- **[UNDOCUMENTED] -layout, -bigfonts, -delaytabs** (assumption; source: rice.dashboardsuite / common.lnf) — Launch args: startup layout, large fonts, delayed tab rendering.
- **[UNDOCUMENTED] db-logjsonconnect, db-shared-devices, -share-password, db-ultritouch-frame** (assumption; source: gear / sharecentre / touch) — JSON connection logging, shared devices, share password, Ultritouch frame.
- **[UNDOCUMENTED] dashboard.swipeout, dashboard.swipesize** (assumption; source: common.lnf.rice AwtEnvironment) — Swipe gesture tuning.
- **[UNDOCUMENTED] debug.nohttp, dashboard.httpMax, dashboard.httpLimited** (assumption; source: common.connection HttpInfoCache) — Disable/limit HTTP attribute lookup.
- **[UNDOCUMENTED] ogp.connect.timeout, ogp.read.timeout** (assumption; source: gear) — OGP connect/read timeouts.
- **[UNDOCUMENTED] db.blockingconnect, db.touch.*, db.uiselector.*** (assumption; source: rice.dashboard.device / gear.rice.selector) — Blocking connect mode, Touch device info, UI selector mapping.
- **-Ddashboard.lnf=AURA, -Dtheme.active=Ice, -Dtouchfix=true, -Durm.prefs.secure=true, -Dworkbench.defaultrestore=true, -Dbundles.autostart=false, -Xmx1024m, LDAP pool settings** (fact; source: DashBoard.ini) — Shipped defaults. Theme, secure storage, layout restore, memory allocation and LDAP are documented features.

## Hidden and debug features

- **[UNDOCUMENTED] DashBoard CLI Server** (fact; source: gear.rice.debug.cli) — Line-oriented TCP CLI, no authentication, banner 'Welcome to openGear'. Enabled only with -cliport/db-cliport. Commands: lframe [frame name]; ldevice [frame]; lparam [frame]:[slot] [-h] [param name] (-h = hidden params only); gparam [frame]:[slot]:[oid] [-d] [-v]; sparam [frame]:[slot]:[oid]:[index] [value]; raw [frame]:[slot] [msg type hex] [byte]...; status [frame]:[slot]; refresh [frame]:[slot]; debug [frame]:[slot] [message]; download [frame]:[slot]:[e-oid] [dest]; use [id]:[id]:... (default ids for later commands). Behaviour read from decompiled source, not executed.
- **[UNDOCUMENTED] Device / Frame Debug Console** (fact; source: gear.rice.debug) — Two editors plus view 'openGear Debug Information'; send raw OGP/JSON; context menu 'Dump hidden parameters to file'.
- **[UNDOCUMENTED] Parameter Inspector** (fact; source: gear.rice.debug.advanced) — View 'openGear Parameter Inspector', command Parameter Inspection (Ctrl+I), JFreeChart graphs of parameter values.
- **[UNDOCUMENTED] Frame Demo (from file)** (fact; source: gear.rice.demo) — Wizard simulating an openGear frame connection from a saved file (offline demo).
- **[UNDOCUMENTED] Debugotron9000** (fact; source: camera.sony, camera.panasonic) — Developer CLI classes not reachable from the product UI. Sony: 'dbg <addr> <port>' sends bytes. Panasonic: builds aw_cam?cmd= test commands.
- **[UNDOCUMENTED] NK context menu 'New Action!'** (fact; source: nk.custom.test) — Test leftover; shows a placeholder dialog only.
- **[UNDOCUMENTED] Classic Eclipse update UI** (fact; source: rice.p2.ui) — Hidden behind activity 'classicUpdate'; unbound command installWait.
- **[UNDOCUMENTED] OSGi console** (assumption; source: org.apache.felix.gogo.*, org.eclipse.equinox.console) — Bundled; whether -console works is unverified.
- **[UNDOCUMENTED] Prototype leftovers** (fact; source: midi.rice, joystick.rice, ndi.rice, xpression, webcam) — Test classes (MidiInputTest, JInputJoystickTest, NDI JavaTest, TestGearFrame), xpression files/orig/* backups, ndi.rice NDIPanelFX.txt (disabled JavaFX panel source), webcam jar ships src/*.java.
- **[UNDOCUMENTED] Label copy-paste error** (fact; source: camera.sony.rice plugin.xml) — Sony tree factory label reads 'Panasonic Camera'.

## ogscript.* API (public methods of AbstractOGScriptCommands, 123 total; official v10 TOC lists 82)

- **[UNDOCUMENTED] OGScriptSystem getSystem()** (fact; source: common.oglml ogscript/system) — Returned object: readIniFile() (DashBoard.ini as map), updateIniFile(key, value), searchIniFile(key), searchIniFileStartingWith(key), updateKey(oldKey, newKey), addConnection(conn, persist) (accepts 'host:port' string, JS object or array; adds a device connection), removeConnection(o). Panel scripts can rewrite DashBoard's own ini and connection tree.
- **[UNDOCUMENTED] void setEnabled(String id, boolean enabled)** (fact; source: common.oglml) — Enable/disable a component. Used 86 times in Ross-shipped panels.
- **[UNDOCUMENTED] void scrollTo(String id)** (fact; source: common.oglml) — Scroll to component.
- **[UNDOCUMENTED] Object post(String url, String data[, boolean includeResponse])** (fact; source: common.oglml) — Synchronous POST (official has asyncPost and http only).
- **[UNDOCUMENTED] PropertyChangeListener addAttributeListener(String attribute, Function listener) / addAttributeListener(Scriptable obj, String attribute, Function listener)** (fact; source: common.oglml) — Attribute change listener.
- **[UNDOCUMENTED] boolean removeRemoteTrigger(CloseableGPIListener l)** (fact; source: common.oglml) — Removes a trigger returned by addRemoteTrigger. addRemoteTrigger has 3 forms: (Function), (triggerID, Function), (triggerID, triggerName, Function).
- **[UNDOCUMENTED] String getFullyQualifiedContextId()** (fact; source: common.oglml) — Fully qualified context id.
- **[UNDOCUMENTED] String serializeXML(Object xml)** (fact; source: common.oglml) — XML node to string.
- **[UNDOCUMENTED] boolean pause(long ms)** (fact; source: common.oglml) — Pause; documented only as a Pause task.
- **[UNDOCUMENTED] boolean setXml(id, content) / appendXml(id, content)** (fact; source: common.oglml) — Lower-case variants exist as separate methods beside official setXML/appendXML; equivalence unverified.
- **ogscript.getImageById** (unknown; source: official TOC) — Documented but not in this class; implementation location unknown.
- **[UNDOCUMENTED] setOrAppendXML (editor completion template only)** (assumption; source: common.oglml OGScriptCommands.xml) — Appears in Ross's editor completion template but no such method exists; probably a template error.
- **Official signatures (reference)** (fact; source: common.oglml) — http(url, method, contentType, data, includeResponse); asyncHTTP(url, method, contentType, data, callback[, includeResponse]); createListener(id, settings, Function); installTimer(id, repeat, delay, rate[, executeInTimer], Function); fireGPI(trigger, state, global); ftp(host, port, user, pass, destPath, destName, binary, data); sendUDPString/sendUDPAsBytes(host, port, String); sendUDPBytes(host, port, byte[]); createAMPSender(); createVDCPSender(); createMessageBuilder(); createMessageParser(input); parseXML(file); runXPath(expr, source); saveToFile(file, data[, overwrite]); getObject/putObject; getString/putString; getPrivateString/putPrivateString(lookupID, id[, value]); subscribe via params.
- **Runtime** (fact; source: org.mozilla.javascript) — Rhino 1.7.7.1 (ES5-level, assumption). Implementation classes AbstractOGScriptCommands / OGScriptScope / OGScriptStatics.

## params.* API (public methods of AbstractParamScriptCommands, 58 total; official v10 TOC lists 33)

- **[UNDOCUMENTED] void executeCommand(commandID, args, Function callback) / executeCommand(contextID, commandID, args, callback)** (fact; source: gear ogscript) — Execute a device command. Used 74 times in Ross-shipped panels.
- **[UNDOCUMENTED] boolean createCommand(commandID, Function f[, Object[] argConstraints])** (fact; source: gear ogscript) — Define a command on the panel side.
- **[UNDOCUMENTED] boolean updateParamView(viewID, oid, index[, Constraint])** (fact; source: gear ogscript) — Rebind a parameter view. Used 34 times (joystick/midi panels).
- **[UNDOCUMENTED] ConstraintIntRange createIntRangeConstraint(min, max[, step]) / (min, max, displayMin, displayMax, step)** (fact; source: gear ogscript) — Integer range constraint.
- **[UNDOCUMENTED] ConstraintStringStringChoice createStringStringChoiceConstraint(Object list)** (fact; source: gear ogscript) — Choice constraint with separate display names and values.
- **[UNDOCUMENTED] int getAccess(oid); Constraint getViewConstraint(viewID); boolean setBaseOid(a, b); boolean isSubscriptionResponseMissing()** (fact; source: gear ogscript) — Access level, view constraint, base OID swap, subscription check.
- **replaceIdentifiedConstraint(oldID, Constraint|newID); getStrValue(oid, index)** (fact; source: gear ogscript) — Not in v10 TOC but present in bundled/older docs (legacy API).
- **ParamScriptable (returned by getParam)** (fact; source: gear ogscript ParamScriptable) — addParamListener(Function[, allElements]); addSubParamListener(obj, Function[, rowIndex]); getValue(); getValueAt(i); setValue(v); setValueAt(i, v); getValueAsString(); getValueAtAsString(i); isArrayParameter(); getOid(); getName(); getIndex(); getElementCount(); getAccess(); setAccess(); getConstraint(); replaceConstraint(); getStream()/setStream(); getRawParam(); createLinkedCopy(newOid); remove(); deleteParam(); resetAllValues(). Official page documents only part.
- **MultiSetScriptable (returned by createMultiSet)** (fact; source: gear ogscript) — setValue(oid, index, value); setAllValues(oid, values); execute().
- **[UNDOCUMENTED] nkglobal.getScriptObject** (assumption; source: VisualLanguage/blocks/Devices/_nkRouter.xml) — Used by hidden NK router blocks; official object is nkscript. Alias relationship assumed.
- **[UNDOCUMENTED] event.getClickCount / getXOnScreen / getYOnScreen** (fact; source: common.oglml OGScriptCommands.xml) — Mouse event details in completion template; implementing class not checked.

## OGLML elements and attributes

- **[UNDOCUMENTED] <dropspot>** (fact; source: Ross-shipped .grid (7,869 uses)) — Drag-and-drop target; factories DropSpot / DropGrid.
- **[UNDOCUMENTED] <srclist> <dstlist> <lvllist> <lvlstatus> <ipslist> <nkfunction>** (fact; source: nk.rice.oglml, NK .grid) — NK router source/destination/level lists and function buttons.
- **[UNDOCUMENTED] <licensed feature= featureid= description=>** (fact; source: Ross-shipped .grid (118 uses)) — Gates part of a panel behind a licensed feature.
- **[UNDOCUMENTED] Attributes not in help** (assumption; source: Ross-shipped .grid) — pwidth/pheight, skip, hspace/vspace, preserveaspect, gridaspect/gridwidth/gridheight, acontexttype/aobjectid, param.hname/showtitle/hascontextmenu/constraintstrict, ogscript.scopename, api.contentfunction.
- **Event attributes** (assumption; source: common.oglml.swing constants) — ogscript.onclick / oncontextmenu / ondrag / onkeypress / onkeyrelease / onmousedown / onmouseenter / onmouseexit / onmousemove / onmouseup.
- **Ross typos in shipped panels** (fact; source: Ross-shipped .grid) — irtualheight, heigth, constraingtype; task uses runtaskonload while button uses runtasksonload.
- **Official elements (reference)** (fact; source: bundled CustomPanel guide) — Containers abs, borderlayout, flow, pager, popup, simplegrid, split, tab, table. Widgets reveal, drawer, ext, exit, help, image, label, button, browser, blank, lock, memory, widget, wizard, webcam, NDI. Non-UI api, context, meta, subscription, widgets, widgetdescriptor, lookup, style, color, ogscript, constraint, params, timer, listener, task, timertask, include. Top-level attributes editlock, encrypt, gridsize, keepalive.
- **Protecting distributed .grid files** (fact; source: bundled CustomPanel guide; 26/35 Ross panels use encrypt/editlock) — editlock="<password>" on the top <abs> prompts for a password when entering PanelBuilder Edit Mode; encrypt="SimpleEncrypt" (exact case) stores the file in an unreadable form (header 'encodedA'). Simple scheme; not a secrecy guarantee.
- **widgets/*.widgetdescriptor** (fact; source: c:/DashBoard/widgets) — Three files (common.ogscript, xpression.countdown, xpression.preview) encrypted with the same 'encodedA' header; unreadable.

## Visual Logic block definitions (c:/DashBoard/VisualLanguage/blocks)

- **Block counts** (fact; source: VisualLanguage/blocks) — Control 105, ogScript 114, Objects 36, active Devices 117 (acuity, carbonite, cambot, pbus, tessera, vdcp, xpression; Acuity/Carbonite via RossTalk port 7788).
- **[UNDOCUMENTED] Disabled blocks: 9ErrorHandling.backup, 6Listeners.backup** (fact; source: VisualLanguage/blocks) — throw / try-catch-finally and createListener wrapper disabled by .backup extension (loader behaviour assumed).
- **[UNDOCUMENTED] Hidden device blocks: _mc1, _nkRouter, _ultrix, _ultricore** (fact; source: VisualLanguage/blocks/Devices) — Implemented blocks driving devices via OGP params directly (e.g. params.getParam(DEVICEID,'0x5023',0)) for FTB/Take/crosspoint/lock/salvo; hidden by leading underscore.
- **Functions without blocks** (fact; source: VisualLanguage/blocks) — getComponentsById, setEnabled, installTimer, http are only reachable through the Custom Code block.

## Device and protocol support

- **PTZ over VISCA/IP** (fact; source: camera.generic (15 <camera> entries, templates/*.ogjson)) — Ross PTZ-12G/12G+/PTZ-NDI, PIVOTCam-SE, Sony BRC-H900/BRC-X1000/BRC-AM7/ILME-FR7, Lumens VC-A71P/A71PN, Canon CR-N300/CR-N500. UDP.
- **PTZ over HTTP** (fact; source: camera.generic, camera.generic.panasonic) — Canon CR-N700/CR-X300; Panasonic AW-UE150/AW-UE160/AW-HR140 (authenticated HTTP).
- **Ross PT Head (Furio protocol)** (fact; source: camera.generic furio, camera.generic.rice) — TCP commands + UDP direct control + status; wizard 'Robots > Ross PT Head'.
- **[UNDOCUMENTED] VISCA receiver / Furio gateway** (assumption; source: camera.generic ViscaCommandReceiver, FurioGateway) — DashBoard itself can listen for VISCA / act as a Furio server and translate to cameras. Purpose assumed.
- **Canon cinema, Panasonic box, Sony ENG/box, ACID camera** (fact; source: camera.canon, camera.panasonic, camera.sony, camera(.rice)) — Canon EOS C500 Mark II (HTTP); Panasonic AK-UB300, HK1500/HK1800 with paint box; Sony via CNA-1, RCP, SSP (TCP; models unknown); ACID camera via Telnet/RCP pass-through (Hitachi icon; assumption).
- **Webcam** (fact; source: webcam(.rice), webcam-capture, cnokhwa.dll) — UVC cameras; OGLML 'Webcam'. v10 release notes list webcam as unsupported in DashBoard 10 (heading only).
- **NDI** (fact; source: ndi, ndi.rice (NDI SDK 6.2.1)) — Receive (with audio), send (NDISender/NDIDestination), finder, tally. Whether sending is exposed in OGLML is unknown.
- **NK routers** (fact; source: nk, nk.rice, nk.rice.oglml, nk.custom.test) — NK-IPS, NK-3G series, RCP-NK1/NKM/NKQ, NK-VRC, NK-3RD; T-Bus2/GDP; files .cbd/.lbl/.tfi (firmware send); 3 editors + switchboard. nk.custom.test (384 classes) is the real NK editor body despite its name, incl. NKM/NKQ button layout PDF export.
- **XPression** (fact; source: xpression(.rice)) — Scenes, clips, sequences, outputs, assets, Tessera sources; rosstalkex; needs XPression-side 'Dashboard Plugin license'.
- **Catena** (fact; source: gear.catena(.rice), catena.core (58 MB shaded Java jar, no natives)) — gRPC/protobuf client plus proxy server (TLS, OAuth/JWT). rpc: DeviceRequest, GetPopulatedSlots, ExecuteCommand, ExternalObjectRequest, ParamInfoRequest, SetValue, GetValue, MultiSetValue, UpdateSubscriptions, GetParam, Connect, AddLanguage, LanguagePackRequest, ListLanguages, RefreshToken, RevokeAccess. Preference page 'Catena Proxy Server' with proxy.enabled/port/tls.enabled/cert.chain/cert.key.
- **openGear / DashBoard Connect** (fact; source: gear, gear.rice, selector, sharecentre) — OGP binary and OGP-JSON (netstring), SLP discovery, .ogd/.frame/.tvc/.ogjson; OGP over PEAK CAN classes present (PCAN library not bundled; assumption).
- **[UNDOCUMENTED] TSL tally receive** (fact; source: common.tally.rice Activator / TallyPreferencePage) — TSL UMD 3.1 UDP (default 5001), 3.1 TCP (default 5727), 5.0 UDP (default 5002); all disabled by default; preference page 'Tally'. The preference page's initial values are swapped (5.0 shows 5001, 3.1 UDP shows 5002) relative to the listener defaults. TallyOGScriptObject can raise TSL3/TSL5 events from ogscript.
- **Game controller** (fact; source: joystick.rice, JInput) — HID gamepads/joysticks; axis/button mapping (User Guide ch.10). v10 lists joystick as unsupported (heading only).
- **[UNDOCUMENTED] MIDI** (fact; source: midi.rice) — javax.sound.midi devices; axis/button/parameter mapping, MidiRecall; shipped grid references 'X-TOUCH COMPACT'. Not in User Guide TOC; v10 lists MIDI as unsupported (heading only).
- **Serial / USB-serial** (fact; source: _summary.tsv (all bundles)) — No jssc/purejavacomm/usb4java bundled; VISCA has no serial implementation (IP only).

## Licensing

- **Feature IDs** (fact; source: Ross-shipped .grid <licensed>) — Panasonic Camera Control 1060865, Sony Camera Control 1060866, PTZ Camera Control 1060867, Canon Camera Control 1060870 (1060868/1060869 unknown).
- **License infrastructure** (fact; source: licensing, keys.rice) — ActivationAPI, FeatureManager, LicenseServer, GracePeriodManager, LicenseHeartbeatManager, LicenseSyncManager; preference page 'Licensed Features'; extension point LicensedFeature. Server sync + grace period + heartbeat (assumption).
- **Apparently unlicensed** (assumption; source: index scan) — NK, Catena, tally, MIDI, joystick, webcam, openGear show no <licensed> tag or License classes; runtime checks unverified.

## Ways to control DashBoard from outside

- **RossTalk GPI** (fact; source: graphnav, common.oglml GPIService) — Functions registered with ogscript.addRemoteTrigger are fired by RossTalk GPI commands; preference page 'RossTalk GPI Listener'.
- **[UNDOCUMENTED] OGP-JSON share server** (assumption; source: gear JsonShareServer/OgpShareServer/FrameShareServer, gear.rice.sharecentre) — 'Share Device / Share Frame' turn DashBoard into a server; settings json.port, frames.N.port, frames.http.port (defaults not read); shipped grid uses localhost:5254; official text mentions 5253/5254.
- **[UNDOCUMENTED] CLI server** (fact; source: gear.rice.debug.cli) — See hidden_debug.
- **[UNDOCUMENTED] Catena proxy** (fact; source: gear.catena.rice CatenaProxyServer, catena.core OAuthServerInterceptor) — DashBoard can expose devices as a Catena server (existence confirmed; operation unverified).
- **[UNDOCUMENTED] HTTP / VDCP trigger services** (assumption; source: common.oglml HttpTriggerService, VDCPTriggerService) — Classes exist; whether an HTTP trigger endpoint is exposed is unverified.
- **Generic REST API** (fact; source: scan) — None found. ogscript.http / asyncPost / post are outbound (DashBoard calling external services). No OSC support; OSC would have to be hand-built over sendUDPBytes.

## Platform features and extension points

- **Core UI** (fact; source: rice.dashboardsuite, connection.rice, rice.layouts, navigator, keymaps, i18n.rice, touch, jxb) — Basic/Advanced Tree View, Progress View, Connect/Disconnect/Reload/Refresh/Save Configuration/Automatically Connect, Manual Connection wizard, SLP NIC selection, Full Screen (Shift+F11/Ctrl+F11), Lock Screen (Shift+F4), Layouts View, Save Layout (Shift+F10), File Navigator, Keyboard Shortcuts, Language, touch window + virtual keyboard, JxBrowser 7.44.2.
- **PanelBuilder** (fact; source: rice.graphnav) — .grid editor, .ogscript/.widgetdescriptor editors, New CustomPanel wizard, Edit Mode (Ctrl+G), Fire GPI Trigger, Browser Preferences; bundled help/html with the CustomPanel Development Guide (831 files).
- **[UNDOCUMENTED] Walkabout** (unknown; source: rice.walkabout) — File > Show Walkabout and an editor; purpose unknown; absent from User Guide TOC and release-note headings.
- **Auth and rights** (fact; source: urm.*, eevee.urm.rice, oauth.rice) — File > Login (URM), User Rights Administration (Permissions), OAuth 2.0 Login, DashBoard Enterprise 'Publish CustomPanel', LDAP.
- **Updates** (fact; source: rice.p2.ui, p2.ui2) — Help > Install New Software / Update, update sites, Launch Plug-in Installer.
- **openGear tooling** (fact; source: gear.rice, selector) — Device/Frame Editor, Import openGear Help Files, Force Connection, Remove Offline Devices, Rename Frame, Lock/Unlock Access, Restore Configuration, Upload Progress, Device Classes mapping.
- **[UNDOCUMENTED] Ross extension points (11)** (fact; source: dashboardsuite, keymaps, keys.rice, gear.rice, touch, camera.generic, nk) — CSTreeObjectFactories, FileExtensionHandler/SwingFileExtensionHandler, ProductTreeDragListener/DropListener/DnDTransfer, trimContribution, autoStart, WindowManager, commandConfiguration/keymapContributions, LicensedFeature, CustomDeviceNodeFactories, ObjectActionTouch, cameraModel, CustomNKNodeFactories.
- **Bundled libraries** (fact; source: plugins) — Eclipse RCP 3.8/4.2 (osgi 3.8.1, ecf 3.1.3), Jetty 8.1.3, lucene 2.9.1, jxbrowser 7.44.2, rhino 1.7.7.1, zxing 3.5.3, jsonwebtoken 0.12.5, scribejava 8.3.3, gson 2.10.1, flexjson 3.2.0, 'com.google.protobuf 3.25.2' bundle actually containing protobuf-java 4.28.2 + grpc 1.75.0 + guava 33.3.1, batik 1.17.0, webcam-capture 0.3.13, JInput 1.0.0, solers slp 3.0.0, commons (io/net/math3/collections/fileupload/httpclient 3.1), swingx 1.6.4, jfreechart, jna 5.12.1, jdom2, xerces 2.9.0, sat4j 2.3.0, felix gogo 0.8.0, equinox.console, ant 1.8.3, slf4j, BouncyCastle (inside catena.core).

## Not investigated / limits

- **Scope of decompilation** (fact; source: work/decomp) — Only parts of 7 jars (ogscript/params bridge, CLI, tally, startup switches). OGLML element implementations, HTTP trigger, Catena proxy, share-server defaults, event object class not decompiled.
- **Nothing executed** (fact; source: -) — CLI and getSystem() behaviour read from source only; not run.
- **Unread** (unknown; source: -) — Encrypted widgetdescriptors, NK nested jars (NKSystemLibrary/NKSystemAPI), camera OID lists (GCC_Master*.csv, oidlist.txt), help.rossvideo.com online help, 8.x release notes, v10 release-note body text.

## Sources
- c:/DashBoard (DashBoard.ini -Ddb.version=9.16.2; plugins/ 259 bundles; VisualLanguage/blocks; widgets/)
- com.rossvideo.rice.graphnav jar help/html/ (CustomPanel Development Guide 8351DR-007)
- https://documentation.rossvideo.com/files/Manuals/Enterprise%20Management/Dashboard/DashBoard%20User%20Guide%20v10.pdf
- https://documentation.rossvideo.com/files/Manuals/Enterprise%20Management/Dashboard/DashBoard%20CustomPanel%20Development%20Guide%20v10.pdf
- https://documentation.rossvideo.com/files/Manuals/Enterprise%20Management/Dashboard/DashBoard%20Release%20Notes%20v10.pdf
- https://www.rossvideo.com/support/product-documentation/dashboard
