1. System Overview

VTM Studio - Integrated is a 3D financial visualization system that renders hierarchical financial data (Balance Sheets, Income Statements, Cash Flow Statements, Equity Schedules, and KPI metrics) as concentric ring structures. Each node in the financial hierarchy becomes a geometric element - arcs, petals, or columns - whose size, height, and color encode magnitude, growth, and lineage. The system integrates SEC XBRL taxonomy mapping, standalone Rose export for sharing, and DuPont valuation decomposition.

Core Concept: The Ring Model

The model is organized as concentric rings, like tree rings viewed from above. The innermost ring represents the top-level financial statements (BS, IS, CF, SCE, KPI). Each successive ring shows the children of the previous level. Time flows vertically - each layer (frame) represents one reporting period. The full stack shows the company's complete financial evolution.

Current Session

Dataset: B4_UR_IZ VTM Platform

Camera: Orthographic

ROSE Mode: Standard

The NAV PAD mode enables controller-driven navigation of the VTM environment. Standard game controllers (Xbox, PlayStation, Switch Pro, and compatible USB or Bluetooth controllers) can operate the viewer in place of a mouse.

Use the NAV PAD button on the top control bar to activate controller input mode. In the Default-On build, both MOBILE and NAV PAD start active at launch so a touch device and a hand controller can operate together.

Quick Start

1. Open the model in a browser that supports the Gamepad API (Chrome or Edge recommended).

2. Connect a supported controller by USB or Bluetooth.

3. Press the NAV PAD button if it is not already active.

4. Move any controller input to wake detection.

5. Aim with the center reticle and use the action buttons to select or drill.

NAV PAD works from a center-screen targeting reticle. Rotate the environment until the reticle points at the node you want. Then:

The left and right sticks replace mouse movement and camera adjustment. Triggers replace mouse-wheel zoom. The controller therefore becomes a hand-operated navigation surface for the model.

Left Stick — Orbit and rotate the model

Right Stick — Fine camera adjustment

LT / RT — Zoom out / Zoom in

A Button — Select node under reticle

Y Button — Drill into selected node

B Button — Drill up

X Button — Toggle labels

LB / RB — Previous / next period

D-Pad Left / Right — Step period backward / forward

D-Pad Up / Down — Change stage emphasis

Start — Reset to ROOT

Select / Back — Play / Pause timeline

A center reticle appears when NAV PAD is active. Rotate the environment until the reticle points at a node, then press A to select or Y to drill. This is the controller equivalent of mouse hover plus click/double-click.

The purpose of NAV PAD is to support large-display use, classroom or presentation use, and controller-based exploration where a mouse is not practical.

2. Loading Data

Click HOME in the main toolbar. You can load data in two ways:

Built-in Datasets

Select from the PROJECT dropdown (e.g., Morgan Stanley). The CSV is pre-loaded and the 3D model builds automatically.

Upload Your Own CSV

Click HOME -> Upload CSV. The file must include columns: Index, Parent, Name, Type, Depth, plus numeric data columns (years or frames). The parser auto-detects year columns (e.g., 2006–2024), fiscal years (FY2016–FY2025), quarterly periods (Q1_2015–Q4_2024), or falls back to sequential frames.

Bridge CSV (SEC XBRL)

Files generated by bridge_extract.py include six additional metadata columns: XBRL_ID, XBRL_Alt, SEC_Role, Calc_Parent, Calc_Weight, Dimension. These are loaded automatically alongside period data and enable the S6 Bridge sheet, tooltip cross-references, and VTM/SEC/DUAL label toggle.

Bridge Merge (Overlay)

If you drop a *_bridge_ref.csv (bridge columns only, no periods) while data is already loaded, VTM merges the XBRL metadata onto existing nodes. This lets you add SEC cross-references to any pre-existing VTM dataset.

The CSV is also used as the right-side dataset in Compare mode. Upload a second company’s CSV while Compare is active to populate the right viewport.

3. Navigation Views

The top toolbar has five main views:

ViewDescription
3D STUDIOPrimary 3D ring model. Interactive drill, rotate, zoom.
2D DASHBOARDFlat 2D table with sparklines, sorting, and node detail.
OBSERVATORYDeep-dive analytics and cross-referencing.
VALUATIONGenerates DuPont decomposition and shows root chamber only. Red ✕ EXIT restores original model. See Section 23c.

3b. The Stage Architecture: Build, Modify, Navigate

VTM operates as a three-stage analytical pipeline. Each stage transforms the data in a distinct way. Understanding the stages is essential to using the system effectively.

Pipeline Flow

STAGE 1 Raw data → S1 Base → initial 3D model

STAGE 2 Five-schedule ledger → projections, valuations, what-if

STAGE 3 Multi-index views → 5A / 5B / 5C / 5D alternative hierarchies

Stage 1: Data Ingestion

Stage 1 is the foundation. Raw financial data enters the system—whether uploaded as a VTM CSV, loaded from an embedded dataset, or extracted from SEC XBRL filings via the bridge_extract.py pipeline—and populates the base hierarchy.

The universal CSV parser auto-detects column formats:

FormatExampleDetection
Annual2006, 2007, … 20244-digit integers 1900–2100
Fiscal YearFY2016, FY_2025FY prefix + 4-digit year
QuarterlyQ1_2015, Q2_2024Q[1-4]_YYYY pattern
Frame IndexF0, F1, F2F prefix + integer
Period IndexP001, P002P prefix + number

Metadata columns (Index, Parent, Name, Type, Depth, Unit, Bin, SEC_Ref, Category, Subcategory, Format, and all bridge columns) are automatically identified and separated from period data. Parent-child relationships are wired. The result is Schedule 1 (S1 Base)—the unmodified, auditable, source-of-truth dataset.

Stage 1 answers: “What does this company look like, structurally, as reported?”

Stage 2: Analytical Modification

Stage 2 is where analysis becomes interactive. The five-schedule ledger system activates:

SchedulePurposeEditable?
S1 BaseRaw input data from Stage 1No (source of truth)
S2 DeltaJournal entry adjustments (M&A, restatements)Yes – direct cell editing
S3 ProjectionsStatistically projected values per nodeVia FORECAST engine
S4 % InputPercentage growth assumptionsYes – direct cell editing
S4A % ResultAbsolute impact of S4 percentagesAuto-computed
S5 ResultS1 + S2 + S3 + S4A combinedAuto-computed

The 3D model always reflects the current S5 state. When projections extend the dataset, valuations (DCF, Monte Carlo, DuPont 3D, ROI 3D) automatically synchronise with the extended data.

Stage 2 answers: “What happens to the structure when I change assumptions?”

Stage 3: Multi-Index Navigation

Stage 3 generates alternative hierarchical orderings from the same S5 data:

ViewHierarchy OrderBest For
5ABIN → Statement → Category → ItemFull structural view
5BStatement → Category → ItemStatement-level analysis
5CCategory → Statement → ItemCross-statement comparison
5DFormat → Statement → ItemSeparating currency / % / ratio

The critical insight: the same financial data tells different stories depending on how you arrange it. View 5C groups all revenue nodes together regardless of which statement they appear in. View 5A preserves the full GAAP structure. Both use identical numbers.

Stage 3 answers: “What other shapes does this data take?”

3c. SEC XBRL Bridge System

The Bridge maps every VTM node to its underlying SEC/GAAP taxonomy concept. This enables cross-company comparison, audit traceability, and dynamic taxonomy labels in the 3D view.

How Bridge Data Gets Into VTM

Two methods:

1. Full Bridge CSV – Run bridge_extract.py AAPL -q --years 2015-2024 to generate a VTM CSV with period data AND six bridge columns (XBRL_ID through Dimension). Load this file directly into VTM.

2. Bridge Merge (Overlay) – Load any VTM CSV first, then drop a *_bridge_ref.csv file (bridge columns only, no period data). The system merges XBRL metadata onto matching nodes without replacing the loaded data. A green toast confirms: “Bridge Merge: 186/186 nodes linked.”

Bridge Columns Explained

ColumnExampleMeaning
XBRL_IDus-gaap:RevenuesPrimary GAAP/IFRS taxonomy concept
XBRL_Altus-gaap:SalesRevenueNetAlternative concept tag (varies by year)
SEC_RoleIncomeStatementFiling section the value appeared in
Calc_Parentus-gaap:GrossProfitXBRL calculation hierarchy parent
Calc_Weight+1 or -1Adds to or subtracts from calc parent
Dimensionsrt:ProductAxis::iPhoneSegment/product/region qualifier

Why Bridge Matters

us-gaap:Revenues means the same thing in Apple’s model and Walmart’s. Different reporting structures, different VTM hierarchies, but the same underlying concept—confirmed by the bridge. This is how you do genuine cross-company comparison.

S6 Bridge Sheet

Click DATA SHEETSS6 Bridge tab (cyan, far right). This is a cross-reference table showing every node’s VTM index alongside its XBRL mapping:

FeatureDescription
SearchType any term – searches across VTM names, XBRL concepts, and dimensions simultaneously
SortClick column headers to sort by Index, Name, or XBRL
Lineage ChipsColor-coded BIN hierarchy path for each node
Dimension ColorsProduct=orange, Geography=green, Business=purple
ClickClick any row to select+highlight that node in the 3D model
ExportClick Export Bridge CSV to download the cross-reference table

Dynamic Label Toggle (VTM / SEC / DUAL)

When bridge data is loaded, the 3D floating labels become switchable. Look for the VTM button in the VIEW toolbar (next to the gold LABELS button). Click it to cycle through three modes:

ModeButtonLabels ShowBorder Color
VTMVTMHuman-readable names: “Total Revenue”Original (ring color)
SECSECXBRL concepts: “Revenue From Contract”Cyan (all labels)
DUALDUALBoth abbreviated: “Total Rev.. | Revenue..”Purple (all labels)
Tooltip always shows both. Regardless of label mode, hovering any node shows the full VTM name, XBRL concept, dimension, and calculation parent in the tooltip. The 3D label is the navigation layer; the tooltip is the detail layer.

Where Bridge Data Appears

LocationWhat You See
3D LabelsName or XBRL concept (depends on toggle mode)
Hover TooltipAlways: VTM name + XBRL concept + Dimension + Calc Parent
Left Panel (Node Inspector)XBRL and Dimension lines below the sparkline
Right Panel (Node Detail)SEC BRIDGE section: full XBRL_ID, Alt, Dimension, Calc Parent, Weight, SEC Role
S6 Bridge TabFull sortable/searchable cross-reference table
S1–S5 SheetsSix additional cyan columns between Avg and period data

4. Camera Controls

Mouse (Desktop)

ActionControl
Orbit (rotate)Click + drag
Zoom in/outScroll wheel
Select nodeSingle click on a mesh
Drill into nodeDouble-click on a mesh

Touch (Mobile)

ActionControl
OrbitOne-finger drag (requires Mobile Mode ON)
ZoomTwo-finger pinch
PanTwo-finger drag
DrillDouble-tap
Enable MOBILE in the utility toolbar to activate touch controls.

5. Orthographic vs Perspective

VTM Studio defaults to Orthographic projection. This is the recommended mode for financial data analysis because:

* Parallel lines remain parallel - no vanishing-point distortion

* Ring widths are directly comparable across the model

* Column heights (in ROSE-C mode) can be read accurately

* Ideal for comparing proportional relationships

Toggle between modes using the ORTHO / PERSP button in the ANALYSIS toolbar group.

ModeZoom BehaviorBest For
ORTHO (default)Scales the view uniformly (camera zoom)Precise comparisons, data reading
PERSPMoves camera closer/furtherImmersive exploration, presentations
WARNING: When switching modes, your camera position is preserved. The transition is seamless - you can toggle mid-analysis without losing your viewpoint.

6. ROSE Angle Modes

The ROSE ANGLE dropdown (utility toolbar) controls how angular space is allocated to nodes around the ring. This fundamentally changes the model's geometry:

ROSE ANGLE (Equal)

Every sibling gets an equal angular slice, regardless of how many descendants it has. Simple and symmetric. Best for: initial overview, comparing same-level items.

ROSE SUBTREE

Angular width is proportional to the number of descendants in each subtree. Nodes with more children get wider arcs. Best for: seeing the true structural weight of each branch.

ROSE-C (City Skyline)

Replaces arc/petal geometry with rectangular columns arranged radially - like a city skyline. Column height encodes value magnitude. Automatically switches to single-layer footprint mode showing only the latest period.

Color scheme: Lineage-based - BS=blue (210°), IS=magenta (320°), CF=green (125°), EQ=gold (45°), KPI=red (10°), with hue shifting +18° per depth level.

WARNING: When switching away from ROSE-C, the system automatically restores your previous layer mode and frame position.

3D INDEX & 2D INDEX (Conical Filing Index)

EDGAR-style hierarchical navigation models for structural exploration. Two complementary views of the same data tree: a 3D conical ring structure and a 2D radial tree layout.

Key difference from ROSE: All segments have uniform thickness — there is no value modulation. INDEX modes are for structural exploration, not value comparison.

6b. 3D INDEX & 2D INDEX — Conical Filing Index

Activation

Select 3D INDEX or 2D INDEX from the dropdown model selector in the purple toolbar. Both modes switch to single-frame stack mode (like ROSE-C). 3D INDEX builds the conical ring geometry in the WebGL viewport; 2D INDEX renders a radial tree on a dedicated 2D canvas overlay.

3D INDEX

Geometry

ElementDescription
RingsConcentric arcs at each depth level. Depth 0 (root) at top, children step downward.
Cone HeightSlider (0–80, default 12). 0 = flat disc, 80 = steep cone. Controls vertical separation between rings.
Golden AxisCentral cylinder running through the cone center.
Ring GuidesWhite torus circles at each depth level for visual reference.

Label System

Floating sprite labels above each segment. Dark background with white text and colored border matching the node's lineage color. Labels always render on top of geometry (renderOrder=999).

ControlAction
LABELS: ONCycles: ON (all visible, green) -> HOVER (show on mouse proximity, gray) -> OFF (hidden, red) -> ON
RING: ALLCycles: ALL -> D0 -> D1 -> D2 -> D3... -> ALL. Filters which depth ring shows labels.
Size slider4–50 (default 16). Adjusts label sprite scale. Deeper labels auto-shrink slightly.
Cone Height0–80 (default 12). Adjusts vertical ring separation. 0 = flat disc.
VTM / SEC / DUALWhen bridge data is loaded: cycles label text between VTM names, XBRL concepts, and both. See Dynamic Label Toggle.

2D INDEX — The Spiral Dynamic Index

Layout

Radial tree rendered on a dedicated HTML5 2D canvas. Root node sits at center; children fan outward along concentric depth rings. Each child receives an angular sector proportional to its subtree size, ensuring balanced visual distribution.

Why It Forms a Spiral

Financial hierarchies have characteristic branching ratios: 3–5 top-level statements, 15–30 subcategories, 50–200 leaf items. When these ratios are mapped to polar coordinates, the natural geometry is a logarithmic spiral—the same curve found in nautilus shells, galaxy arms, and hurricane patterns. The spiral is not a design choice; it is a consequence of GAAP hierarchy structure.

ElementDescription
NodesColored dots at each node position. Hover enlarges the dot with a white stroke and shows a value badge.
LinksCurved bezier lines connecting parent to child nodes with perpendicular control points.
LabelsText labels beside each dot, positioned left/right depending on angular position. Text shadow for readability.
HUDBottom-right overlay showing drill context and visible node count.

2D Interactions

* Click a node — drills into that node (if it has children)

* Double-click empty space — drills up one level

* Drag — pans the canvas (grab cursor)

* Scroll wheel — zooms toward cursor position (0.1x to 5x range)

Auto-fit zoom centers content and scales to 85% of the viewport on each rebuild.

Canvas Switching

When in 2D INDEX mode, switching to Stage 2 or Stage 3 automatically swaps to the 3D WebGL canvas (those stages use 3D geometry). Returning to Stage 1 restores the 2D canvas.

Shared Features (Both INDEX Modes)

Navigation

* Single-click a label/node — drills into that node (if it has children)

* Double-click any segment — drills into that node directly (3D) or drills up (2D)

* Drill Up / Reset — standard drill controls apply; view rebuilds at new level

* D0-D6 buttons — toggle visibility of individual depth rings in both modes

Color Scheme

DuPont-matched palette: 12-hue system starting with cyan (185deg) for the primary branch, then purple (280deg), pink (320deg), gold (55deg), blue (240deg), and teal (150deg). Children inherit their ancestor's hue but lighten progressively with depth (72% down to 40% lightness). This produces the characteristic cyan-dominant view at root level and the purple/magenta spread when drilled into a branch.

INDEX controls (LABELS, RING, Size, Cone Height) appear automatically in the Drill Navigation panel when either INDEX mode is selected, and hide when switching to other modes. Both 3D INDEX and 2D INDEX share the same color palette for visual consistency.

7. Layer Modes & Timeline

Layer Modes

ModeDescription
StackAll layers from first period up to the current frame are visible. Shows cumulative evolution.
SingleOnly the selected frame's layer is visible. Isolates one period.

Timeline Bar (Bottom of Screen)

The horizontal bar at the bottom controls which period is displayed:

* > Play - Auto-animate through all periods

* < > - Step backward/forward one frame

* Speed dropdown - 0.5s to 5s per frame

* TRIM slider (green) - Limits the range of visible data frames

* PERIOD slider (red) - Selects the current frame within the trimmed range

8. Color Schemes

The view toggles LINEAGE, TREE, and ANALYTICS control how meshes are colored:

SchemeLogic
LINEAGEColor by financial statement ancestry (BS=blue, IS=magenta, CF=green, EQ=gold, KPI=red). Hue shifts by depth.
TREEColor by tree depth level. Useful for structural overview.
ANALYTICSColor by value magnitude and change direction. Green=growth, red=decline.

9. Drill Down / Up / Root

Drilling is the primary navigation method. It lets you focus on any branch of the financial tree by zooming into its descendants and filtering out everything else.

How to Drill Down

* Double-click any mesh in the 3D view to drill into it

* The model re-filters to show only that node's descendants

* Continue drilling deeper by double-clicking children

How to Drill Up

* Click ^ UP in the floating navigator or toolbar

* Moves one level up in the drill stack

* When you reach the top-level node, the next UP returns to ROOT

How to Reset to Root

* Click ⟲ ROOT in the floating navigator or ROOT in the DRILL toolbar

* Immediately returns to the full model view, clearing all drill state

Drill Toolbar Buttons

ButtonAction
ROOTReset to full model (all nodes visible)
^ UPGo up one drill level
STAGE 2Enter DuPont Stage 2 (see below)
FLATToggle flat (zero-height) mode for top-down view

10. Floating Drill Navigator

When you drill into any node, a floating control panel appears at the bottom-left of the 3D viewport. It provides:

* Breadcrumb trail - clickable chips showing your drill path (e.g., Balance Sheet > Total Assets > Current Assets). Click any chip to jump directly to that level.

* ^ UP - Drill up one level

* ⬡ STAGE 2 - Toggle DuPont Stage 2. Changes to ⬡ EXIT S2 when active.

* ⟲ ROOT - Reset to root view

The floating navigator eliminates the need to switch sidebar tabs just to drill up. It auto-hides when you return to ROOT and auto-shows whenever you're drilled into a node.

11. Stage 2 - DuPont Decomposition

Stage 2 is a DuPont-inspired analysis mode that removes the parent node and lets its children fill the entire 360° ring. This reveals the internal composition and proportional relationships between siblings.

How to Use Stage 2

1. Drill into a node (e.g., Balance Sheet)

2. Click ⬡ STAGE 2 (in the floating nav or DRILL toolbar)

3. The parent is removed - children expand to fill the full circle

4. Click again to exit Stage 2 and return to the normal drill view

Stage 2 in Compare Mode

When Compare is active, pressing Stage 2 applies to both viewports simultaneously. If the right side hasn't been drilled yet, it auto-drills into the same node as the left side before applying Stage 2.

Drill Navigation During Stage 2

* Double-click a mesh while in Stage 2 -> auto-exits Stage 2, drills deeper

* UP -> exits Stage 2 first, then moves up one level

* ROOT -> fully restores the original model and returns to root view

See also: Valuation Focus Mode (Section 23c). The gold VALUATION button in the top toolbar generates a standalone DuPont decomposition model and displays only its root chamber. This is different from Stage 2, which decomposes an existing node in the financial hierarchy. Valuation Focus creates an entirely new tree (ROE → Margin × Turnover × Leverage) from the underlying data.

11b. Stage 3 — Radial Histogram Bars

Stage 3 overlays radial histogram bars extending outward from each segment. Bar length encodes node value magnitude, providing a second visual dimension beyond color and angular position.

Activation

Click the STAGE 3 button in the toolbar. The amber-colored button indicates Stage 3 is ready. When active, radial bars extend from each arc segment.

Behavior

FeatureDescription
Mutual ExclusionStage 3 is mutually exclusive with Stage 2. Activating one deactivates the other.
Auto Re-entryIf Stage 3 is active and you drill deeper, Stage 3 automatically re-activates at the new drill level.
Bar LengthProportional to node value. Larger values produce longer outward-extending bars.
ColorInherits the node's lineage or ring color scheme.

Navigation During Stage 3

Double-click a mesh while in Stage 3 → auto-exits Stage 3, drills deeper, then re-enters Stage 3

UP → exits Stage 3 first, then moves up one level

ROOT → fully restores the original model and returns to root view

12. Compare Mode - Split Screen

Compare mode splits the viewport into two side-by-side 3D models, allowing direct visual comparison of two datasets (e.g., two companies, or the same company at different times).

Activating Compare

1. Click COMPARE in the ANALYSIS toolbar

2. The viewport splits: LEFT = Primary dataset, RIGHT = Compare dataset

3. If no second dataset is loaded, the right side shows an upload overlay

4. Upload a second CSV (or select from the Project dropdown) to populate the right model

Compare Controls

Each viewport has its own expand/close buttons in the label bar. You can expand either side to full width for detailed inspection, then collapse back to split view.

13. SYNC - Critical Concept

WARNING: SYNC is one of the most important controls in Compare mode

SYNC determines whether the left and right viewports are locked together or independent. Understanding SYNC is essential for effective comparison work.

SYNC ON (Default)

When SYNC is ON (button highlighted), the two viewports are linked:

* Camera - Rotating or zooming the left model mirrors the movement on the right. Both models stay at the same angle and zoom level.

* Drill - Drilling into a node on the left automatically drills the right side into the same node (if it exists in the right dataset).

* Drill Up / Reset - Moving up or resetting on the left also moves the right side up or resets it.

* Stage 2 - Pressing Stage 2 applies to both sides simultaneously.

* Timeline - Frame changes apply to both models.

Use SYNC ON when: Comparing the same line items across two companies (e.g., "How does Company A's Balance Sheet structure compare to Company B's?"). The synchronized camera ensures you're looking at both models from the same angle.

SYNC OFF

When SYNC is OFF (button not highlighted), each viewport is fully independent:

* Camera - Each side has its own orbit, zoom, and angle. You can look at the left model from above while viewing the right from the side.

* Drill - Drilling on one side does NOT affect the other. You can drill into Balance Sheet on the left and Income Statement on the right.

* Stage 2 - Still applies to both sides that have active drills (since this is a toolbar action, not a per-viewport action).

Use SYNC OFF when: Exploring different branches of each company independently (e.g., comparing one company's Assets against another company's Revenue).

Switching SYNC Mid-Session

You can toggle SYNC at any time. Turning SYNC ON does not retroactively synchronize drill state - it only affects future actions. If the two sides are at different drill levels when you turn SYNC ON, the next drill/up/reset from the left will propagate to the right.

14. Compare Drilling Workflow

Recommended Workflow (SYNC ON)

1. Activate Compare mode and load two datasets

2. Ensure SYNC is ON (default)

3. Double-click Balance Sheet on the left -> both sides drill into BS

4. Press Stage 2 -> both sides show BS children at 360°

5. Compare proportional structures side by side

6. Drill deeper into any child -> both sides follow

7. Click ROOT -> both sides return to full model

Independent Drilling (SYNC OFF)

1. Turn SYNC OFF

2. Click on the left canvas, then double-click a node -> only left drills

3. Click on the right canvas, then double-click a node -> only right drills

4. Each side maintains its own drill stack

WARNING: The system tracks which viewport you last interacted with (last-interacted). The UP and ROOT toolbar buttons route to the last-interacted side when SYNC is OFF. The floating navigator always controls the left viewport.

15. CLARITY System

Click CLARITY in the ANALYSIS toolbar. This applies a DuPont-style renormalization that enhances visual contrast:

* Small values become more visible relative to dominant nodes

* Anomalies (extreme changes) are highlighted

* The overall structure becomes easier to read at a glance

16. ANALYZE Modal

Click ANALYZE to open the analysis modal. This provides statistical analysis of the selected node including period-over-period changes, trend lines, and distributional properties.

17. Anomaly Scanner

Found in the STATS sidebar tab. Set a threshold percentage (default 20%) and click ⚠ Scan Anomalies. The system flags any node whose period-over-period change exceeds the threshold. Results are displayed inline with the node inspector.

18. Blockchain Audit

Click AUDIT to run a full blockchain validation. Every data load, drill, projection, and model rebuild is recorded as an immutable block in a hash chain. The audit verifies chain integrity and reports any breaks.

The left sidebar has three tabs:

DATA

* Quick Stats - Total absolute value, max node, average Δ%

* Node Inspector - Selected node detail: name, value, Δ%, depth, children, sparkline histogram

* Distribution - Value distribution chart

STATS

* Drill Navigation - Breadcrumb path, UP/Reset buttons, drill path display

* Anomaly Scanner - Threshold control and scan results

* Top Movers - Top gainers and losers by Δ%

PLUS (Advanced)

* What-If Adjustments - Select a node and apply a percentage adjustment to see hypothetical changes

* Bookmarks - Save and restore camera positions and drill states

* Annotations - Attach text notes to specific nodes for documentation

* Scenario Presets - Apply Bull (+15%), Bear (-15%), or Stress (-30%) scenarios with one click

* DuPont Index Sheets (5A-5D) - Schedule-based analytics derived from the loaded data

20. Data Sheets

Click DATA SHEETS in the main toolbar. This opens a full-screen spreadsheet overlay showing all computed schedules:

SheetContentEditable?
S1 BaseRaw input data – all nodes and all periods (source of truth)No
S2 DeltaJournal entry adjustments (M&A, restatements, corrections)Yes
S3 ProjectionsStatistically projected values from FORECAST engineVia engine
S4 % InputPercentage growth assumptions per nodeYes
S4A % ResultAbsolute impact of S4 percentages on base valuesNo
S5 ResultComputed: S1 + S2 + S3 + S4A (drives the 3D model)No
5A–5DMulti-index views: alternative hierarchy orderings of S5 dataNo
S6 BridgeXBRL cross-reference: VTM Index ↔ SEC taxonomy conceptsNo

S6 Bridge Sheet

S6 appears as a cyan tab on the far right when bridge data is present. It shows a sortable, searchable cross-reference table mapping each VTM node to its XBRL concept, dimension, calculation parent, and weight. Click any row to select that node in 3D. Use the Export Bridge CSV button to download the full cross-reference.

Bridge Columns in S1–S5

When bridge data is loaded, six additional columns appear in every standard schedule (between Avg and the period columns): XBRL_ID, XBRL_Alt, SEC_Role, Calc_Parent, Calc_Weight, and Dimension. These are displayed in cyan monospace to distinguish them from financial data.

XBRL Column Toggle

The XBRL button in the Data Sheets toolbar toggles visibility of all six bridge columns across S1–S5. When hidden, the table compresses to show only structural metadata (Index, Name, Lineage, Type, D, Kids, Avg) followed immediately by period data. This is purely cosmetic—the bridge data remains in the DOM and continues to power S6 Bridge, tooltips, Rose export, and CSV downloads.

Button StateAppearanceEffect
Visible (default)Full brightness, cyan gradientAll 6 bridge columns shown
HiddenDimmed, strikethrough textBridge columns hidden; table narrows
The XBRL toggle state persists across sheet switches. If you hide bridge columns on S1, they stay hidden when you switch to S2, S3, etc. Click again to restore.

21. PLUS Tab - Advanced Features

What-If Adjustments

Select a node in the 3D view, enter a percentage adjustment in the PLUS tab, and click Apply. The model recalculates with the adjusted value, letting you explore hypothetical scenarios interactively.

Bookmarks

Save your current camera position, drill state, and frame for quick recall. Bookmarks persist in your browser's local storage.

Annotations

Attach text notes to specific nodes. Useful for documenting findings during analysis sessions. Annotations are stored locally and can be exported.

Scenario Presets

PresetEffect
BULL+15% adjustment across all values
BEAR-15% adjustment across all values
STRESS-30% severe stress scenario
RESETReturn to original unmodified values

22. Projection System

The PROJECT dropdown in the toolbar includes projection settings. When enabled, the system extrapolates future periods based on historical trends. Projected periods appear as additional layers beyond the base data.

Choose from: Current (no projection), or Median over 2yr/3yr/4yr/5yr windows. The projection method uses rolling median growth rates applied to the last actual period.

23. Export Options

Click EXPORT v to see all available export formats:

FormatDescription
CSVStandard CSV with all nodes and periods
Enhanced CSVIncludes computed columns (Δ%, ranks, anomaly flags)
All SheetsMulti-sheet export with all S1–S5 + 5A-5D schedules
JSONFull model state as structured JSON
OBJ3D mesh export (Wavefront OBJ format)
PNGScreenshot of the current 3D view
BookmarksExport saved bookmarks as JSON
AnnotationsExport annotations as JSON
Audit ChainExport the full blockchain audit trail
⬡ Export Rose HTMLStandalone 3D Rose viewer (120–150KB HTML). Opens in any browser with no VTM installation.
TimelineExport timeline animation as sequence

23b. Rose Export & Standalone Viewer

The Rose Export creates a fully self-contained HTML file that recreates the VTM Rose Subtree model with the currently loaded company data. The recipient does not need VTM installed—they open the file in any modern browser and get an interactive 3D visualization.

How to Export

Click EXPORT v⬡ Export Rose HTML. The system serializes the current node map (all nodes, all periods, all bridge metadata) into a standalone HTML file. A toast confirms the export: “⬡ Rose exported: 186 nodes, 40 periods (128KB)”

What Gets Exported

DataIncluded?
Node hierarchy (parent-child)Yes – full tree structure with index, depth, type
Period valuesYes – all periods (e.g., 40 quarters or 19 years)
XBRL metadataYes – XBRL_ID, XBRL_Alt, SEC_Role, Calc_Parent, Calc_Weight, Dimension
Company name & tickerYes – extracted from APP.company
Schedule modifications (S2–S5)No – exports S5 Result state at time of export

Three Viewing Modes in the Rose

The exported Rose offers three switchable views via the STACK | FLAT | SPIRAL selector bar:

ModeDescriptionBest For
STACKTemporal pillar. Each period is a horizontal ring layer stacked vertically. Value-modulated arc thickness shows proportional size. Frame slider scrubs through time. STACK/SINGLE toggle controls layer visibility.Time-series analysis; seeing how structure grows/shrinks across periods
FLATStructural Rose. Single period view with all depth rings visible simultaneously. Same concentric ring layout but compressed to one layer. Labels float above.Cross-sectional snapshot; comparing relative sizes within one period
SPIRAL2D radial tree. Canvas-based, nodes as circles connected by edges. Concentric layout from center outward. Pan by dragging, scroll to zoom. Node size proportional to value.Hierarchy overview; quick navigation of parent-child relationships

Rose Controls

ControlFunction
Company PickerButtons for each loaded company. Click to switch Rose instantly.
FRAME sliderScrub through periods. ◀ ▶ buttons step one frame at a time.
RING sliderControls maximum visible depth ring (D0 to ALL).
TXT sliderAdjusts label size (range 6–60). Drag right for larger, more readable labels.
SPIN sliderAuto-rotation speed. Set to 0 to stop spinning.
LABELS ON / HOVER / OFFCycle label visibility mode.
VTM / SEC / DUALToggle between human-readable names, XBRL concepts, or both.
SUBTREE / EQUALAngular allocation mode. SUBTREE weights arcs by descendant count; EQUAL divides evenly.
STACK / SINGLELayer visibility (STACK mode only). STACK shows all layers up to current frame; SINGLE shows only the selected frame.
☀ MEDIUM / ☀ LIGHT / ☾ DARKThree-way background toggle. Dark (#020408), Medium (#3a3f4a slate), Light (#b8b8b0 dove grey). Backlight intensity increases with lighter backgrounds.
⟵ ROOTReset drill state to show full tree.

Rose Interaction

ActionEffect
Click + drag (3D)Orbit camera around Rose
Scroll wheel (3D)Zoom in/out
Click + drag (Spiral)Pan the 2D tree
Scroll wheel (Spiral)Zoom the 2D tree
Hover any nodeTooltip with name, value, period, and XBRL concept
Click any nodeInfo panel with sparkline, index, depth, type, XBRL, dimension, calc parent
Double-click any nodeDrill into that node’s subtree. Breadcrumb trail appears. Click ROOT to return.
Drag-drop CSVLoad additional companies. A new picker button appears automatically.

Rose Value Modulation

In STACK and FLAT modes, each arc’s radial thickness encodes the node’s value relative to its sibling group. The system uses parent-group normalization: for each parent, the maximum absolute value across all children and all periods becomes the reference (100% thickness). Negative values are rendered as red arcs extending inward from the outer edge of the ring band. The extrude depth (3D height of each slab) is also proportional to value share.

Sharing Rose files: The exported HTML is fully self-contained (single file, ~120–150KB). It loads Three.js from CDN on first open. Email it, share via Slack, or host on any web server. The recipient sees the full interactive Rose with all periods, all nodes, and complete XBRL cross-references.

23c. Valuation Focus Mode

Valuation Focus isolates the DuPont decomposition model and displays only its root chamber. This provides a clean view of the core valuation ratios without the full financial hierarchy.

How It Works

Click the gold VALUATION button in the top toolbar. The system:

1. Backs up the entire current model (all nodes, roots, ring visibility)

2. Generates the DuPont decomposition tree from the loaded financial data

3. Filters the view to D0 only (root chamber of the DuPont tree)

4. Shows a red pulsing ✕ EXIT button

The DuPont Tree

The generated decomposition follows the classic 5-factor DuPont identity:

NodeDepthFormula
ROE (Return on Equity)D1 (root)Margin × Turnover × Leverage
Net Profit MarginD2Net Income / Revenue
Asset TurnoverD2Revenue / Total Assets
Equity MultiplierD2Total Assets / Total Equity
Operating MarginD2Operating Income / Revenue (if data available)
Cash ConversionD2Cash from Ops / Net Income (if data available)
Component valuesD3Net Income, Revenue, Total Assets, Equity, OpInc, CashOps

Exiting Valuation Focus

Click ✕ EXIT or click VALUATION again (it toggles). The system restores the original financial model with all nodes, all ring visibility states, and all structural metadata exactly as they were before entering Valuation Focus.

Ring controls still work in focus mode. While in Valuation Focus, you can manually toggle D1, D2, D3 buttons to reveal deeper layers of the DuPont tree. EXIT always restores the full original model regardless of ring changes made during focus.

24. Mobile Controls

Click MOBILE in the utility toolbar to enable touch-optimized controls. When active:

* One-finger drag orbits the model

* Two-finger pinch zooms (works with both Ortho and Perspective cameras)

* Two-finger drag pans the view vertically

* Double-tap drills into a node

Click again to disable mobile mode and return to standard mouse controls.

25. Keyboard & Mouse Reference

InputAction
Click + dragOrbit camera
Scroll wheelZoom (Ortho: uniform scale / Persp: move closer)
Single click meshSelect node -> shows in Node Inspector
Double-click meshDrill into node
F12Open browser console for diagnostics

26. Console Diagnostics

Press F12 -> Console tab to see detailed diagnostic logs. All operations are prefixed for easy filtering:

PrefixTracks
[CSV]Data loading, parsing, year detection
[3D]Model building, mesh counts, camera setup
[DRILL]Drill down/up/reset, visibility checks
[DRILL-SYNC]SYNC propagation to right viewport
[STAGE2-L]Left viewport Stage 2 enter/exit
[STAGE2-R]Right viewport Stage 2 enter/exit
[RIGHT-DRILL]Right-side drill operations
[ROSE]ROSE mode changes
[CAMERA]Ortho/Perspective toggles
[SCHEDULE]DuPont schedule computations
[BLOCKCHAIN]Audit chain events
[PROJ]Projection calculations
[REFRESH]Full model rebuilds
If the 3D view goes blank, check the console for [DRILL] BLANK DETECTED - the system auto-rebuilds when this happens. Report persistent blank screens with the console log.

27. Glossary

TermDefinition
RingA concentric band in the 3D model. Each ring corresponds to one depth level in the financial hierarchy.
FrameOne time period (e.g., one year). Frames stack vertically.
LayerThe geometry for all nodes at one frame. Stack mode shows all layers up to current frame.
NodeOne data point in the hierarchy (e.g., "Total Assets", "Revenue", "Cash from Ops").
MeshThe 3D geometry (arc, petal, or column) representing one node at one frame.
DrillZooming the view to show only the descendants of a selected node.
Stage 2DuPont decomposition mode: parent removed, children fill 360°.
SYNCLinks left and right viewports so actions on one side mirror to the other.
RenormRe-normalization of node sizes to improve visual readability.
FootprintROSE-C single-layer mode showing only the latest period as column heights.
SnapshotInternal copy of Stage 1 geometry, used to restore the model when exiting Stage 2.
3D INDEXConical filing index model. EDGAR-style navigation with uniform segments, adjustable cone height, and clickable label sprites. Rendered in WebGL 3D viewport.
2D INDEXRadial tree filing index. Same hierarchy as 3D INDEX but rendered as a flat radial layout with bezier links, pan/zoom/click interactions. Uses dedicated 2D canvas overlay.
Stage 3Radial histogram bar overlay. Bars extend outward from segments, encoding node value as bar length. Mutually exclusive with Stage 2.
Stage ArchitectureThe three-stage pipeline: Stage 1 (Data Ingestion → S1), Stage 2 (Analytical Modification → five-schedule ledger), Stage 3 (Multi-Index Navigation → 5A–5D).
XBRL BridgeSix metadata columns (XBRL_ID, XBRL_Alt, SEC_Role, Calc_Parent, Calc_Weight, Dimension) linking VTM nodes to SEC/GAAP taxonomy concepts.
S6 Bridge SheetCross-reference table in Data Sheets showing VTM Index ↔ XBRL mapping. Sortable, searchable, exportable.
Bridge MergeLoading a bridge_ref.csv (0 periods, bridge columns only) overlays XBRL metadata onto already-loaded nodes without replacing data.
Label ToggleVTM/SEC/DUAL cycling of 3D floating labels. VTM=human names, SEC=XBRL concepts, DUAL=both abbreviated.
DimensionXBRL dimensional qualifier (e.g., srt:ProductAxis::iPhone). Identifies segment, product, or region breakdown.
Calc_Weight+1 or −1 from XBRL calculation linkbase. Indicates whether a line item adds to or subtracts from its calculation parent.
Spiral Dynamic IndexThe 2D radial layout where financial hierarchy nodes self-organise into a logarithmic spiral pattern. Emerges from the branching ratios of GAAP hierarchies mapped to polar coordinates.
Multi-IndexStage 3 re-indexed views (5A–5D) that slice S5 data along different structural axes (BIN, Statement, Category, Format).
Cone Height3D INDEX parameter (0–80) controlling vertical separation between depth rings. 0=flat disc, 80=steep cone.
renderOrderThree.js property ensuring 3D INDEX labels always render on top of ring geometry (set to 999).
Rose ExportSelf-contained HTML file (120–150KB) containing the full interactive Rose viewer with all loaded company data, periods, and XBRL metadata. Opens in any browser without VTM.
STACK ModeRose viewing mode where each period is a horizontal ring layer stacked vertically. Value-modulated arc thickness encodes proportional size within sibling groups.
FLAT ModeRose viewing mode showing a single period with all depth rings visible as a flat concentric disc. Useful for cross-sectional comparison.
SPIRAL ModeRose viewing mode using a 2D canvas radial tree. Nodes as circles, edges as lines, concentric depth rings. Pan/zoom/click interactions.
Background ToggleThree-way cycle: Dark (#020408), Medium (#3a3f4a slate), Light (#b8b8b0 dove grey). Available in Rose viewer. Backlight intensity scales with brightness.
TXT SliderLabel size control in Rose viewer (range 6–60). Adjusts sprite scale in 3D modes and font size in SPIRAL mode.
Value ModulationRose rendering technique where arc radial thickness encodes node value as a proportion of its parent-group maximum. Creates visually weighted geometry.
Parent-Group NormalizationFor each parent, the system finds the maximum absolute value among its children across all periods. Each child’s share = |value| / parentGroupMax. This ensures siblings are always compared to each other.
Valuation FocusMode that generates the DuPont decomposition tree and shows only its root chamber (D0). EXIT restores the original financial model. Activated via the gold VALUATION button.
DuPont DecompositionROE = Net Profit Margin × Asset Turnover × Equity Multiplier. Extended with Operating Margin and Cash Conversion when data is available.
XBRL Column ToggleThe cyan XBRL button in Data Sheets that shows/hides the six bridge columns (XBRL_ID through Dimension) in S1–S5. CSS-only toggle; data remains in DOM.
Breadcrumb TrailIn Rose viewer: ROOT › Parent › Child path showing current drill position. Click any crumb to navigate to that level.
Support & Diagnostics

For issues beyond this manual, press F12 -> Console to view diagnostic logs. All drill, Stage 2, projection, SYNC, and rebuild operations are logged with structured prefixes. Copy the console output when reporting issues.

VTM Studio - Integrated · Third Edition · Three.js · DuPont Engine · SEC XBRL Bridge · Rose Export · Valuation Focus · Blockchain Audit Chain