--- title: "Julia engine: future support" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Julia engine: future support} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>") ``` `drmTMB` currently supports analysis and reporting through its native Template Model Builder (TMB) engine. The Julia bridge is **halted and deferred** for this release. It is not part of the current supported model surface, and users should not rely on `engine = "julia"` for an analysis, confidence interval, benchmark, or reproducible report. The deferred work is tracked under issue #499. This page remains in the site so that readers understand the intended direction: a future Julia backend may eventually provide an additional execution engine, while preserving the same R-facing formula and result contract. It is not a request to install Julia, JuliaCall, or DRM.jl today. ## What to use now Use the native engine, which is the default. There is no `engine` argument to set for ordinary work: ```r fit <- drmTMB( bf(y ~ x, sigma ~ x), family = gaussian(), data = dat ) ``` Continue with the ordinary post-fit workflow: ```r check_drm(fit) summary(fit) ``` For model-specific guidance, start with [Model workflow](https://itchyshin.github.io/drmTMB/articles/model-workflow.html), [Capability and limits](capability-and-limits.html), and the relevant family or structured-effect tutorial. Those pages state the current TMB-supported boundaries and inference evidence. ## What future Julia support would need to establish Before `engine = "julia"` can become a reader-facing option, a future release needs an explicit admission and validation programme. At minimum, each proposed model cell would need: | Requirement | Why it matters | | --- | --- | | Formula and data marshalling checks | The R formula, factor levels, missing-data handling, and parameter scales must arrive at the same model. | | Native-TMB comparison on the same admitted cell | Matching fitted quantities and likelihood conventions must be demonstrated where a native comparator exists. | | Independent recovery and interval evidence | A finite fit or an internal benchmark does not establish point-estimate or interval reliability. | | Guardrails for unsupported neighbouring syntax | Users should get a clear error rather than silent feature or scale drift. | | Reproducible installation and version contract | Optional Julia dependencies must be pinned and documented without becoming required for normal `drmTMB` use. | Performance results, algorithm comparisons, and development-checkout output are not release claims. They will be documented only when a specific future bridge cell has passed this admission process. ## Scope boundary The deferred Julia work does not change the current package boundary: - TMB remains the default and supported engine. - `drmTMB` does not install or require Julia, JuliaCall, or DRM.jl. - The deferred bridge does not expand current family, structured-effect, missing-data, interval, coverage, or simulation claims. - Cross-family and mixed-family model development remains separate from the native bivariate Gaussian scope. Contributors considering future work should begin with the release manifest, issue #499, and the native package's current tests and capability ledger rather than treating an old Julia bridge prototype as a supported API.