Package: trama 0.5.16

trama: Interactive Node-Graph Computation with Live Previews

Build and run computation graphs interactively. Nodes are typed R functions with declared ports and parameters; a flow is a plain JSON document; execution is pull-based, content-addressed and incremental, so editing a parameter recomputes only what depends on it. Every node renders its own result in the canvas with a registered renderer, making each step of a pipeline visible rather than implied. Domain knowledge lives entirely in registrable collections, never in the core, so new domains are added without modifying the package.

Authors:Pedro Mambelli Fernandes [aut, cre], João Paulo Assis Bonifácio [aut]

trama_0.5.16.tar.gz
trama_0.5.16.zip(r-4.7-any)trama_0.5.16.zip(r-4.6-any)trama_0.5.16.zip(r-4.5-any)
trama_0.5.16.tgz(r-4.6-any)trama_0.5.16.tgz(r-4.5-any)
trama_0.5.16.tar.gz(r-4.7-any)trama_0.5.16.tar.gz(r-4.6-any)
trama_0.5.16.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
trama/json (API)

# Install 'trama' in R:
install.packages('trama', repos = c('https://uaipedro.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/uaipedro/trama/issues

On CRAN:

Conda:

5.06 score 1 stars 10 packages 190 scripts 120 exports 42 dependencies

Last updated from:1bdeb4f693. Checks:7 ERROR, 2 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develERROR158
source / vignettesOK177
linux-releaseERROR161
macos-releaseERROR131
macos-oldrelERROR150
windows-develERROR155
windows-releaseERROR148
windows-oldrelERROR164
wasm-releaseOK102

Exports:tr_adaptertr_adapter_fortr_addtr_apptr_busttr_catalogtr_catalog_jsontr_categorytr_clitr_collectiontr_compatibletr_datasettr_dataset_loadtr_datasetstr_dependency_coretr_dependency_importmaptr_doctr_doc_applytr_doc_jsontr_doc_migratetr_doc_parsetr_doc_readtr_doc_subsettr_doc_terminalstr_doc_validatetr_doc_writetr_errorstr_executor_pooltr_executor_sequentialtr_export_codetr_flowtr_flow_codetr_flow_doctr_fntr_galeria_capturatr_galeria_itenstr_galeria_sincronizartr_get_nodetr_get_typetr_handle_failedtr_help_test_cardtr_icontr_is_templatetr_linktr_mcptr_nodetr_node_raioxtr_op_semantictr_paramtr_param_booltr_param_coltr_param_enumtr_param_inttr_param_numtr_param_texttr_param_themetr_plantr_plan_blockedtr_plan_keystr_plan_pendingtr_porttr_port_defaulttr_port_freetr_pressupostotr_previewtr_progresstr_projecttr_project_attr_project_flowtr_project_gctr_project_newtr_project_savetr_project_set_galeriatr_project_set_marcatr_project_set_sugestoestr_project_set_themestr_provenancetr_reftr_registrytr_registry_fortr_replaytr_retrytr_runtr_run_loggertr_run_plantr_runstr_schedulertr_servertr_settr_storetr_store_gctr_store_gettr_store_handletr_store_hastr_store_pathtr_store_puttr_store_put_errortr_stream_commandtr_submittr_templatetr_template_dirtr_template_jsontr_template_listtr_template_optr_template_parsetr_template_readtr_template_savetr_testtr_test_tabletr_test_typetr_texttr_themetr_theme_namestr_transitions_readtr_typetr_uitr_usetr_valuetr_whentr_when_padrao

Dependencies:base64encbslibcachemclicommonmarkcpp11curldigestdplyrfastmapfontawesomefsgenericsgluehtmltoolshttpuvjquerylibjsonlitelaterlifecyclelubridatemagrittrmemoisemimeotelpillarpkgconfigpromisesR6rappdirsRcpprlangsassshinysourcetoolstibbletidyselecttimechangeutf8vctrswithrxtable

Readme and manuals

Help Manual

Help pageTopics
Ops que mexem SÓ em apresentação. Todo o resto é semântico..tr_presentation_ops
Adaptador de tipo: conversão registrada entre dois tipos.tr_adapter
Busca o adaptador 'from_type -> to_type', ou 'NULL' se não houver (tipos iguais não precisam de adaptador).tr_adapter_for
Acrescenta um nó. '...' são params (nomeados). 'from' liga a saída de um ou mais nós existentes às portas de entrada obrigatórias ainda livres deste, na ordem declarada — o caso comum de "encadeia" sem precisar nomear porta.tr_add
Sobe o editor.tr_app
Invalida por prefixo de coleção — válvula para o gap de dependência externa.tr_bust
Catálogo do registro em forma serializável: tipos, categorias, nós e adaptadores — o que o front usa pra desenhar a paleta e validar conexões sem round-trip.tr_catalog
'tr_catalog()' como JSON.tr_catalog_json
Categoria: agrupamento na paleta e cor do cabeçalho dos cards.tr_category
Linha de comando do canal de controle.tr_cli
Agrupa tipos, nós, adaptadores e categorias de um domínio.tr_collection
Compatibilidade de porta — CONSULTADA NUM LUGAR SÓ.tr_compatible
Base de dados pública que uma coleção oferece no catálogo de bases.tr_dataset
Carrega uma base rodando o bloco que a declara.tr_dataset_load
Bases de todas as coleções do registro, com o estado de instalação.tr_datasets
JS e CSS de uma coleção — o mecanismo que permite visualização nova sem tocar no núcleo. O JS carrega DEPOIS do runtime e ANTES do editor; o CSS, depois do 'trama.css' do núcleo (a ordem vem de 'tr_ui()').tr_dependency_collection
Dependência Shiny com os assets do núcleo (CSS do core e do xyflow, 'runtime.js', 'editor.js').tr_dependency_core
Dependência Shiny que injeta o importmap e a captura de erro de boot, antes de qualquer módulo.tr_dependency_importmap
Documento: o grafo que o usuário montou.tr_doc
Conveniência (console, testes, replay). A superfície do transporte é 'tr_submit()' — ela é que carrega a proteção de revisão. Chamar isto direto a partir do servidor reintroduziria a corrida do insumo.tr_doc_apply
Documento como JSON canônico — a forma que trafega pro front e vai pro disco.tr_doc_json
Leva um documento salvo ao formato do registro atual.tr_doc_migrate
Lê um documento a partir de texto JSON, validando o formato e reconstituindo vetores achatados pelo parse.tr_doc_parse
Lê um documento de um arquivo '.json'.tr_doc_read
Recorte do documento com os nós/frames/notas de 'ids' e só as arestas internas.tr_doc_subset
Nós sem aresta de saída — os alvos default de execução.tr_doc_terminals
Revalida um documento inteiro contra um registro.tr_doc_validate
Grava o documento em 'path' como JSON.tr_doc_write
Classes de erro do trama.tr_errors
Executor com pool de daemons ('mirai').tr_executor_pool
Executores: a mesma interface, duas estratégias.tr_executor_sequential
Exporta um fluxo como código R independente do Trama.tr_export_code
Superfície R para escrever um fluxo — açúcar sobre as ops, nada mais.tr_flow
Gera o código R (DSL) que reconstrói o documento. É a outra metade da promessa "diagrama e código são a mesma coisa": o que se monta na interface se lê como R, e o que se escreve em R aparece na interface.tr_flow_code
O 'tr_doc' por trás de um 'tr_flow' — a saída pronta pra 'tr_run()', 'tr_doc_write()' etc.tr_flow_doc
Nível 1 da API: a função do nó, chamável direto.tr_fn
Grava o PNG de uma captura de navegador como item da galeria.tr_galeria_captura
Itens da galeria, em ordem de fluxo, sem exportar nada.tr_galeria_itens
Sincroniza a pasta da galeria com o projeto.tr_galeria_sincronizar
Busca um 'tr_node' pelo id qualificado ('colecao/nome'); erro alto se não registrado.tr_get_node
Busca um 'tr_type' pelo id qualificado; erro alto se não registrado.tr_get_type
Um handle representa erro (não valor) quando carrega $error.tr_handle_failed
A seção de ajuda que explica o card de teste de hipótese.tr_help_test_card
Declara o ícone de um bloco: um nome do conjunto Lucide, ou um SVG próprio.tr_icon
O texto é um template do trama? Nunca falha: JSON inválido é só "não".tr_is_template
Liga 'from' a 'to'. Porta omitida = primeira saída / primeira entrada.tr_link
Servidor MCP do canal de controle.tr_mcp
Declara um node type.tr_node
Raio-x de um bloco: onde a conta de fato acontece.tr_node_raiox
Uma op é SEMÂNTICA se não for puramente de apresentação — só ops semânticas disparam re-execução. Um 'batch' é semântico se qualquer op dentro dele for.tr_op_semantic
Declara um parâmetro de nó.tr_param
Param booleano.tr_param_bool
Param de coluna(s) da tabela que chega por uma entrada.tr_param_col
Param de escolha única entre 'choices'.tr_param_enum
Param inteiro.tr_param_int
Param numérico (ponto flutuante).tr_param_num
Param de texto livre.tr_param_text
Param de tema de gráfico.tr_param_theme
Plano de execução: fecho transitivo dos alvos, em ordem topológica, com a chave de conteúdo de cada unidade já resolvida.tr_plan
Unidades que não podem rodar: falharam, dependem de quem falhou, ou têm porta obrigatória solta.tr_plan_blocked
Todas as chaves de artefato alcançáveis — o conjunto 'keep' do 'tr_store_gc()'.tr_plan_keys
O que de fato precisa rodar.tr_plan_pending
Declara uma porta.tr_port
Porta padrão do editor: 8726, que é "TRAM" no teclado do telefone.tr_port_default
Primeira porta livre a partir de 'port'.tr_port_free
Pressuposto de um bloco estatístico.tr_pressuposto
Artefato de preview: o que o worker grava e o front desenha.tr_preview
Lê o progresso publicado por '.ctx$progress()'/'.ctx$partial()'/'.ctx$partial_node()' pra uma chave, ou 'NULL' se a unidade não publicou nada (ou já terminou — o scheduler limpa ao concluir).tr_progress
Projeto: a pasta que reúne documento, store e manifesto de coleções.tr_project
Abre um projeto REUSANDO um registry já carregado.tr_project_at
Lê o flow 'name' do projeto; documento vazio se o arquivo ainda não existe.tr_project_flow
GC do projeto: preserva tudo que QUALQUER flow do projeto alcança. 'tr_store_gc' recebia 'keep' de um documento só; com dois flows no mesmo projeto, coletar pelo primeiro apagaria o cache do segundo. Falha de leitura de um flow não impede o GC dos outros, mas aborta a coleta — melhor não coletar do que apagar o que um flow ilegível alcançava. Os 'settings' do projeto entram no plano pelo mesmo motivo: sem eles a chave de quem usa tema do projeto seria outra, e o cache vivo pareceria órfão.tr_project_gc
Cria um projeto novo: as pastas e o manifesto.tr_project_new
Grava o flow 'name' do projeto em flows/<name>.json.tr_project_save
Grava a configuração da galeria ('galeria' em 'trama.json').tr_project_set_galeria
Liga ou desliga a marca d'água dos frames exportados.tr_project_set_marca
Liga ou desliga as sugestões automáticas de params de coluna.tr_project_set_sugestoes
Grava os temas no manifesto — o único verbo que escreve 'temas'.tr_project_set_themes
Proveniência dos resultados em cache de um fluxo.tr_provenance
Referência de um bloco.tr_ref
Registro: onde tipos, nós e adaptadores vivem depois de carregados.tr_registry
Reconstrói um registro a partir dos NOMES DE PACOTE — como o worker recupera o catálogo sem receber funções pela fronteira.tr_registry_for
Reaplica um log de ops sobre 'doc' — a base do undo.tr_replay
Comando: limpa SÓ o(s) handle(s) de erro de um nó, preservando o checkpoint.tr_retry
Coordenador: monta o plano, despacha o que falta, emite eventos.tr_run
Log de execução: uma linha JSON por evento, um arquivo por run.tr_run_logger
Executa um plano já montado — separado de 'tr_run()' porque o coordenador interativo (E5) monta o plano a cada edição pra decidir o que cancelar, e só então manda executar.tr_run_plan
Lê todos os runs de um projeto como data.frame (um evento por linha).tr_runs
Scheduler: a execução como máquina de passos.tr_scheduler
Transporte: UM canal pra cima, UM pra baixo.tr_server
Aplica 'set_param' para cada '...' nomeado, um por um.tr_set
Store endereçado por conteúdo — o protocolo, não um cache.tr_store
Coleta de lixo: o store cresce sem limite por construção (cada edição de param cria uma chave nova). 'keep' são as chaves alcançáveis do documento atual; o resto sai por idade.tr_store_gc
Lê o valor sob 'key', restaurado pelo 'tr_type'; erro alto se a chave estiver ausente ou guardar um erro.tr_store_get
Handle ilegível conta como ausente, nunca como exceção.tr_store_handle
Uma chave só "existe" se handle E objeto existem. Handle órfão (remoção externa, GC interrompido) faria o plano marcar 'cached = TRUE' e a unidade ser pulada — e o consumidor a jusante explodiria com erro nu de conexão.tr_store_has
Resolve um caminho relativo contra a raiz do projeto. Absoluto passa direto; sem raiz conhecida (store solto em teste), cai no cwd — que é o que acontecia antes, só que agora explícito.tr_store_path
Grava valor + handle (+ preview). O handle é escrito POR ÚLTIMO: é ele que marca a chave como presente ('tr_store_has'), então um worker morto no meio deixa no máximo um objeto órfão — nunca um handle apontando pra nada.tr_store_put
Erro é VALOR, não exceção que some.tr_store_put_error
Manda um comando para a região que roda sob 'key' (a chave da UNIDADE, que é a que vem nos eventos do run).tr_stream_command
Protocolo de op: {seq, base_rev, op}.tr_submit
Envelope de template a partir de um documento.tr_template
Pasta de templates por escopo.tr_template_dir
Template como JSON (envelope + documento canônico).tr_template_json
Templates disponíveis: coleções carregadas, biblioteca pessoal, projeto.tr_template_list
Uma op 'batch' que insere o template com o canto em 'origin', ids novos.tr_template_op
Lê um template a partir de texto JSON.tr_template_parse
Lê um template de um arquivo '.json'.tr_template_read
Grava o template em 'dir'; nome de arquivo derivado do nome do template.tr_template_save
O registro de um teste de hipótese, na forma que o card 'trama/test' desenha.tr_test
Teste -> UMA linha de data.frame, com colunas FIXAS.tr_test_table
O tipo do teste, com store, restore e preview no card 'trama/test'.tr_test_type
Texto "i18n-pronto": string única ou lista nomeada por idioma.tr_text
Resolve um tema pelo nome, fora de um projeto.tr_theme
Nomes dos temas disponíveis.tr_theme_names
Lê as transições mineradas que uma coleção guarda no próprio pacote.tr_transitions_read
Declara um tipo de dado (o que trafega numa porta).tr_type
Monta a UI Shiny do editor: importmap, dependências e o <div> onde o React monta.tr_ui
Carrega uma coleção num registro.tr_use
Valor de qualquer nó do grafo, no console.tr_value
Mostra o param só sob condição sobre outros params do mesmo nó.tr_when
Condição de 'tr_when()' por padrão de texto: o param aparece quando o valor do outro casa com a expressão regular (sem diferenciar maiúsculas). Serve para o que uma lista de valores não expressa, como "o caminho é um link": 'tr_when(p, path = tr_when_padrao("^https?://"))'.tr_when_padrao