inst/CITATION: replace utils::packageVersion("newmark") with
meta$Version so the citation file evaluates correctly when the
package is not yet installed (CRAN pre-test failure).inst/WORDLIST: add 135 domain-specific terms (author surnames,
technical vocabulary, package-internal identifiers) so
spelling::spell_check_package() exits clean. Add Language: en-US
to DESCRIPTION.Vignettes rebuilt for fidelity to the implemented code and the
underlying paper (Verri Kozlowski 2026, working). Hallucinated
cross-references to deleted articles, oqt-pipeline terminology
leaking into newmark prose, and inconsistent function-name
references were removed.
New vignette dynamic-site-response documents the dsra-side
methodology merged into newmark 1.1.0: Ishihara (1996)
small-strain shear-modulus model, Gazetas & Dakoulas (1985)
inhomogeneous truncated shear-beam fundamental period,
synthetic-profile generation via getSiteProperties() /
geSiteTable(), and the ASCE 7-22 site-class utilities
Vs30toSID() / SIDtoVs30().
pipeline vignette rewritten as a function-level overview of
the four library workflows (dynamic site response, hazard import,
displacement curves, seismic coefficient), with a single
top-of-file note that orchestration on a hazard grid (looping
scenarios, persisting tables) is the consumer's responsibility.
ensemble-formulation vignette now states the inverse-problem
formulation explicitly, documents the BM19 near-fault PGV >
115 cm s⁻¹ correction and the NFC D100/D50 selector, and lists
the operational defaults (Monte Carlo size, k_y grid, reported
quantiles) that the package and downstream consumers share.
newmark-quickstart vignette: stale links to deleted articles
removed; Next steps rewritten as in-package vignette() and
?fnname references.
interpolateSaTable() and buildQSpline() now emit a descriptive
warning() when called on a UHS table with duplicate (Tn, p) rows,
pointing the user to the standard disaggregation key
(siteID, ID, Vs30, TR). R's cryptic regularize.values: collapsing to unique 'x' values warning is suppressed in favour of the new
message — it is replaced, not stacked on top. Numerical behaviour
is unchanged: duplicate rows are still silently collapsed via
stats::approx / stats::splinefun ties = "mean". SoT-validated
bit-identical on clean fixtures (5/5 direct + 36/36 pipeline) and
byte-equal output on duplicated input..summarizeDn(), .summarizeDnDraws(),
.aggregateWeighted() parameter p.vals renamed to pVals.
Producer .sampleDnScenario() returns the list element under the
new key pVals (was p.vals). Consumers fitDnCurve() and
fitDnModel() updated to read .sample$pVals. All references are
intra-package; no exported symbol changes signature. SoT-validated
(Stage B helpers direct identity 3/3; Stage C swap-in-place via
assignInNamespace over the 6 affected functions running the full
fitDnCurve grid 216/216, both bit-identical).getDnKy() parameters renamed for STYLE.md compliance: ky.n →
kyN, p.ref → pRef. Output is bit-identical for any call that
uses the defaults or passes the args by position. Callers that
passed by name must update the keyword. No live caller in the
ecosystem (oqt, research scripts, MCP server, skill templates)
was found to pass these by name; the rename is a clean keyword
change. SoT-validated (Stage A direct identity 27/27 across 3
fixtures × 3 Ts × 3 kyN values; Stage C swap-in-place via
assignInNamespace 216/216 across the full fitDnCurve pipeline).
fitDnCurve() no longer accepts NS.draws. The parameter was a
partial-retention knob (filter draws to the first NS.draws
realisations) that no caller used; every observed call site set
NS.draws = NS. The default NS.draws = 0L produced
draws = NULL, which silently broke invertDnDraws() for callers
who followed the README pattern. draws is now always returned
as a populated data.table (or an empty data.table with the
four canonical columns when no model produces output, replacing
the prior NULL corner-case return).
Migration: drop NS.draws = ... from any fitDnCurve() call.
Output for NS.draws = NS callers (the universal pattern) is
bit-identical (verified across vignette + 2 real UHSTable fixtures
× 3 seeds × 2 NS × 3 Ts × 2 NFC × 2 weight sets).