Files
gsinghpal 41d0908ade changes
2026-04-24 21:04:38 -04:00

11 KiB

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)

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.