246 lines
11 KiB
Markdown
246 lines
11 KiB
Markdown
# Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview (2026-04-22)
|
|
|
|
## Corpus Check
|
|
- 14 files · ~320,247 words
|
|
- Verdict: corpus is large enough that graph structure adds value.
|
|
|
|
## Summary
|
|
- 285 nodes · 434 edges · 32 communities detected
|
|
- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 21 edges (avg confidence: 0.8)
|
|
- Token cost: 0 input · 0 output
|
|
|
|
## Community Hubs (Navigation)
|
|
- [[_COMMUNITY_Community 0|Community 0]]
|
|
- [[_COMMUNITY_Community 1|Community 1]]
|
|
- [[_COMMUNITY_Community 2|Community 2]]
|
|
- [[_COMMUNITY_Community 3|Community 3]]
|
|
- [[_COMMUNITY_Community 4|Community 4]]
|
|
- [[_COMMUNITY_Community 5|Community 5]]
|
|
- [[_COMMUNITY_Community 6|Community 6]]
|
|
- [[_COMMUNITY_Community 7|Community 7]]
|
|
- [[_COMMUNITY_Community 8|Community 8]]
|
|
- [[_COMMUNITY_Community 9|Community 9]]
|
|
- [[_COMMUNITY_Community 10|Community 10]]
|
|
- [[_COMMUNITY_Community 11|Community 11]]
|
|
- [[_COMMUNITY_Community 12|Community 12]]
|
|
- [[_COMMUNITY_Community 13|Community 13]]
|
|
- [[_COMMUNITY_Community 14|Community 14]]
|
|
- [[_COMMUNITY_Community 15|Community 15]]
|
|
- [[_COMMUNITY_Community 16|Community 16]]
|
|
- [[_COMMUNITY_Community 17|Community 17]]
|
|
- [[_COMMUNITY_Community 18|Community 18]]
|
|
- [[_COMMUNITY_Community 19|Community 19]]
|
|
- [[_COMMUNITY_Community 20|Community 20]]
|
|
- [[_COMMUNITY_Community 21|Community 21]]
|
|
- [[_COMMUNITY_Community 22|Community 22]]
|
|
- [[_COMMUNITY_Community 23|Community 23]]
|
|
- [[_COMMUNITY_Community 24|Community 24]]
|
|
- [[_COMMUNITY_Community 25|Community 25]]
|
|
- [[_COMMUNITY_Community 26|Community 26]]
|
|
- [[_COMMUNITY_Community 27|Community 27]]
|
|
- [[_COMMUNITY_Community 28|Community 28]]
|
|
- [[_COMMUNITY_Community 29|Community 29]]
|
|
- [[_COMMUNITY_Community 30|Community 30]]
|
|
- [[_COMMUNITY_Community 31|Community 31]]
|
|
|
|
## God Nodes (most connected - your core abstractions)
|
|
1. `_classCallCheck()` - 36 edges
|
|
2. `add()` - 12 edges
|
|
3. `getCharacterType()` - 11 edges
|
|
4. `PDFViewerDialog` - 11 edges
|
|
5. `get()` - 8 edges
|
|
6. `open()` - 6 edges
|
|
7. `_possibleConstructorReturn()` - 6 edges
|
|
8. `reset()` - 6 edges
|
|
9. `FusionPdfPreview()` - 6 edges
|
|
10. `_slicedToArray()` - 5 edges
|
|
|
|
## Surprising Connections (you probably didn't know these)
|
|
- `webViewerInitialized()` --calls--> `add()` [INFERRED]
|
|
/Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/viewer.js → /Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/debugger.js
|
|
- `webViewerPageRendered()` --calls--> `add()` [INFERRED]
|
|
/Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/viewer.js → /Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/debugger.js
|
|
- `webViewerPageChanging()` --calls--> `add()` [INFERRED]
|
|
/Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/viewer.js → /Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/debugger.js
|
|
- `get_report_name()` --calls--> `get()` [INFERRED]
|
|
/Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/controllers/main.py → /Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/viewer.js
|
|
- `PDFPageViewBuffer()` --calls--> `add()` [INFERRED]
|
|
/Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/viewer.js → /Users/gurpreet/Github/Odoo-Modules/fusion_pdf_preview/static/lib/pdfjs/web/debugger.js
|
|
|
|
## Communities
|
|
|
|
### Community 0 - "Community 0"
|
|
Cohesion: 0.02
|
|
Nodes (0):
|
|
|
|
### Community 1 - "Community 1"
|
|
Cohesion: 0.07
|
|
Nodes (34): AnnotationLayerBuilder(), AppOptions(), _classCallCheck(), Context(), DefaultAnnotationLayerFactory(), DefaultTextLayerFactory(), DownloadManager(), ensureOverlay() (+26 more)
|
|
|
|
### Community 2 - "Community 2"
|
|
Cohesion: 0.11
|
|
Nodes (21): active(), add(), cleanup(), clear(), enable(), getStatIndex(), init(), removeSelection() (+13 more)
|
|
|
|
### Community 3 - "Community 3"
|
|
Cohesion: 0.11
|
|
Nodes (14): logPreviewAction(), PDFViewerDialog, close(), open(), parseResource(), PDFFindBar(), scrollModeChanged(), spreadModeChanged() (+6 more)
|
|
|
|
### Community 4 - "Community 4"
|
|
Cohesion: 0.16
|
|
Nodes (14): _assertThisInitialized(), BasePreferences(), GenericPreferences(), getDefaultPreferences(), _getPrototypeOf(), isValidExplicitDestination(), PDFSinglePageViewer(), PDFViewer() (+6 more)
|
|
|
|
### Community 5 - "Community 5"
|
|
Cohesion: 0.18
|
|
Nodes (11): getCharacterType(), isAlphabeticalScript(), isAscii(), isAsciiAlpha(), isAsciiDigit(), isAsciiSpace(), isHalfwidthKatakana(), isHan() (+3 more)
|
|
|
|
### Community 6 - "Community 6"
|
|
Cohesion: 0.22
|
|
Nodes (9): abort(), clear(), dispatchEvent(), fireL10nReadyEvent(), getL10nDictionary(), getL10nResourceLinks(), getViewerConfiguration(), loadLocale() (+1 more)
|
|
|
|
### Community 7 - "Community 7"
|
|
Cohesion: 0.22
|
|
Nodes (7): FusionPDFPreviewController, get_report_name(), get(), loadFakeWorker(), PDFThumbnailView(), renderProgress(), webViewerPageRendered()
|
|
|
|
### Community 8 - "Community 8"
|
|
Cohesion: 0.25
|
|
Nodes (8): getChildElementCount(), getL10nAttributes(), getL10nData(), getTranslatableChildren(), substArguments(), substIndexes(), translateElement(), translateFragment()
|
|
|
|
### Community 9 - "Community 9"
|
|
Cohesion: 0.33
|
|
Nodes (1): ResUsers
|
|
|
|
### Community 10 - "Community 10"
|
|
Cohesion: 0.4
|
|
Nodes (5): _arrayWithHoles(), getPageSizeInches(), _iterableToArrayLimit(), _nonIterableRest(), _slicedToArray()
|
|
|
|
### Community 11 - "Community 11"
|
|
Cohesion: 0.5
|
|
Nodes (5): doneResult(), makeInvokeMethod(), maybeInvokeDelegate(), tryCatch(), wrap()
|
|
|
|
### Community 12 - "Community 12"
|
|
Cohesion: 0.5
|
|
Nodes (2): Apply current default PDF preview settings to all internal users in the company., ResConfigSettings
|
|
|
|
### Community 13 - "Community 13"
|
|
Cohesion: 0.5
|
|
Nodes (4): set(), webViewerScrollModeChanged(), webViewerSidebarViewChanged(), webViewerSpreadModeChanged()
|
|
|
|
### Community 14 - "Community 14"
|
|
Cohesion: 0.67
|
|
Nodes (1): IrActionsReport
|
|
|
|
### Community 15 - "Community 15"
|
|
Cohesion: 0.67
|
|
Nodes (1): Http
|
|
|
|
### Community 16 - "Community 16"
|
|
Cohesion: 0.67
|
|
Nodes (3): setZoomDisabledTimeout(), webViewerVisibilityChange(), webViewerWheel()
|
|
|
|
### Community 17 - "Community 17"
|
|
Cohesion: 0.67
|
|
Nodes (3): isValidScrollMode(), isValidSpreadMode(), values()
|
|
|
|
### Community 18 - "Community 18"
|
|
Cohesion: 0.67
|
|
Nodes (3): backtrackBeforeAllVisibleElements(), binarySearchFirstItem(), getVisibleElements()
|
|
|
|
### Community 19 - "Community 19"
|
|
Cohesion: 1.0
|
|
Nodes (1): FusionPdfPreviewLog
|
|
|
|
### Community 20 - "Community 20"
|
|
Cohesion: 1.0
|
|
Nodes (2): getPDFFileNameFromURL(), isDataSchema()
|
|
|
|
### Community 21 - "Community 21"
|
|
Cohesion: 1.0
|
|
Nodes (2): _createClass(), _defineProperties()
|
|
|
|
### Community 22 - "Community 22"
|
|
Cohesion: 1.0
|
|
Nodes (2): appendTextToDiv(), beginText()
|
|
|
|
### Community 23 - "Community 23"
|
|
Cohesion: 1.0
|
|
Nodes (2): setMultiple(), webViewerUpdateViewarea()
|
|
|
|
### Community 24 - "Community 24"
|
|
Cohesion: 1.0
|
|
Nodes (2): getCurrentHash(), parseCurrentHash()
|
|
|
|
### Community 25 - "Community 25"
|
|
Cohesion: 1.0
|
|
Nodes (2): _inherits(), _setPrototypeOf()
|
|
|
|
### Community 26 - "Community 26"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 27 - "Community 27"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 28 - "Community 28"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 29 - "Community 29"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 30 - "Community 30"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 31 - "Community 31"
|
|
Cohesion: 1.0
|
|
Nodes (1): Create an audit log entry for PDF preview/print/download actions.
|
|
|
|
## Knowledge Gaps
|
|
- **4 isolated node(s):** `FusionPdfPreviewLog`, `Apply current default PDF preview settings to all internal users in the company.`, `FusionPDFPreviewController`, `Create an audit log entry for PDF preview/print/download actions.`
|
|
These have ≤1 connection - possible missing edges or undocumented components.
|
|
- **Thin community `Community 19`** (2 nodes): `FusionPdfPreviewLog`, `preview_log.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 20`** (2 nodes): `getPDFFileNameFromURL()`, `isDataSchema()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 21`** (2 nodes): `_createClass()`, `_defineProperties()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 22`** (2 nodes): `appendTextToDiv()`, `beginText()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 23`** (2 nodes): `setMultiple()`, `webViewerUpdateViewarea()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 24`** (2 nodes): `getCurrentHash()`, `parseCurrentHash()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 25`** (2 nodes): `_inherits()`, `_setPrototypeOf()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 26`** (2 nodes): `reportPreviewConfigItem()`, `user_menu.js`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 27`** (1 nodes): `__init__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 28`** (1 nodes): `__init__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 29`** (1 nodes): `__init__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 30`** (1 nodes): `__manifest__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 31`** (1 nodes): `Create an audit log entry for PDF preview/print/download actions.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
|
|
## Suggested Questions
|
|
_Questions this graph is uniquely positioned to answer:_
|
|
|
|
- **Why does `add()` connect `Community 2` to `Community 1`, `Community 3`, `Community 7`?**
|
|
_High betweenness centrality (0.084) - this node is a cross-community bridge._
|
|
- **Why does `PDFViewerDialog` connect `Community 3` to `Community 2`?**
|
|
_High betweenness centrality (0.037) - this node is a cross-community bridge._
|
|
- **Why does `loadAndEnablePDFBug()` connect `Community 2` to `Community 0`?**
|
|
_High betweenness centrality (0.027) - this node is a cross-community bridge._
|
|
- **Are the 9 inferred relationships involving `add()` (e.g. with `webViewerInitialized()` and `webViewerPageRendered()`) actually correct?**
|
|
_`add()` has 9 INFERRED edges - model-reasoned connections that need verification._
|
|
- **What connects `FusionPdfPreviewLog`, `Apply current default PDF preview settings to all internal users in the company.`, `FusionPDFPreviewController` to the rest of the system?**
|
|
_4 weakly-connected nodes found - possible documentation gaps or missing edges._
|
|
- **Should `Community 0` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.02 - nodes in this community are weakly interconnected._
|
|
- **Should `Community 1` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.07 - nodes in this community are weakly interconnected._ |