--- title: "Optional Engines and Cross-Platform Portability" description: "Reviewable optional-engine availability without making optional engines mandatory." output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Optional Engines and Cross-Platform Portability} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include=FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>") options(gp3ml.reproducible_examples = TRUE) library(gp3ml) ``` ## Capability table Optional engines remain optional. Missing packages are reported explicitly rather than changing the scientific task or silently selecting another model. ```{r capabilities} capabilities <- gp3ml_engine_capabilities( check_keras_backend = FALSE ) capabilities plot(capabilities) ``` `glm` and `lm` are always available. `ranger`, `xgboost`, `nnet`, and `keras3` are exercised by a dedicated GitHub Actions matrix. Keras backend readiness is queried only when explicitly requested. ```{r base-assertions} assert_gp3ml_engine_available("glm") assert_gp3ml_engine_available("lm") ``` Engine availability is not a model-selection rule. Candidate selection remains explicit, metric-declared, direction-declared, and reviewable.