@@ -14,6 +14,32 @@ approximate predicate behavior, porting the same predicate surface to
1414` hyperreal ` becomes a backend upgrade instead of a simultaneous semantic and API
1515rewrite.
1616
17+ ## Branch and commit discipline during the port
18+
19+ Porting work should happen on a branch named ` hyperreal ` in each repository
20+ touched by the migration. This applies especially to:
21+
22+ - ` csgrs `
23+ - ` spade `
24+ - ` boolmesh `
25+ - ` curvo `
26+ - ` voxelis `
27+
28+ The default branches should be treated as integration targets, not active
29+ porting branches. Before changing a repository for the port, switch that
30+ repository to its ` hyperreal ` branch or create it from the appropriate upstream
31+ base if it does not exist yet.
32+
33+ During the porting period, each successful change should be verified, committed,
34+ and pushed automatically to that repository's ` hyperreal ` branch before moving
35+ on to the next independent change. Cross-repo work should be split into
36+ repository-local commits so ` csgrs ` , ` spade ` , ` boolmesh ` , ` curvo ` , and ` voxelis `
37+ each retain a reviewable history of the port.
38+
39+ After every successful commit and push, take another implementation turn against
40+ the next incomplete item in this plan. Continue that cycle until the plan is
41+ finished, tests expose a blocker, or a design decision requires human review.
42+
1743## Target ownership model
1844
1945The stack should have clear vertical responsibilities:
@@ -228,6 +254,12 @@ new stack:
228254- ` nalgebra::Matrix4<Real> ` to the chosen ` hyperlattice ` transform type once
229255 that API is stable enough
230256
257+ External geometry kernels should be handled on their own ` hyperreal ` branches.
258+ In particular, ` spade ` , ` boolmesh ` , ` curvo ` , and ` voxelis ` should not receive
259+ long-running uncommitted local patches during the ` csgrs ` migration. A verified
260+ change in one of those libraries should be committed and pushed to that
261+ library's ` hyperreal ` branch before ` csgrs ` is updated to depend on it.
262+
231263Keep these adapters private at first. The first milestone is internal
232264correctness, not public API churn.
233265
@@ -324,6 +356,13 @@ After internals are stable:
324356
325357## Design rules during the port
326358
359+ - Work on the ` hyperreal ` branch of each affected repository, especially
360+ ` csgrs ` , ` spade ` , ` boolmesh ` , ` curvo ` , and ` voxelis ` .
361+ - Commit and push each verified successful change to that repository's
362+ ` hyperreal ` branch before starting the next independent change.
363+ - After each successful commit and push, take another implementation turn on the
364+ next unfinished porting-plan item, continuing until the plan is complete or a
365+ blocker requires review.
327366- Lower crates provide facts; ` csgrs ` makes modeling decisions.
328367- Predicate uncertainty should be represented explicitly until ` csgrs ` decides
329368 how to handle it.
0 commit comments