For example, if I have 100 assets and would like to give 10 of them to Alice and 90 of them to Bob, the fact that I can divide the asset like that is a part of schema structure.
There also can be other rights: indivisible as in case with non-fungible assets, identity or a right to inflate: I can’t divide it and the schema must clearly say that this right is indivisible.
For example, when you have an initial state and the final state, simplicity script can run arbitrary complex logic to validate that the state change is correct. In case of an asset we are not just adding the sum of inputs and outputs, because we use confidential amounts, we are using zk proof constructed out of homomorphic sum of inputs and outputs and that is basically being done by the simplicity script. Also, if you want you can create an asset that would be deflationary, you can restrict the rules of the state transition validation to the fact that the sum of outputs must be 10% lower than the sum of inputs (and this is also defined by simplicity script as a part of a schema.
For example, you have 2 different types of rights under smasr contract (inflationary and right to asset). At the level of validation of the history you are unable to take into account the information on whether some inflation happened or not (if it had been allowed by the issuer, of course). You can still validate that if the issuer hasn’t allowed the inflation, it did not happen. But if the issuer has allowed the inflation, you cannot see whether it already happened or not, while validating the amount that you received at your disposal. So one state is isolated from another in smart contract. It’s very different from how it works in Ethereum and brings strong security by default.
"Shared state" can be introduced only by the issuer and has to be defined at the level of schema, not at genesis. If the schema doesn’t allow you to share the state between different rights, as an issuer you need to stick to another schema that would allow that.
Amounts in fungible assets are always confidential and the schema can put the requirement that this state must always be confidential the way it does for fungible asset.