Skip to content

Rename CancerVCT namespace and scrub legacy SPQSP_PDAC references from runtime #19

Description

@jeliason

Context

The C++ runtime in cpp/ still carries naming from its origin project (SPQSP_PDAC GPU ABM, see paper.md:49):

  • CancerVCT namespace wraps everything emitted by codegen (ODE_system, QSPParam) and everything in qsp_sim_core (TrajectoryWriter, EvolveOpts, evolve_to_diagnosis, etc.). The name no longer describes the package — qsp-codegen is a generic SBML→C++ codegen and runtime, not a cancer-VCT framework.
  • PDAC-specific references in code comments (e.g. cpp/src/CVODEBase.cpp:264, cpp/include/qsp_sim_core/model_hooks.h:6, the new trajectory_writer.h/qsp_sim_main.cpp comments pointing at `pdac-build/evolve_to_diagnosis`). These are legitimate "example consumer" context but should be reviewed for whether they belong in a generic runtime header or should be reframed as "e.g. an oncology model that tracks tumor diameter".

Why this isn't a one-line rename

The namespace name is emitted into every generated file (`src/qsp_codegen/codegen.py` lines 1233, 1276, 1302, 1313, 1398, 1414, 2122, 2132, 2139, 2160, 2175, 2217). Downstream consumers (pdac-build and any others) have:

  1. Generated headers that declare `namespace CancerVCT { class ODE_system ... }`.
  2. Hand-written C++ (e.g. `pdac-build/cpp/sim/evolve_to_diagnosis.cpp`) that uses `CancerVCT::` symbols.
  3. Possibly Python bindings that reference the mangled symbol names.

A rename has to be a coordinated cutover across qsp-codegen + every consumer in the same release.

Proposal

  1. Pick a new namespace name (candidates: `qsp_sim_core`, `qsp`, `qspcodegen`).
  2. Update both the codegen string emitters and the hand-written runtime headers.
  3. Coordinate the pdac-build cutover (re-codegen + sed pass over hand-written consumer code) in the same PR window.
  4. Reframe PDAC-specific comments in generic headers to be model-agnostic where they're not actually example-driven documentation.

Out of scope

  • Paper mentions of SPQSP_PDAC are intentional origin context (paper.md:49) — leave those.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions