Torna alla Documentazione

Commenti sui documenti

Introduzione

Sutram fornisce un potente sistema di commenti sui documenti che permette ai team di progetto di collaborare direttamente sui documenti posizionando commenti in punti specifici. I commenti sono ancorati a posizioni precise all'interno di PDF, immagini, documenti Office, file Markdown e modelli CAD/BIM, consentendo discussioni contestuali senza lasciare la piattaforma.

Funzionalità Principali

  • Ancoraggio Contestuale: Tre diversi metodi di ancoraggio a seconda del tipo di file
  • Discussioni con Thread: Rispondi ai commenti per creare thread di conversazione
  • Collaborazione in Tempo Reale: Visualizza istantaneamente i commenti degli altri utenti tramite PubSub
  • Supporto Multi-Formato: Funziona con PDF, immagini, documenti Office (Word, Excel, PowerPoint), Markdown e file CAD/BIM
  • Risoluzione dei Commenti: Segna i commenti come risolti quando le questioni sono state affrontate
  • Indicatori Visivi: Indicatori a palloncino numerati mostrano la posizione dei commenti direttamente sui documenti
  • Pannello Commenti: Pannello inferiore con filtri (Tutti/Aperti/Risolti) per sfogliare e navigare tra i commenti
  • Navigazione: Clicca sugli indicatori o sugli elementi del pannello per saltare a commenti specifici
  • Supporto 6 Lingue: Internazionalizzazione completa (Inglese, Portoghese, Spagnolo, Francese, Tedesco, Italiano)

Metodi di Ancoraggio per Tipo di File

Il sistema utilizza tre metodi di ancoraggio distinti a seconda del tipo di file, ciascuno ottimizzato per il modo in cui gli utenti interagiscono con quel tipo di contenuto:

1. Ancoraggio Posizionale (PDF e Immagini)

Utilizzato per: File PDF, Immagini, Documenti Office (convertiti in PDF)

Come funziona: L'utente clicca in qualsiasi punto del documento e il commento viene ancorato a coordinate relative (0.0-1.0).

Tipo di File Tipo di Posizione Archiviazione Interazione Utente
PDF pdf_page pdf_page_number + pdf_relative_x/y (0.0-1.0) Clic ovunque sulla pagina
Immagini image pdf_relative_x/y (0.0-1.0) Clic ovunque sull'immagine
Office pdf_page Convertito prima in PDF, uguale a PDF Clic sul PDF convertito

Vantaggi:

  • Funziona indipendentemente dal livello di zoom o dalla dimensione della finestra
  • Posizionamento preciso su contenuti visivi
  • Semplice e intuitivo per gli utenti

Testo del pulsante: "Clicca per aggiungere..." (tradotto in 6 lingue)

2. Ancoraggio Vista Telecamera (CAD/BIM)

Utilizzato per: Disegni CAD 2D (DWG, DXF), Modelli CAD 3D (IFC, RVT, ecc.)

Come funziona: L'utente clicca sul modello e il commento cattura sia le coordinate mondo CHE lo stato della telecamera (posizione della vista, zoom, rotazione).

Tipo di File Tipo di Posizione Archiviazione Interazione Utente
CAD 3D aps_3d aps_world_coordinates {x,y,z} + aps_db_id + aps_camera_state Clic sulla superficie del modello 3D
CAD 2D aps_2d aps_world_coordinates {x,y,z} + aps_sheet_guid + aps_camera_state Clic sul disegno 2D

Vantaggi:

  • Gli indicatori seguono il modello durante zoom/panoramica/rotazione
  • "Vai alla posizione" ripristina la vista esatta che il commentatore vedeva
  • Funziona con viste esplose e piani di sezione
  • ID dell'elemento catturato per future integrazioni

Testo del pulsante: "Clicca per aggiungere..." (tradotto in 6 lingue)

3. Commenti Ancorati al Testo (Markdown)

Utilizzato per: File Markdown (nel visualizzatore e nell'editor)

Come funziona: L'utente seleziona il testo (invece di cliccare) e il commento viene ancorato al testo selezionato con contesto circostante per la resilienza alle modifiche.

Tipo di File Tipo di Posizione Archiviazione Interazione Utente
Markdown markdown text_anchor {exact_text, prefix, suffix} + pdf_relative_y (fallback) Seleziona testo per commentare

Struttura dell'Ancora Testuale:

{
  "exact_text": "the selected text",
  "prefix": "50 chars before selection",
  "suffix": "50 chars after selection",
  "selection_length": 18
}

Vantaggi:

  • I commenti sopravvivono alle modifiche del documento (ricerca basata sul testo, non sulla posizione dei pixel)
  • Il contesto prefisso/suffisso aiuta a trovare il testo anche se la corrispondenza esatta si sposta
  • Evidenziazione visiva del testo commentato nel visualizzatore
  • Supporto mobile con pulsante "Commenta" flottante

Testo del pulsante: "Seleziona testo..." (tradotto in 6 lingue)

UX Mobile:

  • Il dispositivo touch viene rilevato automaticamente
  • L'utente esegue una pressione prolungata per selezionare il testo
  • Il pulsante flottante "Commenta" appare sotto la selezione (evita conflitti con il menu nativo)
  • Debounce di 600ms permette all'utente di regolare le maniglie di selezione prima che appaia il pulsante

Come Funziona

Attivazione della Modalità Commenti

  1. Aprire l'anteprima di un documento (PDF, immagine, Markdown, Office o file CAD)
  2. Fare clic sul pulsante commenti nella barra degli strumenti dell'anteprima
  3. L'overlay si attiva e appaiono gli indicatori per i commenti esistenti
  4. Il Pannello Commenti appare in basso con le opzioni di filtro

Aggiunta di un Commento

L'interazione varia in base al tipo di file:

PDF, Immagini, Office, CAD

  1. Con la modalità commenti attivata, fare clic su Aggiungi nel Pannello Commenti
  2. Fare clic sul documento nella posizione desiderata
  3. Appare una finestra modale con un campo di testo
  4. Inserire il testo del commento
  5. Fare clic su Pubblica Commento per creare il commento
  6. Un indicatore numerato appare nella posizione cliccata

Markdown

  1. Con la modalità commenti attivata, fare clic su Aggiungi nel Pannello Commenti
  2. Selezionare il testo cliccando e trascinando (desktop) o pressione prolungata e trascinamento maniglie (mobile)
  3. Su desktop: la finestra modale si apre immediatamente dopo la selezione
  4. Su mobile: toccare il pulsante flottante "Commenta" che appare sotto la selezione
  5. Inserire il testo del commento
  6. Fare clic su Pubblica Commento per creare il commento
  7. Un indicatore numerato appare nel margine sinistro, allineato con il testo selezionato

Visualizzazione dei Commenti Esistenti

  • Indicatori: Indicatori a palloncino numerati mostrano la posizione dei commenti
    • Indicatori viola: Commenti aperti
    • Indicatori verdi: Commenti risolti
    • Badge arancione: Numero di risposte
  • Clic sull'indicatore: Apre la finestra modale del thread del commento
  • Pannello Commenti: Pannello inferiore che mostra tutti i commenti
    • Espansione/compressione cliccando sull'intestazione
    • Filtro per stato: Tutti / Aperti / Risolti
    • Clic su qualsiasi commento per navigare alla sua posizione
  • Navigazione: Utilizzare "Vai alla posizione" o il pannello per saltare ai commenti

Risposta ai Commenti

  1. Fare clic su un indicatore di commento esistente (o selezionare dal Pannello Commenti)
  2. La finestra modale del thread si apre mostrando il commento originale e le eventuali risposte
  3. Digitare la risposta nel campo di input
  4. Fare clic su Pubblica risposta per aggiungere la propria risposta

Risoluzione dei Commenti

  1. Aprire un thread di commento
  2. Fare clic su Segna come risolto (pulsante sopra l'area di risposta)
  3. L'indicatore diventa verde per indicare la risoluzione
  4. I commenti risolti possono essere Riaperti dalle azioni della finestra modale

Eliminazione dei Commenti

  1. Aprire un thread di commento
  2. Fare clic sul pulsante Elimina (visibile solo all'autore del commento o all'amministratore del progetto)
  3. Confermare l'eliminazione
  4. L'indicatore viene rimosso dal documento

Documenti Office (Word, Excel, PowerPoint)

I file Office richiedono una gestione speciale perché i commenti necessitano di un'area statica per il posizionamento.

Come Funziona

  1. Impostazione progetto: "Consenti commenti sui file Office" deve essere abilitato
  2. Prima attivazione: Quando si clicca sul pulsante commenti su un file Office:
    • Se PDF in cache: Passa immediatamente al visualizzatore PDF
    • Se non in cache: Mostra lo stato di caricamento "Conversione documento in corso..."
  3. Conversione: LibreOffice converte il file Office in PDF (eseguita una volta, memorizzata permanentemente nella cache)
  4. Risultato: Appare il visualizzatore PDF con l'overlay dei commenti
  5. Badge: Il badge "Modalità commenti" viene mostrato nell'intestazione quando si visualizza il PDF convertito

Configurazione

I proprietari del progetto possono abilitare i commenti Office nelle Impostazioni Progetto:

  1. Navigare a Impostazioni > Impostazioni File
  2. Abilitare "Consenti commenti sui file Office"
  3. Salvare le impostazioni

Limitazioni

  • I commenti vengono posizionati sulla conversione PDF, non sul file Office originale
  • La formattazione complessa potrebbe renderizzarsi diversamente in PDF
  • Le formule di Excel mostrano solo i valori calcolati
  • Le animazioni/transizioni di PowerPoint vengono perse

File CAD/BIM (Autodesk APS)

Il sistema di commenti si integra completamente con il Visualizzatore Autodesk per i file CAD e BIM.

Modelli 3D (IFC, RVT, ecc.)

Per i modelli 3D, i commenti vengono ancorati utilizzando:

  • Coordinate Mondo: Il punto 3D dove l'utente ha cliccato
  • ID Elemento: L'elemento specifico del modello (se il test di hit ha successo)
  • Stato Telecamera: La posizione esatta della vista quando il commento è stato creato

Comportamento:

  • Gli indicatori aggiornano la posizione in tempo reale quando si ruota/ingrandisce il modello
  • "Vai alla posizione" ripristina la vista esatta della telecamera al momento della creazione del commento
  • Funziona con viste esplose e piani di sezione

Disegni 2D (DWG, DXF)

Per i disegni 2D, i commenti utilizzano:

  • Coordinate del Modello: Posizione in unità di disegno (non pixel dello schermo)
  • GUID del Foglio: Identifica su quale foglio si trova il commento

Comportamento:

  • Gli indicatori rimangono attaccati ai punti del disegno durante zoom/panoramica
  • Gli eventi di cambio telecamera attivano il ri-rendering degli indicatori
  • Funziona a diversi livelli di zoom e posizioni di panoramica

Dettagli Tecnici

Il sistema utilizza i metodi dell'SDK del Visualizzatore Autodesk:

Operazione Metodo
Ottenere posizione clic (3D) viewer.impl.hitTest()
Ottenere posizione clic (2D) viewer.clientToWorld()
Renderizzare posizione indicatore viewer.impl.worldToClient()
Navigare al commento viewer.restoreState()
Tracciare cambi telecamera Listener CAMERA_CHANGE_EVENT

Collaborazione in Tempo Reale

I commenti vengono sincronizzati in tempo reale tra tutti gli utenti connessi.

Topic PubSub

Formato topic: document_comments:{content_item_id}

Eventi

Evento Descrizione
comment_added Nuovo commento creato da un altro utente
comment_updated Commento modificato, risposta aggiunta o stato cambiato
comment_deleted Commento rimosso da un altro utente

Comportamento

  • Nuovi indicatori appaiono istantaneamente quando altri utenti aggiungono commenti
  • Il conteggio delle risposte si aggiorna in tempo reale
  • Lo stato di risoluzione si sincronizza tra tutti i visualizzatori
  • Se si sta visualizzando un commento eliminato, la finestra modale si chiude automaticamente

Interfaccia Utente

Indicatori dei Commenti

Gli indicatori utilizzano un design a palloncino di chat con un puntatore:

   ┌───────┐
   │  1.2  │  ← Numero (pagina.indice o solo indice)
   └───┬───┘
       ▽     ← Il puntatore indica la posizione esatta

Stile:

  • Sfondo: Indaco (#6366f1) per aperti, Verde (#22c55e) per risolti
  • Badge risposte: Cerchio arancione (#f97316) nell'angolo in alto a destra
  • Effetto hover: Leggero ingrandimento (1.1x)
  • Ombra: Ombra esterna per visibilità su qualsiasi sfondo

Finestra Modale dei Commenti

La finestra modale visualizza:

Intestazione:

  • Nome e avatar dell'autore del commento
  • Timestamp (relativo, es. "2 ore fa")
  • Informazioni sulla posizione (es. "Pagina 3" o "Punto 3D")

Corpo:

  • Testo del commento
  • Risposte (con thread, cronologiche)
  • Campo di input per la risposta

Azioni (vista thread):

  • Segna come risolto: Pulsante sopra il form di risposta (verde, prominente)
  • Pubblica risposta: Pulsante di invio risposta
  • Elimina: Icona cestino (solo autore/admin)
  • Riapri: Disponibile quando il commento è risolto
  • Chiudi: Chiude la finestra modale

Architettura

Schema del Database

Tabella: document_comments

Colonna Tipo Descrizione
id UUID Chiave primaria
content Text Testo del commento
content_item_id UUID FK verso content_items
user_id UUID FK verso users (autore)
project_id UUID FK verso projects
parent_id UUID FK verso document_comments (per le risposte)
position_type String pdf_page, image, markdown, aps_3d, aps_2d
pdf_page_number Integer Numero di pagina (solo PDF)
pdf_relative_x Float Posizione X 0.0-1.0 (o pixel per markdown)
pdf_relative_y Float Posizione Y 0.0-1.0 (o pixel per markdown)
aps_world_coordinates Map {x, y, z} per CAD
aps_db_id Integer ID elemento Autodesk
aps_camera_state Map Stato del visualizzatore per la navigazione
aps_sheet_guid String Identificatore del foglio 2D
resolved Boolean Stato di risoluzione
resolved_at DateTime Quando è stato risolto
resolved_by_id UUID FK verso users
inserted_at DateTime Timestamp di creazione
updated_at DateTime Ultima modifica

Moduli Backend

Modulo Scopo
Sutram.Content.DocumentComment Schema Ecto con validazioni
Sutram.Content Funzioni CRUD per i commenti
SutramWeb.ProjectLive.Content.CommentHandler Gestori eventi LiveView
SutramWeb.ProjectLive.Components.CommentModal LiveComponent della finestra modale
SutramWeb.ProjectLive.Components.CommentsPanel Pannello inferiore con filtri
SutramWeb.ProjectLive.Components.PreviewModal Anteprima con overlay

Frontend (JavaScript)

File Scopo
assets/js/hooks/comment_overlay.js Hook overlay principale
assets/js/viewers/pdf_viewer.js Visualizzatore PDF con tracciamento pagine
assets/js/viewers/autodesk_viewer.js Visualizzatore CAD con getViewerInstance()

Funzioni Chiave

Hook CommentOverlay:

  • calculatePdfPosition(): Converte il clic in coordinate PDF
  • calculateImagePosition(): Converte il clic in coordinate immagine
  • calculateMarkdownPosition(): Converte il clic in coordinate pixel markdown
  • calculateApsPosition(): Converte il clic in coordinate mondo CAD
  • calculateScreenPosition(): Converte la posizione memorizzata in pixel dello schermo
  • renderMarkers(): Disegna tutti gli indicatori visibili
  • navigateToComment(): Scorre/ingrandisce alla posizione del commento

Configurazione

Impostazioni Progetto

Impostazione Predefinito Descrizione
allow_office_comments false Abilita i commenti sui file Office

Impostazioni Applicazione

I commenti sono abilitati per impostazione predefinita per:

  • File PDF
  • File immagine
  • File CAD (quando APS è configurato)

I file Office richiedono l'attivazione esplicita a livello di progetto a causa del requisito di conversione in PDF.


Risoluzione dei Problemi

I Commenti Non Appaiono

Causa: Modalità commenti non attivata

Soluzione:

  1. Fare clic sul pulsante commenti nella barra degli strumenti dell'anteprima
  2. Attendere il rendering degli indicatori
  3. Controllare la console del browser per eventuali errori

Indicatori nella Posizione Sbagliata

Causa: Ridimensionamento o zoom cambiato dopo il rendering degli indicatori

Soluzione:

  • Gli indicatori si riposizionano automaticamente al ridimensionamento/zoom
  • Se ancora errati, chiudere e riaprire l'anteprima

Commenti CAD Non Salvati

Causa: Visualizzatore APS non completamente caricato

Soluzione:

  1. Attendere il caricamento completo del modello 3D
  2. Provare a cliccare su una superficie visibile
  3. Verificare che il visualizzatore risponda alla navigazione

Pulsante Commenti Office Mancante

Causa: Impostazione progetto non abilitata

Soluzione:

  1. Andare a Impostazioni Progetto > Impostazioni File
  2. Abilitare "Consenti commenti sui file Office"
  3. Salvare e aggiornare

Riferimento API

Eventi LiveView (Client verso Server)

Evento Payload Descrizione
position_selected Dati posizione L'utente ha cliccato per aggiungere un commento
marker_clicked {comment_id, marker_number} L'utente ha cliccato su un indicatore esistente
create_comment {content} Salva nuovo commento
create_reply {content, parent_id} Aggiunge risposta al thread
resolve_comment {comment_id} Segna come risolto
reopen_comment {comment_id} Riapre commento risolto
delete_comment {comment_id} Rimuove commento
navigate_to_comment {comment_id} Salta alla posizione
request_markers {content_item_id} Richiede indicatori iniziali

Eventi Push (Server verso Client)

Evento Payload Descrizione
render_markers {markers: [...]} Lista completa degli indicatori
add_marker {marker: {...}} Singolo nuovo indicatore
update_marker {marker: {...}} Dati indicatore aggiornati
remove_marker {comment_id} Elimina indicatore
navigate_to_comment {comment: {...}} Attiva navigazione

Cronologia delle Release

Versione Data Modifiche
v0.58.0 2025-12-22 Commenti PDF iniziali con threading
v0.59.0 2025-12-23 Commenti nel contesto Chat
v0.60.0 2025-12-24 Supporto commenti su immagini
v0.61.0 2025-12-24 Commenti su file Office (tramite PDF)
v0.61.1 2025-12-24 Commenti CAD/APS (2D e 3D)
v0.62.0 2025-12-24 Toast suggerimento onboarding
v0.63.0 2025-12-25 Pannello Commenti (V3) - pannello inferiore con filtri e navigazione
v0.64.0 2025-12-26 Supporto commenti Markdown
v0.64.1 2025-12-26 Miglioramenti UI: azioni della finestra modale riorganizzate, toast suggerimento rimosso
v0.65.0 2025-12-26 Modalità commenti nell'editor markdown con regolazione manuale della posizione
v0.65.1 2025-12-29 Supporto selezione testo mobile per commenti markdown
v0.65.2 2025-12-29 Miglioramenti UX: pulsante flottante posizionato sotto la selezione per evitare il menu nativo
v0.65.3 2025-12-29 Internazionalizzazione: pulsante flottante "Commenta" tradotto in 6 lingue

Pannello Commenti (V3)

Il Pannello Commenti è un pannello inferiore che elenca tutti i commenti nel documento, fornendo un'esperienza di navigazione unificata sia per mobile che per desktop.

Layout

Il pannello utilizza un design a pannello inferiore (unificato per mobile e desktop):

┌─────────────────────────────────────────────────┐
│                                                 │
│              Visualizzatore (PDF/Immagine/CAD)  │
│                                                 │
│                       📍                        │
│                                                 │
├─────────────────────────────────────────────────┤
│ 💬 4 commenti                               ▼  │  ← Clic per espandere
├─────────────────────────────────────────────────┤
│ ◉ Tutti   ○ Aperti   ○ Risolti                 │  ← Filtri
├─────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────┐ │
│ │ 🗨️1 👤 Giovanni · 2h fa                     │ │
│ │     Verificare se la quota è corretta...    │ │
│ └─────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────┐ │
│ │ 🗨️2 👤 Maria · 1g fa                   ✅  │ │
│ │     Conflitto con la struttura esistente    │ │
│ └─────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘

Stati

Stato Descrizione
Ridotto Mostra solo l'intestazione con il conteggio dei commenti (altezza 48px)
Espanso Mostra filtri e lista scorrevole (max 50vh)

Funzionalità

  • Toggle: Clicca sull'intestazione per espandere/comprimere
  • Filtri: Tutti / Aperti / Risolti (pulsanti radio)
  • Lista Commenti: Lista scorrevole con indicatori a palloncino corrispondenti allo stile del canvas
  • Navigazione: Clicca su qualsiasi commento per saltare alla sua posizione (cambio pagina per PDF, ripristino telecamera per CAD)
  • Tempo reale: Si aggiorna automaticamente tramite PubSub esistente

Stile degli Indicatori

I commenti nella lista utilizzano lo stesso stile a palloncino del canvas:

   ┌───────┐
   │   1   │  ← Numero (ordine di inserimento)
   └───┬───┘
       ▽     ← Puntatore (coda del fumetto)
  • Sfondo: Indaco (#6366f1) per aperti, Verde (#22c55e) per risolti
  • Badge risposte: Arancione (#f97316) nell'angolo in alto a destra
  • Ombra esterna: Per la visibilità

Dettagli Tecnici

Nuovo Componente: SutramWeb.ProjectLive.Components.CommentsPanel

Props:

  • comments - Lista di struct DocumentComment
  • expanded - Boolean (stato del pannello)
  • filter - Atom (:all, :open, :resolved)

Eventi (inviati al genitore tramite send/2):

  • {:comments_panel, :toggle} - Toggle espansione/compressione
  • {:comments_panel, :filter, filter} - Cambia filtro
  • {:comments_panel, :go_to_comment, comment_id} - Naviga al commento

Gestione dello Stato (nel Content LiveView):

  • comments_panel_expanded - Boolean
  • comments_panel_filter - Atom

Modalità Commenti nell'Editor Markdown (v0.65.0)

L'editor markdown include una modalità commenti dedicata che permette agli utenti di visualizzare e riposizionare gli indicatori dei commenti durante la modifica. Questo risolve il problema degli indicatori disallineati dopo la modifica del contenuto markdown (poiché markdown utilizza coordinate pixel assolute).

Due Modalità

Modalità Descrizione
Modifica (predefinita) Editor WYSIWYG Milkdown normale, nessun indicatore visibile
Commenti Anteprima renderizzata con overlay commenti e pannello laterale

Layout (Modalità Commenti)

┌─────────────────────────────────────────────────────────────────┐
│  ← Indietro    [Modifica] [Commenti 📍3]           Carica   │ Intestazione │
├─────────────────────────────────────┬───────────────────────────┤
│                                     │ 💬 3 commenti             │
│   Anteprima Markdown Renderizzata   │ ─────────────────────────│
│   (sola lettura)                    │ ◉ Tutti ○ Aperti ○ Risolti│
│                                     │ ─────────────────────────│
│        📍 Indicatore 1              │ [1] Giovanni · 2h fa      │
│                                     │     Controlla questa sezione│
│        📍 Indicatore 2              │     [Regola] [Vai a]      │
│                                     │ ─────────────────────────│
│                                     │ [2] Maria · 1g fa    ✅   │
│                                     │     Corretto              │
└─────────────────────────────────────┴───────────────────────────┘

Regolazione Manuale della Posizione

Quando il contenuto markdown viene modificato, gli indicatori dei commenti potrebbero disallinearsi perché utilizzano coordinate pixel assolute. Gli utenti possono riposizionare manualmente gli indicatori:

  1. Entrare nella modalità Commenti nell'editor markdown
  2. Trovare il commento disallineato nel pannello laterale
  3. Fare clic sul pulsante "Regola posizione"
  4. Il cursore cambia a mirino, il pannello laterale mostra "Clicca sulla nuova posizione"
  5. Fare clic sulla posizione corretta nell'anteprima
  6. L'indicatore si sposta nella nuova posizione e viene salvato

Restrizione Mobile

La modalità commenti non è disponibile su dispositivi mobili (viewport < 768px). Un tooltip sul pulsante disabilitato spiega: "Usa un computer desktop per gestire i commenti".

Dettagli Tecnici

Nuovi Assign (in markdown_editor.ex):

  • editor_mode - Atom (:editing | :comments)
  • comments - Lista di struct DocumentComment
  • comments_panel_expanded - Boolean
  • comments_panel_filter - Atom (:all | :open | :resolved)
  • repositioning_comment_id - UUID o nil

Nuovi Eventi:

  • toggle_editor_mode - Alterna tra modalità modifica e commenti
  • start_reposition - Entra in modalità riposizionamento per un commento specifico
  • cancel_reposition - Esce dalla modalità riposizionamento
  • update_marker_position - Salva la nuova posizione dal clic di riposizionamento
  • go_to_comment - Naviga/scorre alla posizione del commento

Modifiche JavaScript (comment_overlay.js):

  • Aggiunto stato repositioningCommentId
  • Aggiunti gestori eventi enter_reposition_mode / exit_reposition_mode
  • Gestore clic modificato per rilevare la modalità riposizionamento e inviare update_marker_position
  • Selettori elementi markdown aggiornati per funzionare sia nel contesto del visualizzatore che dell'editor

Versione Documento: 1.3 Ultimo Aggiornamento: 29 Dicembre 2025 Autore: Team di Sviluppo Sutram