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
1A. NAV PAD Controller Navigation
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.
Turn On NAV PAD
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.
How to Use
NAV PAD works from a center-screen targeting reticle. Rotate the environment until the reticle points at the node you want. Then:
- Press A to select the node under the reticle.
- Press Y to drill into the selected node.
- Press B to drill up one level.
- Press Start to reset to the root level.
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.
Controller Mapping
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
Reticle Targeting
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.
3. Navigation Views
The top toolbar has five main views:
| View | Description |
|---|---|
| 3D STUDIO | Primary 3D ring model. Interactive drill, rotate, zoom. |
| 2D DASHBOARD | Flat 2D table with sparklines, sorting, and node detail. |
| OBSERVATORY | Deep-dive analytics and cross-referencing. |
| VALUATION | Generates DuPont decomposition and shows root chamber only. Red ✕ EXIT restores original model. See Section 23c. |
3b. The Stage Architecture: Build, Modify, Navigate
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:
| Format | Example | Detection |
|---|---|---|
| Annual | 2006, 2007, … 2024 | 4-digit integers 1900–2100 |
| Fiscal Year | FY2016, FY_2025 | FY prefix + 4-digit year |
| Quarterly | Q1_2015, Q2_2024 | Q[1-4]_YYYY pattern |
| Frame Index | F0, F1, F2 | F prefix + integer |
| Period Index | P001, P002 | P 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 2: Analytical Modification
Stage 2 is where analysis becomes interactive. The five-schedule ledger system activates:
| Schedule | Purpose | Editable? |
|---|---|---|
| S1 Base | Raw input data from Stage 1 | No (source of truth) |
| S2 Delta | Journal entry adjustments (M&A, restatements) | Yes – direct cell editing |
| S3 Projections | Statistically projected values per node | Via FORECAST engine |
| S4 % Input | Percentage growth assumptions | Yes – direct cell editing |
| S4A % Result | Absolute impact of S4 percentages | Auto-computed |
| S5 Result | S1 + S2 + S3 + S4A combined | Auto-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 3: Multi-Index Navigation
Stage 3 generates alternative hierarchical orderings from the same S5 data:
| View | Hierarchy Order | Best For |
|---|---|---|
| 5A | BIN → Statement → Category → Item | Full structural view |
| 5B | Statement → Category → Item | Statement-level analysis |
| 5C | Category → Statement → Item | Cross-statement comparison |
| 5D | Format → Statement → Item | Separating 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.
3c. SEC XBRL Bridge System
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
| Column | Example | Meaning |
|---|---|---|
| XBRL_ID | us-gaap:Revenues | Primary GAAP/IFRS taxonomy concept |
| XBRL_Alt | us-gaap:SalesRevenueNet | Alternative concept tag (varies by year) |
| SEC_Role | IncomeStatement | Filing section the value appeared in |
| Calc_Parent | us-gaap:GrossProfit | XBRL calculation hierarchy parent |
| Calc_Weight | +1 or -1 | Adds to or subtracts from calc parent |
| Dimension | srt:ProductAxis::iPhone | Segment/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 SHEETS → S6 Bridge tab (cyan, far right). This is a cross-reference table showing every node’s VTM index alongside its XBRL mapping:
| Feature | Description |
|---|---|
| Search | Type any term – searches across VTM names, XBRL concepts, and dimensions simultaneously |
| Sort | Click column headers to sort by Index, Name, or XBRL |
| Lineage Chips | Color-coded BIN hierarchy path for each node |
| Dimension Colors | Product=orange, Geography=green, Business=purple |
| Click | Click any row to select+highlight that node in the 3D model |
| Export | Click 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:
| Mode | Button | Labels Show | Border Color |
|---|---|---|---|
| VTM | VTM | Human-readable names: “Total Revenue” | Original (ring color) |
| SEC | SEC | XBRL concepts: “Revenue From Contract” | Cyan (all labels) |
| DUAL | DUAL | Both abbreviated: “Total Rev.. | Revenue..” | Purple (all labels) |
Where Bridge Data Appears
| Location | What You See |
|---|---|
| 3D Labels | Name or XBRL concept (depends on toggle mode) |
| Hover Tooltip | Always: 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 Tab | Full sortable/searchable cross-reference table |
| S1–S5 Sheets | Six additional cyan columns between Avg and period data |
4. Camera Controls
Mouse (Desktop)
| Action | Control |
|---|---|
| Orbit (rotate) | Click + drag |
| Zoom in/out | Scroll wheel |
| Select node | Single click on a mesh |
| Drill into node | Double-click on a mesh |
Touch (Mobile)
| Action | Control |
|---|---|
| Orbit | One-finger drag (requires Mobile Mode ON) |
| Zoom | Two-finger pinch |
| Pan | Two-finger drag |
| Drill | Double-tap |
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.
| Mode | Zoom Behavior | Best For |
|---|---|---|
| ORTHO (default) | Scales the view uniformly (camera zoom) | Precise comparisons, data reading |
| PERSP | Moves camera closer/further | Immersive exploration, presentations |
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.
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
| Element | Description |
|---|---|
| Rings | Concentric arcs at each depth level. Depth 0 (root) at top, children step downward. |
| Cone Height | Slider (0–80, default 12). 0 = flat disc, 80 = steep cone. Controls vertical separation between rings. |
| Golden Axis | Central cylinder running through the cone center. |
| Ring Guides | White 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).
| Control | Action |
|---|---|
| LABELS: ON | Cycles: ON (all visible, green) -> HOVER (show on mouse proximity, gray) -> OFF (hidden, red) -> ON |
| RING: ALL | Cycles: ALL -> D0 -> D1 -> D2 -> D3... -> ALL. Filters which depth ring shows labels. |
| Size slider | 4–50 (default 16). Adjusts label sprite scale. Deeper labels auto-shrink slightly. |
| Cone Height | 0–80 (default 12). Adjusts vertical ring separation. 0 = flat disc. |
| VTM / SEC / DUAL | When 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.
| Element | Description |
|---|---|
| Nodes | Colored dots at each node position. Hover enlarges the dot with a white stroke and shows a value badge. |
| Links | Curved bezier lines connecting parent to child nodes with perpendicular control points. |
| Labels | Text labels beside each dot, positioned left/right depending on angular position. Text shadow for readability. |
| HUD | Bottom-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.
7. Layer Modes & Timeline
Layer Modes
| Mode | Description |
|---|---|
| Stack | All layers from first period up to the current frame are visible. Shows cumulative evolution. |
| Single | Only 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:
| Scheme | Logic |
|---|---|
| LINEAGE | Color by financial statement ancestry (BS=blue, IS=magenta, CF=green, EQ=gold, KPI=red). Hue shifts by depth. |
| TREE | Color by tree depth level. Useful for structural overview. |
| ANALYTICS | Color by value magnitude and change direction. Green=growth, red=decline. |
9. Drill Down / Up / Root
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
| Button | Action |
|---|---|
| ROOT | Reset to full model (all nodes visible) |
| ^ UP | Go up one drill level |
| STAGE 2 | Enter DuPont Stage 2 (see below) |
| FLAT | Toggle 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
11. Stage 2 - DuPont Decomposition
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
11b. Stage 3 — Radial Histogram Bars
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
| Feature | Description |
|---|---|
| Mutual Exclusion | Stage 3 is mutually exclusive with Stage 2. Activating one deactivates the other. |
| Auto Re-entry | If Stage 3 is active and you drill deeper, Stage 3 automatically re-activates at the new drill level. |
| Bar Length | Proportional to node value. Larger values produce longer outward-extending bars. |
| Color | Inherits 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
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.
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).
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
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.
19. Sidebar Panels
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:
| Sheet | Content | Editable? |
|---|---|---|
| S1 Base | Raw input data – all nodes and all periods (source of truth) | No |
| S2 Delta | Journal entry adjustments (M&A, restatements, corrections) | Yes |
| S3 Projections | Statistically projected values from FORECAST engine | Via engine |
| S4 % Input | Percentage growth assumptions per node | Yes |
| S4A % Result | Absolute impact of S4 percentages on base values | No |
| S5 Result | Computed: S1 + S2 + S3 + S4A (drives the 3D model) | No |
| 5A–5D | Multi-index views: alternative hierarchy orderings of S5 data | No |
| S6 Bridge | XBRL cross-reference: VTM Index ↔ SEC taxonomy concepts | No |
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 State | Appearance | Effect |
|---|---|---|
| Visible (default) | Full brightness, cyan gradient | All 6 bridge columns shown |
| Hidden | Dimmed, strikethrough text | Bridge columns hidden; table narrows |
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
| Preset | Effect |
|---|---|
| BULL | +15% adjustment across all values |
| BEAR | -15% adjustment across all values |
| STRESS | -30% severe stress scenario |
| RESET | Return 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:
| Format | Description |
|---|---|
| CSV | Standard CSV with all nodes and periods |
| Enhanced CSV | Includes computed columns (Δ%, ranks, anomaly flags) |
| All Sheets | Multi-sheet export with all S1–S5 + 5A-5D schedules |
| JSON | Full model state as structured JSON |
| OBJ | 3D mesh export (Wavefront OBJ format) |
| PNG | Screenshot of the current 3D view |
| Bookmarks | Export saved bookmarks as JSON |
| Annotations | Export annotations as JSON |
| Audit Chain | Export the full blockchain audit trail |
| ⬡ Export Rose HTML | Standalone 3D Rose viewer (120–150KB HTML). Opens in any browser with no VTM installation. |
| Timeline | Export timeline animation as sequence |
23b. Rose Export & Standalone Viewer
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
| Data | Included? |
|---|---|
| Node hierarchy (parent-child) | Yes – full tree structure with index, depth, type |
| Period values | Yes – all periods (e.g., 40 quarters or 19 years) |
| XBRL metadata | Yes – XBRL_ID, XBRL_Alt, SEC_Role, Calc_Parent, Calc_Weight, Dimension |
| Company name & ticker | Yes – 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:
| Mode | Description | Best For |
|---|---|---|
| STACK | Temporal 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 |
| FLAT | Structural 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 |
| SPIRAL | 2D 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
| Control | Function |
|---|---|
| Company Picker | Buttons for each loaded company. Click to switch Rose instantly. |
| FRAME slider | Scrub through periods. ◀ ▶ buttons step one frame at a time. |
| RING slider | Controls maximum visible depth ring (D0 to ALL). |
| TXT slider | Adjusts label size (range 6–60). Drag right for larger, more readable labels. |
| SPIN slider | Auto-rotation speed. Set to 0 to stop spinning. |
| LABELS ON / HOVER / OFF | Cycle label visibility mode. |
| VTM / SEC / DUAL | Toggle between human-readable names, XBRL concepts, or both. |
| SUBTREE / EQUAL | Angular allocation mode. SUBTREE weights arcs by descendant count; EQUAL divides evenly. |
| STACK / SINGLE | Layer visibility (STACK mode only). STACK shows all layers up to current frame; SINGLE shows only the selected frame. |
| ☀ MEDIUM / ☀ LIGHT / ☾ DARK | Three-way background toggle. Dark (#020408), Medium (#3a3f4a slate), Light (#b8b8b0 dove grey). Backlight intensity increases with lighter backgrounds. |
| ⟵ ROOT | Reset drill state to show full tree. |
Rose Interaction
| Action | Effect |
|---|---|
| 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 node | Tooltip with name, value, period, and XBRL concept |
| Click any node | Info panel with sparkline, index, depth, type, XBRL, dimension, calc parent |
| Double-click any node | Drill into that node’s subtree. Breadcrumb trail appears. Click ROOT to return. |
| Drag-drop CSV | Load 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.
23c. Valuation Focus Mode
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:
| Node | Depth | Formula |
|---|---|---|
| ROE (Return on Equity) | D1 (root) | Margin × Turnover × Leverage |
| Net Profit Margin | D2 | Net Income / Revenue |
| Asset Turnover | D2 | Revenue / Total Assets |
| Equity Multiplier | D2 | Total Assets / Total Equity |
| Operating Margin | D2 | Operating Income / Revenue (if data available) |
| Cash Conversion | D2 | Cash from Ops / Net Income (if data available) |
| Component values | D3 | Net 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.
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
| Input | Action |
|---|---|
| Click + drag | Orbit camera |
| Scroll wheel | Zoom (Ortho: uniform scale / Persp: move closer) |
| Single click mesh | Select node -> shows in Node Inspector |
| Double-click mesh | Drill into node |
| F12 | Open browser console for diagnostics |
26. Console Diagnostics
Press F12 -> Console tab to see detailed diagnostic logs. All operations are prefixed for easy filtering:
| Prefix | Tracks |
|---|---|
[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 |
[DRILL] BLANK DETECTED - the system auto-rebuilds when this happens. Report persistent blank screens with the console log.27. Glossary
| Term | Definition |
|---|---|
| Ring | A concentric band in the 3D model. Each ring corresponds to one depth level in the financial hierarchy. |
| Frame | One time period (e.g., one year). Frames stack vertically. |
| Layer | The geometry for all nodes at one frame. Stack mode shows all layers up to current frame. |
| Node | One data point in the hierarchy (e.g., "Total Assets", "Revenue", "Cash from Ops"). |
| Mesh | The 3D geometry (arc, petal, or column) representing one node at one frame. |
| Drill | Zooming the view to show only the descendants of a selected node. |
| Stage 2 | DuPont decomposition mode: parent removed, children fill 360°. |
| SYNC | Links left and right viewports so actions on one side mirror to the other. |
| Renorm | Re-normalization of node sizes to improve visual readability. |
| Footprint | ROSE-C single-layer mode showing only the latest period as column heights. |
| Snapshot | Internal copy of Stage 1 geometry, used to restore the model when exiting Stage 2. |
| 3D INDEX | Conical filing index model. EDGAR-style navigation with uniform segments, adjustable cone height, and clickable label sprites. Rendered in WebGL 3D viewport. |
| 2D INDEX | Radial 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 3 | Radial histogram bar overlay. Bars extend outward from segments, encoding node value as bar length. Mutually exclusive with Stage 2. |
| Stage Architecture | The three-stage pipeline: Stage 1 (Data Ingestion → S1), Stage 2 (Analytical Modification → five-schedule ledger), Stage 3 (Multi-Index Navigation → 5A–5D). |
| XBRL Bridge | Six metadata columns (XBRL_ID, XBRL_Alt, SEC_Role, Calc_Parent, Calc_Weight, Dimension) linking VTM nodes to SEC/GAAP taxonomy concepts. |
| S6 Bridge Sheet | Cross-reference table in Data Sheets showing VTM Index ↔ XBRL mapping. Sortable, searchable, exportable. |
| Bridge Merge | Loading a bridge_ref.csv (0 periods, bridge columns only) overlays XBRL metadata onto already-loaded nodes without replacing data. |
| Label Toggle | VTM/SEC/DUAL cycling of 3D floating labels. VTM=human names, SEC=XBRL concepts, DUAL=both abbreviated. |
| Dimension | XBRL 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 Index | The 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-Index | Stage 3 re-indexed views (5A–5D) that slice S5 data along different structural axes (BIN, Statement, Category, Format). |
| Cone Height | 3D INDEX parameter (0–80) controlling vertical separation between depth rings. 0=flat disc, 80=steep cone. |
| renderOrder | Three.js property ensuring 3D INDEX labels always render on top of ring geometry (set to 999). |
| Rose Export | Self-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 Mode | Rose viewing mode where each period is a horizontal ring layer stacked vertically. Value-modulated arc thickness encodes proportional size within sibling groups. |
| FLAT Mode | Rose viewing mode showing a single period with all depth rings visible as a flat concentric disc. Useful for cross-sectional comparison. |
| SPIRAL Mode | Rose viewing mode using a 2D canvas radial tree. Nodes as circles, edges as lines, concentric depth rings. Pan/zoom/click interactions. |
| Background Toggle | Three-way cycle: Dark (#020408), Medium (#3a3f4a slate), Light (#b8b8b0 dove grey). Available in Rose viewer. Backlight intensity scales with brightness. |
| TXT Slider | Label size control in Rose viewer (range 6–60). Adjusts sprite scale in 3D modes and font size in SPIRAL mode. |
| Value Modulation | Rose rendering technique where arc radial thickness encodes node value as a proportion of its parent-group maximum. Creates visually weighted geometry. |
| Parent-Group Normalization | For 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 Focus | Mode 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 Decomposition | ROE = Net Profit Margin × Asset Turnover × Equity Multiplier. Extended with Operating Margin and Cash Conversion when data is available. |
| XBRL Column Toggle | The 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 Trail | In Rose viewer: ROOT › Parent › Child path showing current drill position. Click any crumb to navigate to that level. |
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