diff --git a/docs/plans/acervo-abrir-fonte-so-com-fonte-oficial.md b/docs/plans/acervo-abrir-fonte-so-com-fonte-oficial.md
index 033d1a75..a3818f64 100644
--- a/docs/plans/acervo-abrir-fonte-so-com-fonte-oficial.md
+++ b/docs/plans/acervo-abrir-fonte-so-com-fonte-oficial.md
@@ -11,7 +11,7 @@ Responsável: —
## Intenção
-O acervo de falas mostra o botão "Abrir fonte" desde antes do C160. Depois que "Abrir no YouTube" chegou (com o timestamp da fala), o usuário relatou: *"O botão 'abrir fonte' se tornou inutil, já que agora temos o 'Abrir no Youtube', podemos remove-lo. Inclusive o link atual do 'Abrir fonte' vai para o video sem marcar o inicio, o que pode confundir o usuario."*
+O acervo de falas mostra o botão "Abrir fonte" desde antes do C160. Depois que "Abrir no YouTube" chegou (com o timestamp da fala), o usuário relatou: _"O botão 'abrir fonte' se tornou inutil, já que agora temos o 'Abrir no Youtube', podemos remove-lo. Inclusive o link atual do 'Abrir fonte' vai para o video sem marcar o inicio, o que pode confundir o usuario."_
O defeito concreto: quando a fala tem o PDF oficial do Diário (`officialTextUrl`), o botão está certo e aponta para a fonte oficial. Quando o import **não** resolveu o Diário, o código cai num fallback (`view.officialTextUrl ?? view.youtubeUrl`) e o botão abre o **vídeo cru no YouTube, sem timestamp** — exatamente o que "Abrir no YouTube" já faz melhor. Ou seja, hoje o mesmo botão às vezes é proveniência oficial e às vezes é um atalho pior e duplicado. Este item faz "Abrir fonte" significar uma coisa só: a fonte oficial. Sem fonte oficial, o botão não aparece.
diff --git a/docs/plans/acervo-encontrar-cortes-ui-design.html b/docs/plans/acervo-encontrar-cortes-ui-design.html
index 6ee25a4d..8c764465 100644
--- a/docs/plans/acervo-encontrar-cortes-ui-design.html
+++ b/docs/plans/acervo-encontrar-cortes-ui-design.html
@@ -59,26 +59,47 @@
--estimate-pending-foreground: #92400e;
}
- * { box-sizing: border-box; }
- body { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
- button, a { -webkit-tap-highlight-color: transparent; }
+ * {
+ box-sizing: border-box;
+ }
+ body {
+ font-family: Inter, ui-sans-serif, system-ui, sans-serif;
+ }
+ button,
+ a {
+ -webkit-tap-highlight-color: transparent;
+ }
.artifact-grid {
background-image: radial-gradient(rgb(28 25 23 / 9%) 0.7px, transparent 0.7px);
background-size: 16px 16px;
}
- .frame-shadow { box-shadow: 0 18px 54px rgb(28 25 23 / 10%); }
- .cut-row-dashed { border-style: dashed; }
+ .frame-shadow {
+ box-shadow: 0 18px 54px rgb(28 25 23 / 10%);
+ }
+ .cut-row-dashed {
+ border-style: dashed;
+ }
A assessoria reencontra um corte pela navegação, pela fala de origem ou pela busca. Cenas estáticas para aprovar hierarquia, estados, densidade e responsividade.
+
+ Encontrar cortes sem recortar de novo
+
+
+ A assessoria reencontra um corte pela navegação, pela fala de origem ou pela busca. Cenas
+ estáticas para aprovar hierarquia, estados, densidade e responsividade.
+
@@ -86,64 +107,222 @@
CENA 01
-
Nav subitems · desktop · 256 px
+
+ Nav subitems · desktop · 256 px
+
-
Duas variantes pequenas de estado ativo
+
+ Duas variantes pequenas de estado ativo
+
-
Ativo: Acervo de falas
+
+ Ativo: Acervo de falas
+
-
@@ -153,37 +332,176 @@
CENA 02
-
Fala · desktop ~1280 · Cortes desta fala (populado)
+
+ Fala · desktop ~1280 · Cortes desta fala (populado)
+
diff --git a/docs/plans/acervo-encontrar-cortes.md b/docs/plans/acervo-encontrar-cortes.md
index 1b728b1f..ba1304c4 100644
--- a/docs/plans/acervo-encontrar-cortes.md
+++ b/docs/plans/acervo-encontrar-cortes.md
@@ -48,8 +48,8 @@ Quatro pedidos da assessoria são o mesmo job: **achar e reaproveitar um corte q
## Dados (intenção)
- **Vou apresentar dados?** Sim, superfície neste item: **uma lista paginada** (a biblioteca de cortes, já do C168) e **um resultado de busca** (cortes aninhados no acervo de falas). **Sem KPI agregado** — não há decisão que peça contagem/gráfico de cortes.
-- **Decisões desbloqueadas:** assessoria escolhe *reusar/editar* vs *cortar de novo* ao ver o corte existente na fala; escolhe *abrir a biblioteca* vs seguir navegando ao vê-la no chrome.
-- **Forma:** *adiada ao plano de implementação* — aqui só restrição de produto: contagem honesta na lista ("N cortes"), sem percentual/taxa.
+- **Decisões desbloqueadas:** assessoria escolhe _reusar/editar_ vs _cortar de novo_ ao ver o corte existente na fala; escolhe _abrir a biblioteca_ vs seguir navegando ao vê-la no chrome.
+- **Forma:** _adiada ao plano de implementação_ — aqui só restrição de produto: contagem honesta na lista ("N cortes"), sem percentual/taxa.
## Dados da decisão (literais)
diff --git a/docs/plans/acervo-player-preview-do-trecho-ui-design.html b/docs/plans/acervo-player-preview-do-trecho-ui-design.html
index e9b382c8..520de59e 100644
--- a/docs/plans/acervo-player-preview-do-trecho-ui-design.html
+++ b/docs/plans/acervo-player-preview-do-trecho-ui-design.html
@@ -47,21 +47,45 @@
--sidebar-foreground: #1c1917;
}
- * { box-sizing: border-box; }
- body { font-family: var(--font-sans); }
- svg { stroke-linecap: round; stroke-linejoin: round; }
+ * {
+ box-sizing: border-box;
+ }
+ body {
+ font-family: var(--font-sans);
+ }
+ svg {
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ }
.btn {
@apply inline-flex min-h-10 shrink-0 items-center justify-center gap-1.5 rounded-lg border border-transparent px-2.5 text-sm font-medium whitespace-nowrap transition-colors;
}
- .btn-primary { @apply bg-primary text-primary-foreground; }
- .btn-outline { @apply border-border bg-background text-foreground; }
- .btn-secondary { @apply bg-secondary text-secondary-foreground; }
- .icon { @apply size-4 shrink-0 fill-none stroke-current stroke-2; }
- .scene-label { @apply mb-3 flex items-center gap-2 text-xs font-medium text-muted-foreground; }
- .scene-label::before { content: ''; @apply h-px w-6 bg-border; }
- .frame { @apply overflow-hidden rounded-xl border border-border bg-background; }
- .selection-card { @apply rounded-lg border border-border bg-muted/30 p-3; }
+ .btn-primary {
+ @apply bg-primary text-primary-foreground;
+ }
+ .btn-outline {
+ @apply border-border bg-background text-foreground;
+ }
+ .btn-secondary {
+ @apply bg-secondary text-secondary-foreground;
+ }
+ .icon {
+ @apply size-4 shrink-0 fill-none stroke-current stroke-2;
+ }
+ .scene-label {
+ @apply mb-3 flex items-center gap-2 text-xs font-medium text-muted-foreground;
+ }
+ .scene-label::before {
+ content: '';
+ @apply h-px w-6 bg-border;
+ }
+ .frame {
+ @apply overflow-hidden rounded-xl border border-border bg-background;
+ }
+ .selection-card {
+ @apply rounded-lg border border-border bg-muted/30 p-3;
+ }
.video-placeholder {
background:
radial-gradient(circle at 50% 34%, rgb(255 255 255 / 9%), transparent 24%),
@@ -73,28 +97,39 @@
C173 · Design de gate
-
Pré-visualizar o trecho selecionado
+
+ Pré-visualizar o trecho selecionado
+
- Assessoria de comunicação confere o intervalo no mesmo player antes de compartilhar ou cortar.
- O controle pertence à seleção; a fileira de ações permanece intacta.
+ Assessoria de comunicação confere o intervalo no mesmo player antes de compartilhar ou
+ cortar. O controle pertence à seleção; a fileira de ações permanece intacta.
-
Cena 01 · Desktop · viewport de referência 1280 px
+
+ Cena 01 · Desktop · viewport de referência 1280 px
+